nlpir大數據語義智能分析平臺推薦 nlpir大數據語義智能分析平臺( 二 )

注:若未安裝Java則會報如下錯誤 。 因為HanLP 主項目采用 Java 開發 , 所以需要 Java 運行環境 , 請安裝 JDK 。
jpype.jvmfinder.JVMNotFoundException: No JVM shared library file (jvm.dll) found. Try setting up the JAVAHOME environment variable properly.項目Github地址:
https://github.com/hankcs/pyhanlp
2. 分詞實戰
2.1 簡單實例
首先 , 我們通過一個官網的實例直觀認識下HanLP的分詞結果 。
import pyhanlptext = '鐵甲網是中國最大的工程機械交易平臺'words = for term in pyhanlp.HanLP.segment(text): words.append(term.word)print(words) #輸出分詞結果分詞結果如下所示 。
['鐵甲', '網', '是', '中國', '最大', '的', '工程', '機械', '交易', '平臺']2.2 自定義詞典分詞
接著 , 我們通過自定義增加不同領域內的專有名詞的詞典 , 從而進一步優化HanLP的分詞結果 。
【nlpir大數據語義智能分析平臺推薦 nlpir大數據語義智能分析平臺】CustomDictionary.add("鐵甲網") CustomDictionary.insert("工程機械", "nz 1024") CustomDictionary.add("交易平臺", "nz 1024 n 1") print(HanLP.segment(txt))分詞結果如下所示 。
['鐵甲網', '是', '中國', '最大', '的'2.3 優化分詞代碼
最后 , 我們可以利用Python語言的簡約性將代碼優化成如下一行 。
其中 , text 存放的是待分詞的文本;

正則表達式 re.fullmatch(r'[\u4e00-\u9fa5]+',i)
的作用是僅保留漢字 , 過濾掉非漢字之外的字符 。
words = [i for i in [i.word for i in pyhanlp.HanLP.segment(text)] if re.fullmatch(r'[\u4e00-\u9fa5]+',i)]當然了 , HanLP作為開源框架 , 并不是只有分詞這一個功能 , 還提供了很多在分詞之上的算法 , 如關鍵詞提取、自動摘要、依存句法分析、情感分析等 , 這里不再贅述 。

推薦閱讀