Java新詞發現演算法碼源之使用

2021-08-15 04:47:31 字數 995 閱讀 9511

最近在學中文分詞。

像是什麼樸素貝葉斯,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...