赞
踩
在自然语言分析中,机器需要模拟理解语言。为了实现这一点,自然语言处理过程中必须在一定程度上能够了解自然语言的规则。首先需要理解的是词,特别是每一个词的性质,判断它是一个名词还是一个形容词?如果它是一个动词的屈折形式,那么它的不定形式是什么,以及该屈折形式使用了什么对应的时态、人称和数?这个任务被称为词性标注。
词性标注的目标是用一个单独的标签标记每一个词,该标签表示了用法和其句法作用,比如名词、动词、形容词等。词性标注的正确与否将会直接影响到后续的句法分析、语义分析,它是中文信息处理的基础性课题之一。
常用的词性标注模型有 N 元模型、隐马尔可夫模型、最大熵模型、基于决策树的模型等。其中,隐马尔可夫模型是应用较广泛且效果较好的模型之一。
词性标注需要有一定的标注规范,如将词分为名词、形容词、动词,然后用 n 、 adj 、 v 等来进行表示。中文领域中尚无统一的标注标准,较为主流的主要为北大的词性标注集和宾州词性标注集两大类。两类标注方式各有千秋,一般我们任选一种。如图下表所示,即为目前常用的词性标注规范表。
标记 | 词性 | 说明 |
---|---|---|
ag | 形语素 | 形容词性语素。形容词代码为 a ,语素代码 g 前面置以 a |
a | 形容词 | 取英语形容词 adjective 的第1个字母 |
ad | 副形词 | 直接作状语的形容词。形容词代码 a 和副词代码 d 并在一起 |
b | 区别词 | 取汉字“别”的声母 |
z | 状态词 | 取汉字“状”的前一个字母 |
v | 动词 | 取英语动词 verb 的第一个字母 |
类似 Jieba 分词的分词流程, Jieba 的词性标注同样是结合规则和统计的方式,具体为在词性标注的过程中词典匹配和 HMM 共同作用。
词性标注流程如下:
示例:
import jieba.posseg as pseg
words = pseg.cut("我爱北京天安门") # 进行分词
for word, flag in words:
print('%s %s' % (word, flag))
对应输出为:
我 r
爱 v
北京 ns
天安门 ns
测试输入:
还有什么是比jieba更好的中文分词工具呢?
预期输出:
还有/v 什么/r 是/v 比/p jieba/eng 更好/d 的/uj 中文/nz 分词/n 工具/n 呢/y ?/x
import jieba.posseg as psg
text=input()
#任务:使用jieba模块的函数对text完成词性标注并将结果存储到result变量中
words = list(psg.cut(text))
result = ''
for word, flag in words:
result += word + '/' + flag + ' '
print(result)
赞
踩
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。