最近在學中文分詞。
像是什麼樸素貝葉斯,hmm, n_gram方法之類的,重要的還有發現新詞。
發現新詞用到了github上的sing1ee
/dict_build,講解在:
自動構建中文詞庫:
挺有意思的。
**在github上,位址為:
在idea上開啟後,builder方法不行;改到main方法,更改後才行;注意,.csv或者.txt檔案需要utf-8格式
main**如下,用到的需要改測試檔案位址,結果在同一測試目錄的words.data檔案中,
注意,有的文件是沒有新詞的:
public static void main(string args)
//// string rawpath = null;
// if (args.length > 0)
string left = null;
string right = null;
string entropyfile = null;
fastbuilder builder = new fastbuilder();
string rawpath = builder.parse("c:\\users\\desktop\\dia\\book3\\我的貼身校花57m57176.txt");
if (null == right)
right = builder.genfreqright(rawpath, 6, 10 * 1024);
if (null == left)
left = builder.genleft(rawpath, 6, 10 * 1024);
if (null == entropyfile)
entropyfile = builder.mergeentropy(right, left);
builder.extractwords(right, entropyfile);
}}
關聯規則發現和新詞發現
關聯規則發現常常用在購物籃分析中。假設a和b同時被買的頻率很高 支援度 買a的人同時買b的可能性也很高 置信度 則可以形成一條規則 a b。表示買a的人也會買b。對於自然語言處理來說,分詞非常關鍵,而分詞都要依賴詞庫。新詞每天都在產生,如果詞庫中不包含某乙個新詞,則這個詞就不會被分出來,所以自動發現...
新詞發現方法資料
新詞發現與詞的切分差不多是同一回事 1.資訊熵 最常用2.基於切分的新詞發現 相比1計算量要小,可能引數選取需要根據文字資料量來調整 3.遺忘演算法 可能是計算量最小的演算法了,效果有待驗證 特點 無監督學習 o n 級時間複雜度 訓練 執行為同一過程,可無縫處理流式資料 未登入詞 新詞 登入詞沒有...
社群發現演算法
簡單的lp演算法如下 執行傳播 f pf 重置f中labeled樣本的標籤 fl yl 重複步驟1和2直到f收斂 ps 步驟1就是將矩陣p和矩陣f相乘,這一步,每個節點都將自己的label以p確定的概率傳播給其他節點。如果兩個節點越相似 在歐式空間中距離越近 那麼對方的label就越容易被自己的la...