自然语言处理学习7:jieba中文关键词提取和词性标注

1. 关键词提取: jieba.analyse.extrags()

其中参数sentence 为待提取的文本,topK 为返回几个 TF/IDF 权重最大的关键词,默认值为 20,withWeight 为是否一并返回关键词权重值,默认值为 False。 allowPOS 仅包括指定词性的词,默认值为空,即不筛选。

import jieba
import jieba.analyse
import nltk
paragraph = "生活对我们任何人来说都不容易。 我们必须努力,最重要的是我们必须相信自己。 \
我们必须相信,我们每个人都能够做得很好,而且,当我们发现这是什么时,我们必须努力工作,直到我们成功。"
words_list = jieba.lcut(paragraph)
print(jieba.analyse.extract_tags(paragraph,topK=5))
['我们', '必须', '努力', '相信', '任何人']

可以看出,提取关键词时是不考虑标点符号的;”都“和”对“这种词也不考虑。

import operator
sorted(dict(nltk.FreqDist(words_list)).items(),key=operator.itemgetter(1),reverse=True)
[('我们', 8),
 (',', 6),
 ('必须', 4),
 ('。', 3),
 ('都', 2),
 (' ', 2),
 ('努力', 2),
 ('相信', 2),
 ('生活', 1),
 ('对', 1),
 ('任何人', 1),
 ('来说', 1),
   ......]

2. 词性标注:jieba.posseg.cut(), 返回一个迭代器

import jieba.posseg as pseg
words = pseg.cut(paragraph)
words
<generator object cut at 0x000001CF7CB1F360>

注:具体的中文词性类型及对应符号可参考博文https://blog.csdn.net/zhuzuwei/article/details/79029904

for word, flag in words:
    print('%s, %s' % (word, flag))
生活, vn
对, p
我们, r
任何人, r
来说, u
都, d
不, d
容易, a
。, x
我们, r
必须, d
努力, ad
......



猜你喜欢

转载自blog.csdn.net/zhuzuwei/article/details/80501012
今日推荐