目前分詞的難點
(1)分詞規范:公說公有理婆說婆有理
(2)歧義切分:歧義本身就是一個問題,暫時沒有得到解決
(3)未登錄詞:語言是一個神奇的事情,總會有創意的人想出創意的詞來表達特定的含義,而且這這個游戲樂此不疲,所以這個問題會一直都存在
接下來將python可能調用的分詞包進行了匯總了(參照網址:https://mp.weixin.qq.com/s/-iH8QiAbpyOV-692XC5Nzw 分詞那些事)
1、jieba分詞
安裝:
(1)一般安裝,可能時間比較長:pip install jieba
(2)配源進行安裝,時間會減少很多
import jieba# 全模式
result = jieba.cut("我愿做你的擺渡人,即使只能送你靠岸", cut_all=True)
print(" ".join(result))# 精確模式
result = jieba.cut("我愿做你的擺渡人,即使只能送你靠岸!", cut_all=False)
print(" ".join(result))# 搜索引擎模式
result = jieba.cut_for_search("我愿做你的擺渡人,即使只能送你靠岸!")
print(" ".join(result))'''
我 愿 做 你 的 擺渡 擺渡人 即使 只能 送 你 靠岸
我愿 做 你 的 擺渡人 , 即使 只能 送 你 靠岸 !
我愿 做 你 的 擺渡 擺渡人 , 即使 只能 送 你 靠岸 !
'''
2、pynlpir分詞
安裝:同樣有2種方式
pip install pynlpir
pip install pynlpir -i https://pypi.tuna.tsinghua.edu.cn/simple
import pynlpir
# 打開分詞器
pynlpir.open()
# 分詞:這個工具會同時進行詞性標注
s = "我愿做你的擺渡人,即使只能送你靠岸!"
result = pynlpir.segment(s)
print(result)'''
輸出:
[('我', 'pronoun'), ('愿', 'verb'), ('做', 'verb'), ('你', 'pronoun'), ('的', 'particle'), ('擺渡', 'noun'), ('人', 'noun'), (',', 'punctuation mark'), ('即使', 'conjunction'), ('只能', 'verb'), ('送', 'verb'), ('你', 'pronoun'), ('靠岸', 'verb'), ('!', 'punctuation mark')]
'''
3、snownlp分詞
安裝:
pip install snownlp
pip install snownlp ?-i https://pypi.tuna.tsinghua.edu.cn/simple
import snownlp
from snownlp import SnowNLP
result = SnowNLP(u'我愿做你的擺渡人,即使只能送你靠岸!')
print(result.words)'''
輸出:
['我', '愿', '做', '你', '的', '擺渡', '人', ',', '即使', '只', '能', '送', '你', '靠岸', '!']
'''
4、stanfordcorenlp分詞
安裝
pip install stanfordcorenlp
pip install stanfordcorenlp -i https://pypi.tuna.tsinghua.edu.cn/simple
from stanfordcorenlp import StanfordCoreNLPnlp_model = StanfordCoreNLP(r'stanford-corenlp-full-2018-02-27', lang='zh')
# 分詞
s = '我愿做你的擺渡人,即使只能送你靠岸!!'
result = nlp_model.word_tokenize(s)
print(result)
5、thulac分詞
安裝:
pip install thulac
pip install thulac ? ? -i https://pypi.tuna.tsinghua.edu.cn/simple
import thulac
# 默認模式:分詞的同時進行詞性標注
thulac_model = thulac.thulac()
result = thulac_model.cut("我愿做你的擺渡人,即使只能送你靠岸!")
print(result)# 只進行分詞
seg_only_model = thulac.thulac(seg_only=True)
result = seg_only_model.cut("我愿做你的擺渡人,即使只能送你靠岸!")
print(result)'''
輸出:
Model loaded succeed
[['我', 'r'], ['愛', 'v'], ['自然', 'n'], ['語言', 'n'], ['處理', 'v'], ['技術', 'n'], ['!', 'w']]
Model loaded succeed
[['我', ''], ['愿', ''], ['做', ''], ['你', ''], ['的', ''], ['擺渡', ''], ['人', ''], [',', ''], ['即使', ''], ['只能', ''], ['送', ''], ['你', ''], ['靠岸', ''], ['!', '']]
'''
6、pyhanlp分詞
安裝:
pip install pyhanlp
pip install pyhanlp ?-i https://pypi.tuna.tsinghua.edu.cn/simple
from pyhanlp import *s = '我愿做你的擺渡人,即使只能送你靠岸!'
result = HanLP.segment(s)
for each in result:print(each.word)
在運行的時候會出現下面的界面:
?
希望小女子的學習之余的分享能夠幫助同樣在知識路上奔跑的你
“當今時代的文盲就是畢業就停止學習的人”
總結
以上是生活随笔為你收集整理的python调用各个分词包的全部內容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。