中文分词总结
分词类别
分词工具
jieba
Github
:https://github.com/fxsjy/jieba
#jupyter notenbook 安装jieba
!pip install jieba -i https://pypi.douban.com/simple/
#新建测试文本,中文分词.txt
摘要:认为分词是文本自动分类、信息检索、信息过滤、文献自动标引、摘要自动生成等中文信息处理的基础与关键技术之一,中文本身复杂性及语言规则的不确定性,使中文分词技术成为分词技术中的难点。全面归纳中文分词算法、歧义消除、未登录词识别、自动分词系统等硏究,总结出当前中文分词面临的难点与研究热点.
import jieba
def jieba分词(filename,sugges_freq=None):
with open(filename,mode='rb') as text:
textlist = []
if sugges_freq:
jieba.suggest_freq(sugges_freq,True)
for line in text.readlines():
temp_text = jieba.cut(line,use_paddle=True,HMM=False)
textlist.append(' '.join(temp_text))
for sentence in textlist:
print(sentence)
jieba分词('中文分词.txt')
jieba分词('中文分词.txt',sugges_freq=('信息','检索'))#将信息检索分开
jieba分词('中文分词.txt',sugges_freq='研究热点')#将研究热点合并
北京大学PKUse
! pip install pkuseg -i https://pypi.douban.com/simple/
import pkuseg
def 北京大学分词(filename,outputFile='out.txt'):
#使用网络领域模型,不进行词性标注
pkuseg.test(filename,outputFile,model_name='web',postag=False)
北京大学分词('中文分词.txt')
清华大学THULAC
! pip install thulac -i https://pypi.douban.com/simple/
import thulac
def 清华大学分词(text):
thu1 = thulac.thulac() #进行词性标注
text = thu1.cut(text) #对input.txt文件内容进行分词,输出到output.txt
print(text)
text = '摘要:认为分词是文本自动分类、信息检索、信息过滤、文献自动标引、摘要自动生成等中文信息处理的基础与关键技术之一,中文本身复杂性及语言规则的不确定性,使中文分词技术成为分词技术中的难点。全面归纳中文分词算法、歧义消除、未登录词识别、自动分词系统等硏究,总结出当前中文分词面临的难点与研究热点.'
清华大学分词(text)
HanLP
pip install hanlp -i https://pypi.douban.com/simple/
import hanlp
HanLP = hanlp.load(hanlp.pretrained.mtl.CLOSE_TOK_POS_NER_SRL_DEP_SDP_CON_ELECTRA_SMALL_ZH) # 世界最大中文语料库
HanLP(['摘要:认为分词是文本自动分类、信息检索、信息过滤、文献自动标引、摘要自动生成等中文信息处理的基础与关键技术之一,中文本身复杂性及语言规则的不确定性,使中文分词技术成为分词技术中的难点。全面归纳中文分词算法、歧义消除、未登录词识别、自动分词系统等硏究,总结出当前中文分词面临的难点与研究热点.'])
FoolNLTK(Linux 环境下python3)
pip install foolnltk -i https://pypi.douban.com/simple/
#官方示例
import fool
fool.load_userdict(path)
text = ["我在北京天安门看你难受香菇", "我在北京晒太阳你在非洲看雪"]
print(fool.cut(text))
#[['我', '在', '北京', '天安门', '看', '你', '难受', '香菇'],
# ['我', '在', '北京', '晒太阳', '你', '在', '非洲', '看', '雪']]
哈工大LTP
pip install ltp -i https://pypi.douban.com/simple/
from ltp import LTP
ltp = LTP() # 默认加载 Small 模型
seg, hidden = ltp.seg(["摘要:认为分词是文本自动分类、信息检索、信息过滤、文献自动标引、摘要自动生成等中文信息处理的基础与关键技术之一,中文本身复杂性及语言规则的不确定性,使中文分词技术成为分词技术中的难点。全面归纳中文分词算法、歧义消除、未登录词识别、自动分词系统等硏究,总结出当前中文分词面临的难点与研究热点."])
pos = ltp.pos(hidden)
print('---------'*5+'分词结果'+'---------'*5,seg,'---------'*5+'词性'+'---------'*5,pos)
BaiduLac
pip install LAC -i https://pypi.douban.com/simple/
from LAC import LAC
# 装载分词模型
lac = LAC(mode='seg')
# 单个样本输入,输入为Unicode编码的字符串
text = u"摘要:认为分词是文本自动分类、信息检索、信息过滤、文献自动标引、摘要自动生成等中文信息处理的基础与关键技术之一,中文本身复杂性及语言规则的不确定性,使中文分词技术成为分词技术中的难点。全面归纳中文分词算法、歧义消除、未登录词识别、自动分词系统等硏究,总结出当前中文分词面临的难点与研究热点."
seg_result = lac.run(text)
print(seg_result)
# 批量样本输入, 输入为多个句子组成的list,平均速率会更快
texts = [u"花生很好吃呢", u"你要来一粒吗?"]
seg_result = lac.run(texts)
print(seg_result)
pynlpir(中科院分词工具)
需要到官网下载授权证书,分析需要下载NLPIR.urer
,到路径D:\Anaconda\envs\chinese\Lib\site-packages\pynlpir\Data
下替换同名文件夹。
!pip install pynlpir -i https://pypi.douban.com/simple/
print("_____________中科院nlpir___________")
import pynlpir # 引入依赖包
text = "摘要:认为分词是文本自动分类、信息检索、信息过滤、文献自动标引、摘要自动生成等中文信息处理的基础与关键技术之一,中文本身复杂性及语言规则的不确定性,使中文分词技术成为分词技术中的难点。全面归纳中文分词算法、歧义消除、未登录词识别、自动分词系统等硏究,总结出当前中文分词面临的难点与研究热点."
pynlpir.open() # 打开分词器
result = pynlpir.segment(text, pos_tagging=False) # 使用pos_tagging来关闭词性标注
print(result)
#使用结束后释放内存:
pynlpir.close()
参考文献
1 中文分词工具比较_zlhcsm的博客-CSDN博客_中文分词工具[EB/OL]. [2021-10-18]. https://blog.csdn.net/zzzzlei123123123/article/details/104227223.
[2]pkuseg:一个多领域中文分词工具包 (English Version)[M]. LancoPKU, 2021.
3 中文分词理论知识_zlhcsm的博客-CSDN博客[EB/OL]. [2021-10-18]. https://blog.csdn.net/zzzzlei123123123/article/details/104235804.
[4]中文分词综述[EB/OL]. 知乎专栏, [2021-10-20]. https://zhuanlan.zhihu.com/p/67185497.
[5]中文分词原理及工具-云社区-华为云[EB/OL]. [2021-10-20]. https://bbs.huaweicloud.com/blogs/111974.
[6]奉国和, 郑伟. 国内中文自动分词技术研究综述[J]. 图书情报工作, 2011, 55(02): 41–45.
[7]张启宇, 朱玲, 张雅萍. 中文分词算法研究综述[J]. 情报探索, 2008(11): 53–56.
[8]JUNYI S. jieba[M]. 2021.
[9]THULAC:一个高效的中文词法分析工具包[M]. THUNLP, 2021.
[10]THULAC:一个高效的中文词法分析工具包[EB/OL]. [2021-10-20]. http://thulac.thunlp.org/message_v1_1.
[11]HanLP官网[EB/OL]. [2021-10-20]. https://www.hanlp.com/.
[12]HANKCS. HanLP: Han Language Processing[M]. 2021.
[13]WU.ZHENG. FoolNLTK[M]. 2021.
[14]LTP 4[M]. 哈工大社会计算与信息检索研究中心, 2021.
[15]Stanford CoreNLP[M]. Stanford NLP, 2021.
[16]baidu/lac[M]. Baidu, 2021.
[17]pynlp报错:pynlpir.LicenseError: Your license appears to have expired. Try running 《pynlpir update》解决办法。 - 温良Miner - 博客园[EB/OL]. [2021-10-20]. https://www.cnblogs.com/miners/p/10108964.html.
[18]NLPIR-team/NLPIR[M]. NLPIR-team, 2021.