龙空技术网

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

AI小白入门 56

前言:

此刻咱们对“对于词性标注的主要方法包括哪些”大概比较关切,兄弟们都想要知道一些“对于词性标注的主要方法包括哪些”的相关资讯。那么小编也在网络上网罗了一些对于“对于词性标注的主要方法包括哪些””的相关资讯,希望同学们能喜欢,朋友们一起来了解一下吧!

一些常用python工具包的词性标注demo,供小白入门练手找感觉~~jieba词性标注(part of specch)

安装:pip install jieba

国内源安装更快:pip install jieba -i

先导包:jieba.posseg.dt 为默认词性标注分词器

标注句子分词后每个词的词性,采用和 ictclas 兼容的标记法。

jieba貌似不能处理英文,后面会介绍处理英文的

import jieba.posseg as psegwords = pseg.cut("我爱自然语言处理技术!")for word, pos in words: print(word, pos)我 r爱 v自然语言 l处理 v技术 n! x
SnowNLP词性标注

安装:pip install snownlp

国内源安装:pip install snownlp -i

使用snownlp进行词性标注

from snownlp import SnowNLPmodel = 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

使用thulac进行词性标注

import thulacthulac_model = thulac.thulac()wordseg = thulac_model.cut("我爱自然语言处理技术!")print(wordseg)Model loaded succeed[['我', 'r'], ['爱', 'v'], ['自然', 'n'], ['语言', 'n'], ['处理', 'v'], ['技术', 'n'], ['!', 'w']]
Stanford CoreNLP分词

安装:pip install stanfordcorenlp

国内源安装:pip install stanfordcorenlp -i

使用stanfordcorenlp进行词性标注

同时支持英文和中文的词性标注

from stanfordcorenlp import StanfordCoreNLPzh_model = StanfordCoreNLP(r'stanford-corenlp-full-2018-02-27', lang='zh')s_zh = '我爱自然语言处理技术!'word_pos_zh = zh_model.pos_tag(s_zh)print(word_pos_zh)[('我爱', 'NN'), ('自然', 'AD'), ('语言', 'NN'), ('处理', 'VV'), ('技术', 'NN'), ('!', 'PU')]eng_model = StanfordCoreNLP(r'stanford-corenlp-full-2018-02-27')s_eng = 'I love natural language processing technology!'word_pos_eng = eng_model.pos_tag(s_eng)print(word_pos_eng)[('I', 'PRP'), ('love', 'VBP'), ('natural', 'JJ'), ('language', 'NN'), ('processing', 'NN'), ('technology', 'NN'), ('!', '.')]
Hanlp词性标注

安装:pip install pyhanlp

国内源安装:pip install pyhanlp -i

使用pyhanlp进行词性标注

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

nltk只能处理英文

import nltks = '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

下载不了模型,需要python -m spacy download en。

The easiest solution is to re-run the command as admin(意思是用用户管理权限打开CMD下载即可)

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 94love VERB 99natural ADJ 83language NOUN 91processing NOUN 91technology NOUN 91! PUNCT 96

另外,代码我已经上传github:

更多个人笔记请关注:

公众号:StudyForAI(小白人工智能入门学习)

知乎专栏:

标签: #对于词性标注的主要方法包括哪些