当前位置:   article > 正文

python机器学习入门之自然语言处理(NLP)工具Jieba的使用及解析_jieba库 机器学习

jieba库 机器学习

自然语言处理(NLP) 是指用算法对人类口头表达或书面提供的自然语言信息进行处理的技术,自然语言处理属于人工智能和语言学的交叉学科

中文分词工具主要是Jieba。不仅能提供分词,还提供关键词提取和词性标注等功能。以下是Jieba分词的三种模式

1:精确模式 试图将句子最精确的切开 适合文本分析

2:全模式 把句子中所有可以成词的词语都扫描出来 速度非常快 但是不能解决歧义

3:搜索引擎模式 在精确模式的基础上 对长词进行切分 提高召回率 适合用于搜索引擎分词

同时Jieba还支持繁体分词 自定义词典 MIT授权协议等等...

分词效果如下

 代码如下

  1. import jieba.posseg as pseg
  2. import jieba.analyse
  3. list0=jieba.cut('东北林业大学的猫科动物专家判定,这只野生东北虎属于定居虎',cut_all=True)
  4. print('全模式',list(list0))
  5. list1=jieba.cut('东北林业大学的猫科动物专家判定,这只野生东北虎属于定居虎',cut_all=False)
  6. print('精确模式',list(list1))
  7. list2=jieba.cut('东北林业大学的猫科动物专家判定,这只野生东北虎属于定居虎')
  8. print('搜索引擎模式',list(list2))

同样可以使用停用词 对文本进行分词 停用词就是在自然语言处理时可以自动或手动选择忽略的某些字和词

代码如下

  1. import jieba.posseg as pseg
  2. import jieba.analyse
  3. def stopwords(filepath):
  4. f=open(filepath,'r',encoding='utf-8')
  5. txt=f.readlines()
  6. stopwords=[]
  7. for line in txt:
  8. stopwords.append(line.strip())
  9. return stopwords
  10. inputs=open('zhangsan.txt','rb')
  11. stopwords=stopwords('zhangsan.txt')
  12. outstr=''
  13. for line in inputs:
  14. sentence_seged=jieba.cut(line.strip())
  15. for word in sentence_seged:
  16. if word not in stopwords:
  17. if word!='\t':
  18. outstr+=''+word
  19. outstr+=''
  20. print(outstr)

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/花生_TL007/article/detail/344071
推荐阅读
相关标签
  

闽ICP备14008679号