自然言语处理基础技术之词性标注实战

图灵汇官网

常用Python工具包词性标注示例,助力新手快速上手

jieba词性标注

安装:
pip install jieba
使用清华大学镜像源可以加速安装:pip install jieba -i https://pypi.tuna.tsinghua.edu.cn/simple

词性标注方法:
jieba.posseg 是默认的词性标注分词器,能够标注句子中每个词的词性,兼容 ictclas 的标记法。

示例代码: python import jieba.posseg as pseg words = pseg.cut("我爱自然言语处理技术!") for word, pos in words: print(word, pos) 输出: 我 r 爱 v 自然言语 l 处理 v 技术 n ! x

SnowNLP词性标注

安装:
pip install snownlp
使用清华大学镜像源可以加速安装:pip install snownlp -i https://pypi.tuna.tsinghua.edu.cn/simple

词性标注方法:
snownlp 可以实现词性标注功能。

示例代码: python from snownlp import SnowNLP model = SnowNLP(u'我爱自然言语处理技术!') for word, pos in model.tags: print(word, pos) 输出: 我 r 爱 v 自然 n 言语 n 处理 vn 技术 n ! w

THULAC词性标注

安装:
pip install thulac
使用清华大学镜像源可以加速安装:pip install thulac -i https://pypi.tuna.tsinghua.edu.cn/simple

词性标注方法:
thulac 可以实现词性标注功能。

示例代码: python import thulac thulac_model = thulac.thulac() wordseg = thulac_model.cut("我爱自然言语处理技术!") print(wordseg) 输出: [['我', 'r'], ['爱', 'v'], ['自然', 'n'], ['言语', 'n'], ['处理', 'v'], ['技术', 'n'], ['!', 'w']]

Stanford CoreNLP词性标注

安装:
pip install stanfordcorenlp
使用清华大学镜像源可以加速安装:pip install stanfordcorenlp -i https://pypi.tuna.tsinghua.edu.cn/simple

词性标注方法:
stanfordcorenlp 支持中英文的词性标注。

示例代码: ```python from stanfordcorenlp import StanfordCoreNLP zhmodel = StanfordCoreNLP(r'stanford-corenlp-full-2018-02-27', lang='zh') szh = '我爱自然言语处理技术!' wordposzh = zhmodel.postag(szh) print(wordpos_zh)

engmodel = StanfordCoreNLP(r'stanford-corenlp-full-2018-02-27') seng = 'I love natural language processing technology!' wordposeng = engmodel.postag(seng) print(wordpos_eng) **输出:** [('我爱', 'NN'), ('自然', 'AD'), ('言语', 'NN'), ('处理', 'VV'), ('技术', 'NN'), ('!', 'PU')] [('I', 'PRP'), ('love', 'VBP'), ('natural', 'JJ'), ('language', 'NN'), ('processing', 'NN'), ('technology', 'NN'), ('!', '.')] ```

HanLP词性标注

安装:
pip install pyhanlp
使用清华大学镜像源可以加速安装:pip install pyhanlp -i https://pypi.tuna.tsinghua.edu.cn/simple

词性标注方法:
pyhanlp 可以实现词性标注功能。

示例代码: python from pyhanlp import * s = '我爱自然言语处理技术!' word_seg = HanLP.segment(s) for term in word_seg: print(term.word, term.nature) 输出: 我 rr 爱 v 自然言语处理 nz 技术 n ! w

NLTK词性标注

安装:
pip install nltk
使用清华大学镜像源可以加速安装:pip install nltk -i https://pypi.tuna.tsinghua.edu.cn/simple

词性标注方法:
nltk 只能处理英文文本。

示例代码: python import nltk s = 'I love natural language processing technology!' s = nltk.word_tokenize(s) s_pos = nltk.pos_tag(s) print(s_pos) 输出: [('I', 'PRP'), ('love', 'VBP'), ('natural', 'JJ'), ('language', 'NN'), ('processing', 'NN'), ('technology', 'NN'), ('!', '.')]

spaCy词性标注

安装:
pip install spacy
使用清华大学镜像源可以加速安装:pip install spacy -i https://pypi.tuna.tsinghua.edu.cn/simple

词性标注方法:
spacy 可以实现词性标注功能,并且支持多种语言。

示例代码: python import spacy eng_model = spacy.load('en') s = 'I love natural language processing technology!' s_token = eng_model(s) for token in s_token: print(token, token.pos_, token.pos) 输出: I PRON 94 love VERB 99 natural ADJ 83 language NOUN 91 processing NOUN 91 technology NOUN 91 ! PUNCT 96

更多学习资源和笔记,请关注以下平台: - 公众号:StudyForAI(小白人工智能入门学习) - 知乎专栏:https://www.zhihu.com/people/yuquanle/columns

本文来源: 图灵汇 文章作者: 瞿静雯