hadoop小學生
圣騎士
圣騎士
  • 注冊日期2018-09-13
  • 發帖數145
  • QQ3234520070
  • 火幣325枚
  • 粉絲0
  • 關注0
閱讀:18466回復:0

自然語言處理工具pyhanlp分詞與詞性標注

樓主#
更多 發布于:2019-05-18 10:28
pyhanlp分詞與詞性標注的相關內容記得此前是有分享過的。可能時間太久記不太清楚了。以下文章是分享自“baiziyu”所寫(小部分內容有修改),供大家學習參考之用。

簡介
pyhanlp是HanLP的python接口。因此后續所有關于pyhanlp的文章中也會寫成HanLP。HanLP是完全用java自實現的自然語言處理工具包。特點是完全用Java實現不引入第三方工具包。完全開源。中文的開源工具能做到這么完整的大概只有HanLP。包括了詞法分析、句法分析、分類、聚類、關鍵詞抽取等常見NLP應用任務。并且github上問題回答快,作者很是認真的解決大家提出的問題。雖然用Java實現,HanLP也提供了Python接口。

簡單的安裝過程,請先確保安裝了anaconda3
# 安裝命令
$ pip install pyhanlp
# 更新到最新代碼包和數據包
$ hanlp update
分詞與詞性標注

圖片:圖1.JPG


示例

In [1]: from pyhanlp import *
In [5]: print(HanLP.segment("你好,歡迎使用HanLP漢語處理包!接下來請從其他Demo中
  ...: 體驗HanLP豐富的功能~"))
[你好/vl, ,/w, 歡迎/v, 使用/v, HanLP/nx, 漢語/gi, 處理/vn, 包/v, !/w, 接下來/vl, 請/v, 從/p, 其他/rzv, Demo/nx, 中/f, 體驗/v, HanLP/nx, 豐富/a, 的/ude1, 功能/n, ~/nx]
In [11]: for word in word_li:
   ...:     print(word.word, word.nature)
   ...:    
你好 vl
w
歡迎 v
使用 v
HanLP nx
漢語 gi
處理 vn
v
w
接下來 vl
v
p
其他 rzv
Demo nx
f
體驗 v
HanLP nx
豐富 a
ude1
功能 n
~ nx
關于HanLP.segment的說明。內存要求:120MB以上,標準數據包(35萬核心詞庫+默認用戶詞典)。HanLP對詞典的數據結構進行了長期的優化,哪怕HanLP的詞典上百兆也無需擔心。HanLP.segment是一個工廠函數,它是對StandardTokenizer的封裝。當前StandardTokenizer使用的是viterbi最短路分詞。viterbi分詞器是目前效率和效果的最佳平衡。該函數的詳細代碼在github.com/hankcs/HanLP/blob/master/src/main/java/com/hankcs/hanlp/seg/Viterbi/ViterbiSegment.java。分詞大致功能有:首先生成詞網和詞圖即可以得到粗分詞網,經維特比算法找最短路徑和人工干預分詞后即可得到粗分結果。之后根據配置可以進行數字識別,人名識別,譯名識別,地名識別,機構名識別,如果是索引分詞則進行全切分分詞,詞性標注。

HanLP的com.hankcs.hanlp.tokenizer包中封裝了很多開箱即用的分詞器,但是不是所有的分詞器都能在Python接口中直接使用。這些分詞器有BasicTokenizer這是NGram分詞器,不識別命名實體,不能使用用戶詞典。SpeedTokenizer這是最長匹配分詞器。NotionalTokenizer這是實詞分詞器。StandardTokenizer當前效率和效果最佳的分詞器。NLPTokenizer更精確的中文分詞器。IndexTokenizer適用于信息檢索的分詞器。
后續將要介紹的內容是文本的向量表示,這里邊有一部分內容是跟特征抽取重合的。好了,今天的內容就到這里

喜歡0 評分0
DKHadoop用著還不錯!
游客

返回頂部
广东体彩26选5