Pyhanlp自然語言處理中的新詞識別

2021-09-10 23:12:27 字數 2003 閱讀 8402

新詞發現

本「新詞發現」模組基於資訊熵和互資訊兩種演算法,可以在無語料的情況下提取一段長文字中的詞語,並支援過濾掉系統中已存在的「舊詞」,得到新詞列表。

呼叫方法

靜態方法

一句話靜態呼叫介面已經封裝到hanlp中:

/*** 提取詞語

** @param text 大文字

* @param size 需要提取詞語的數量

* @return 乙個詞語列表

*/public static listextractwords(string text, int size)

/*** 提取詞語

** @param reader 從reader獲取文字

* @param size   需要提取詞語的數量

* @return 乙個詞語列表

*/public static listextractwords(bufferedreader reader, int size) throws ioexception

/*** 提取詞語(新詞發現)

** @param text         大文字

* @param size         需要提取詞語的數量

* @param newwordsonly 是否只提取詞典中沒有的詞語

* @return 乙個詞語列表

*/public static listextractwords(string text, int size, boolean newwordsonly)

/*** 提取詞語(新詞發現)

** @param reader       從reader獲取文字

* @param size         需要提取詞語的數量

* @param newwordsonly 是否只提取詞典中沒有的詞語

* @return 乙個詞語列表

*/public static listextractwords(bufferedreader reader, int size, boolean newwordsonly) throws ioexception

呼叫示例請參考com.hankcs.demo.demonewworddiscover。 值得注意的是,在計算資源允許的情況下,文字越長,結果質量越高。對於一些零散的文章,應當合併為整個大檔案傳入該演算法。

高階引數

根據語料的長度或用詞的不同,預設的引數有可能不能得到最佳的結果。我們可以通過構造不同的newworddiscover調整提取演算法。該建構函式如下:

/*** 構造乙個新詞識別工具

* @param max_word_len 詞語最長長度

* @param min_freq 詞語最低頻率

* @param min_entropy 詞語最低熵

* @param min_aggregation 詞語最低互資訊

* @param filter 是否過濾掉hanlp中的詞庫中已存在的詞語

*/public newworddiscover(int max_word_len, float min_freq, float min_entropy, float min_aggregation, boolean filter)

其中

· max_word_len控制識別結果中最長的詞語長度,預設值是4;該值越大,運算量越大,結果**現短語的數量也會越多。

· min_freq控制結果中詞語的最低頻率,低於該頻率的將會被過濾掉,減少一些運算量。由於結果是按照頻率排序的,所以該引數其實意義不大。

· min_entropy控制結果中詞語的最低資訊熵的值,一般取0.5左右。該值越大,越短的詞語就越容易被提取出來。

· min_aggregation控制結果中詞語的最低互資訊值,一般取50到200.該值越大,越長的詞語就越容易被提取出來,有時候會出現一些短語。

· filter設為true的時候將使用內部詞庫過濾掉「舊詞」。

Pyhanlp自然語言處理中的新詞識別

新詞發現 本 新詞發現 模組基於資訊熵和互資訊兩種演算法,可以在無語料的情況下提取一段長文字中的詞語,並支援過濾掉系統中已存在的 舊詞 得到新詞列表。呼叫方法 靜態方法 一句話靜態呼叫介面已經封裝到 hanlp中 提取詞語 param text 大文字 param size 需要提取詞語的數量 re...

Pyhanlp自然語言處理中的新詞識別

新詞發現 本 新詞發現 模組基於資訊熵和互資訊兩種演算法,可以在無語料的情況下提取一段長文字中的詞語,並支援過濾掉系統中已存在的 舊詞 得到新詞列表。呼叫方法 靜態方法 一句話靜態呼叫介面已經封裝到 hanlp中 提取詞語 param text 大文字 param size 需要提取詞語的數量 re...

自然語言處理

自然語言處理主要步驟包括 2.詞法分析 對於英文,有詞頭 詞根 詞尾的拆分,名詞 動詞 形容詞 副詞 介詞的定性,多種詞意的選擇。比如diamond,有菱形 棒球場 鑽石3個含義,要根據應用選擇正確的意思。3.語法分析 通過語法樹或其他演算法,分析主語 謂語 賓語 定語 狀語 補語等句子元素。4.語...