NLP修煉之旅(Day3)

2021-09-17 23:19:37 字數 1154 閱讀 8933

分詞的概念

中文和英文不同,英文中句子天然已經分割為單詞,但是中文中字與字之間緊緊連在一起,需要進行分詞,分詞演算法有:基於字串匹配演算法、基於理解的演算法、基於統計的演算法

詞、字元頻率統計

可以使用python中的collection.counter模組

unigram、bigram和trigram的概念

n-gram是一種基於統計語言模型的演算法,它的思想是將文字裡面的內容按照指定的單元進行大小為n的滑動視窗操作,每次取得長度為n的序列,直到滑窗結束

unigram和bigram頻率統計

unigram等同於詞頻統計,bigram頻率統計只需要取n-gram,然後傳入到counter()中即可

分詞分詞工具採用結巴中文分詞,涉及到的演算法:

結巴中文分詞支援的三種分詞模式包括:

去停用詞,構建詞表

#去停用詞

lists=

count =0

for i in x_train_data:

word_list=[word for word in jieba.cut(i) if word not in stopwords]

#取前100條資料加快處理

data = lists[:100]

#統計詞表出現次數

wordlist ={}

for i in data:

for j in wordlist:

wordlist[j] +=1

else:

wordlist[j] =1

#建立詞表

count=0

dic ={}

for i,j in wordlist.items():

if j>2:

dic[i]=count

count+=1

# 反向詞表

resdic={}

for i,j in dic.items():

resdic[j]=i

每篇文件向量化

unk=0

for i in range(len(data)):

data [i] =[dic[j] if j in dic

else unk for j in data[i]

阿環的PYTHON之旅 DAY 3

眾所周知,day 3要間隔兩三天才會繼續學 苦笑 摸魚一時爽,一直摸魚一直爽 定義的add函式作用是對輸入的引數進行加法運算,比如輸入add 1,2 輸出結果就是3 1 2 注意區分for val in args 和 for val in range args 的區別!前者是val 在args中取值...

日積月累 day3

sector 扇區,段 分段 vertically 豎直地,直立地 horizonally 水平地backspace 退格,回退 terminate 端接,終止 drag 拖,拉,牽,拽 formatted 有格式的 underscore 在.下面劃線 initially 最初,開頭 reforma...

QT程式設計 day3

當建立乙個專案之後,資料夾裡會有6個檔案。其中有乙個為.pro.user檔案,這個檔案不屬於專案源 的一部分,它是qtcreator專屬的使用者定製專案設定,儲存了這個專案本地化的設定。qtcreator開啟專案時會讀取這個設定檔案,比較該專案裡的檔案配置與當前的專案位置等是否符合,符合就載入配置,...