转载自:http://www.hankcs.com/nlp/part-of-speech-tagging.html
词性标注(Part-of-Speech tagging 或POS tagging),又称词类标注或者简称标注,是指为分词结果中的每个单词标注一个正确的词性的程序,也即确定每个词是名词、动词、形容词或其他词性的过程。在汉语中,词性标注比较简单,因为汉语词汇词性多变的情况比较少见,大多词语只有一个词性,或者出现频次最高的词性远远高于第二位的词性。据说,只需选取最高频词性,即可实现80%准确率的中文词性标注程序。
利用HMM即可实现更高准确率的词性标注,本文旨在介绍HanLP中的词性标注模块。
本文代码已集成到HanLP中开源:http://www.hankcs.com/nlp/hanlp.html
HanLP中使用了一阶隐马模型,在这个隐马尔可夫模型中,隐状态是词性,显状态是单词。
训练语料采用了2014人民日报切分语料:
人民网/nz 1月1日/t 讯/ng 据/p 《/w [纽约/nsf 时报/n]/nz 》/w 报道/v ,/w 美国/nsf 华尔街/nsf 股市/n 在/p 2013年/t 的/ude1 最后/f 一天/mq 继续/v 上涨/vn ,/w 和/cc [全球/n 股市/n]/nz 一样/uyy ,/w 都/d 以/p [最高/a 纪录/n]/nz 或/c 接近/v [最高/a 纪录/n]/nz 结束/v 本/rz 年/qt 的/ude1 交易/vn 。/w 《/w [纽约/nsf 时报/n]/nz 》/w 报道/v 说/v ,/w 标普/nz 500/m 指数/n 今年/t 上升/vi 29.6%/m ,/w 为/p 1997年/t 以来/f 的/ude1 最大/gm 涨幅/n ;/w [道琼斯/ntc 工业/n 平均/a 指数/n]/nz 上升/vi 26.5%/m ,/w 为/p 1996年/t 以来/f 的/ude1 最大/gm 涨幅/n ;/w [纳斯/nrf 达/v 克/q]/nz 上涨/vi 38.3%/m 。/w 就/d 12月31日/t 来说/uls ,/w 由于/p 就业/vn 前景/n 看好/v 和/cc [经济/n 增长/v]/nz 明年/t 可能/v 加速/vn ,/w 消费者/n 信心/n 上升/vi 。/w 工商/n 协进会/nis (/w ConferenceBoard/x )/w 报告/n ,/w 12月/t 消费者/n 信心/n 上升/vi 到/v 78.1/m ,/w 明显/a 高于/v 11月/t 的/ude1 72/m 。/w 另据/nz 《/w [华尔街/nsf 日报/n]/nz 》/w 报道/v ,/w 2013年/t 是/vshi 1995年/t 以来/f [美国/nsf 股市/n]/nz 表现/v 最好/d 的/ude1 一年/mq 。/w 这/rzv 一年/mq 里/f ,/w 投资/v [美国/nsf 股市/n]/nz 的/ude1 明智/a 做法/n 是/vshi 追/v 着/uzhe “/w 傻钱/nz ”/w 跑/v 。/w 所谓/v 的/ude1 “/w 傻钱/nz ”/w 策略/n ,/w 其实/d 就是/v 买入/vn 并/cc 持有/v 美国/nsf 股票/n 这样/rzv 的/ude1 普通/a 组合/vn 。/w 这个/rz 策略/n 要/v 比/p [对冲/vn 基金/n]/nz 和/cc 其它/rz 专业/n 投资者/nnd 使用/v 的/ude1 更为/d 复杂/a 的/ude1 投资/vn 方法/n 效果/n 好/a 得/ude3 多/a 。/w (/w 老/a 任/v )/w统计所有单词的各个词性的出现频次,得到核心词典:
爱 v 3622 vn 598爱因斯坦 nrf 20爱国 a 178爱国主义 n 68飙升 v 200 vn 8顺风 vi 27 vn 2顺风吹火 i 1顺风球 n 1顺风耳 n 4顺风车 nz 126购 v 217 vg 151 vn 106购书 v 7 vn 5购买 v 3875 vn 637购买人 n 7购买力 n 42购买户 n 1购买欲 n 1购买群 n 1购买者 n 93购买证 n 1购入 v 115 vn 18……从词典可以看出,汉语词汇的确词性单一,且存在歧义的词性多集中在“动词v”和“名动词vn”上。另外,我拿到的2014人民日报切分语料感觉没有经过严格的人工校对,许多单词词性单一,且存在不少错误。也许等我有机会(经济实力或学术背景),可以拿更高质量的语料来训练。所幸HanLP同时维护了一个通用的语料处理包,暂且埋下伏笔吧。
统计每个标签的转移频次,得到如下转移矩阵:
事实上,完整的转移矩阵非常大,请下载观看:词性标注 转移矩阵.xls
利用上述转移矩阵和核心词典词频可以计算出HMM中的初始概率、转移概率、发射概率,进而完成求解。关于维特比算法和实现请参考《通用维特比算法的Java实现》。
以“我的爱就是爱自然语言处理”为例:
String text = "我的爱就是爱自然语言处理"; Segment segment = new Segment(); System.out.println("未标注:" + segment.seg(text)); segment.enableSpeechTag(true); System.out.println("标注后:" + segment.seg(text));未标注:[我/rr, 的/ude1, 爱/v, 就是/v, 爱/v, 自然语言/gm, 处理/vn]
标注后:[我/rr, 的/ude1, 爱/vn, 就是/v, 爱/v, 自然语言/gm, 处理/vn]
前后两个“爱”的词性并不相同,前者是名动词,后者是动词。
再比如
未标注:[教授/nnt, 正在/d, 教授/nnt, 自然语言/gm, 处理/vn, 课程/n]
标注后:[教授/nnt, 正在/d, 教授/v, 自然语言/gm, 处理/vn, 课程/n]
HanLP的词性标注初见成效。
HanLP使用的HMM词性标注模型训练自2014年人民日报切分语料,随后增加了少量98年人民日报中独有的词语。所以,HanLP词性标注集兼容《ICTPOS3.0汉语词性标记集》,并且兼容《现代汉语语料库加工规范——词语切分与词性标注》。
HanLP词性标注集a 形容词 ad 副形词 ag 形容词性语素 al 形容词性惯用语 an 名形词 b 区别词 begin 仅用于始##始 bg 区别语素 bl 区别词性惯用语 c 连词 cc 并列连词 d 副词 dg 辄,俱,复之类的副词 dl 连语 e 叹词 end 仅用于终##终 f 方位词 g 学术词汇 gb 生物相关词汇 gbc 生物类别 gc 化学相关词汇 gg 地理地质相关词汇 gi 计算机相关词汇 gm 数学相关词汇 gp 物理相关词汇 h 前缀 i 成语 j 简称略语 k 后缀 l 习用语 m 数词 mg 数语素 Mg 甲乙丙丁之类的数词 mq 数量词 n 名词 nb 生物名 nba 动物名 nbc 动物纲目 nbp 植物名 nf 食品,比如“薯片” ng 名词性语素 nh 医药疾病等健康相关名词 nhd 疾病 nhm 药品 ni 机构相关(不是独立机构名) nic 下属机构 nis 机构后缀 nit 教育相关机构 nl 名词性惯用语 nm 物品名 nmc 化学品名 nn 工作相关名词 nnd 职业 nnt 职务职称 nr 人名 nr1 复姓 nr2 蒙古姓名 nrf 音译人名 nrj 日语人名 ns 地名 nsf 音译地名 nt 机构团体名 ntc 公司名 ntcb 银行 ntcf 工厂 ntch 酒店宾馆 nth 医院 nto 政府机构 nts 中小学 ntu 大学 nx 字母专名 nz 其他专名 o 拟声词 p 介词 pba 介词“把” pbei 介词“被” q 量词 qg 量词语素 qt 时量词 qv 动量词 r 代词 rg 代词性语素 Rg 古汉语代词性语素 rr 人称代词 ry 疑问代词 rys 处所疑问代词 ryt 时间疑问代词 ryv 谓词性疑问代词 rz 指示代词 rzs 处所指示代词 rzt 时间指示代词 rzv 谓词性指示代词 s 处所词 t 时间词 tg 时间词性语素 u 助词 ud 助词 ude1 的 底 ude2 地 ude3 得 udeng 等 等等 云云 udh 的话 ug 过 uguo 过 uj 助词 ul 连词 ule 了 喽 ulian 连 (“连小学生都会”) uls 来讲 来说 而言 说来 usuo 所 uv 连词 uyy 一样 一般 似的 般 uz 着 uzhe 着 uzhi 之 v 动词 vd 副动词 vf 趋向动词 vg 动词性语素 vi 不及物动词(内动词) vl 动词性惯用语 vn 名动词 vshi 动词“是” vx 形式动词 vyou 动词“有” w 标点符号 wb 百分号千分号,全角:% ‰ 半角:% wd 逗号,全角:, 半角:, wf 分号,全角:; 半角: ; wh 单位符号,全角:¥ $ £ ° ℃ 半角:$ wj 句号,全角:。 wky 右括号,全角:) 〕 ] } 》 】 〗 〉 半角: ) ] { > wkz 左括号,全角:( 〔 [ { 《 【 〖 〈 半角:( [ { < wm 冒号,全角:: 半角: : wn 顿号,全角:、 wp 破折号,全角:—— -- ——- 半角:— —- ws 省略号,全角:…… … wt 叹号,全角:! ww 问号,全角:? wyy 右引号,全角:” ’ 』 wyz 左引号,全角:“ ‘ 『 x 字符串 xu 网址URL xx 非语素字 y 语气词(delete yg) yg 语气语素 z 状态词 zg 状态词转载于:https://www.cnblogs.com/c-x-a/p/8511928.html
相关资源:jieba分词词性标注.py