词性标注
实现spaCy训练词性标注模型

实现spaCy训练词性标注模型词性标注是指为输⼊⽂本中的单词标注对应词性的过程。
词性标注的主要作⽤在于预测接下来⼀个词的词性,并为句法分析、信息抽取等⼯作打下基础。
通常地,实现词性标注的算法有HMM(隐马尔科夫)和深度学习(RNN、LSTM等)。
然⽽,在中⽂中,由于汉语是⼀种缺乏词形态变化的语⾔,没有直接判断的依据,且常⽤词兼类现象严重,研究者主观原因造成的不同都给中⽂词性标注带来了很⼤的难点。
本⽂将介绍如何通过Python程序实现词性标注,并运⽤spaCy训练中⽂词性标注模型:1、对训练集⽂本内容进⾏词性标注⾸先,对于给定的训练集数据:利⽤spaCy模块进⾏nlp处理,初始化⼀个标签列表和⽂本字符串,将⽂本分词后⽤“/”号隔开,并储存⽂本的词性标签到标签列表中,代码如下:def train_data(train_path):nlp = spacy.load('zh_core_web_sm')train_list = []for line in open(train_path,"r",encoding="utf8"):train_list.append(line)#print(train_list)result = []train_dict = {}for i in train_list:doc = nlp(i)label = []text = ""#print(doc)for j in doc:text += j.text+"/"#result.append(str(j.text))#print(text)label.append(j.pos_[0])#print(result)train_dict[j.pos_[0]] = {"pos":j.pos_}#print(train_dict)result.append((text[:-1],{'tags':label}))return result,train_dict⼤致会得到如下结果:2、利⽤spaCy训练模型然后,进⾏模型训练:@plac.annotations(lang=("ISO Code of language to use", "option", "l", str),output_dir=("Optional output directory", "option", "o", Path),n_iter=("Number of training iterations", "option", "n", int))def main(lang='zh', output_dir=None, n_iter=25):nlp = spacy.blank(lang) ##创建⼀个空的模型,en表⽰是英⽂的模型tagger = nlp.add_pipe('tagger')# Add the tags. This needs to be done before you start training.for tag, values in train_dict.items():print("tag:",tag)print("values:",values)#tagger.add_label(tag, values)tagger.add_label(tag)#tagger.add_label(values['pos'])#nlp.create_pipe(tagger)print("3:",tagger)#nlp.add_pipe(tagger)optimizer = nlp.begin_training() ##模型初始化for i in range(n_iter):random.shuffle(result) ##打乱列表losses = {}for text, annotations in result:example = Example.from_dict(nlp.make_doc(text), annotations)#nlp.update([text], [annotations], sgd=optimizer, losses=losses)nlp.update([example], sgd=optimizer, losses=losses)print(losses)运⾏结果如下:3、测试集验证模型最后,同样过程处理测试数据:代码如下:test_path = r"E:\1\Study\⼤三下\⾃然语⾔处理\第五章作业\test.txt" test_list = []for line in open(test_path,"r",encoding="utf8"):test_list.append(line)for z in test_list:txt = nlp(z)test_text = ""for word in txt:test_text += word.text+"/"print('test_data:', [(t.text, t.tag_, t.pos_) for t in txt])# save model to output directoryif output_dir is not None:output_dir = Path(output_dir)if not output_dir.exists():output_dir.mkdir()nlp.to_disk(output_dir)print("Saved model to", output_dir)# test the save modelprint("Loading from", output_dir)nlp2 = spacy.load(output_dir)doc = nlp2(test_text)print('Tags', [(t.text, t.tag_, t.pos_) for t in doc])验证结果如下:。
中文词性标注与viterbi算法

中⽂词性标注与viterbi算法⼀、viterbi算法原理及适⽤情况当事件之间具有关联性时,可以通过统计两个以上相关事件同时出现的概率,来确定事件的可能状态。
以中⽂的词性标注为例。
中⽂中,每个词会有多种词性(⽐如"希望"即是名字⼜是动词),给出⼀个句⼦后,我们需要给这个句⼦的每个词确定⼀个唯⼀的词性,实际上也就是在若⼲词性组合中选择⼀个合适的组合。
动词、名词等词类的搭配是具有规律性的,⽐如动词+名词的形式是⼤量存在的,当我们看到句⼦"存在希望",如果确定了"存在"是动词,那么由于动名词组合的概率较⼤,我们就会认定"希望"是名词。
viterbi算法的原理就是基于此。
我们需要计算所有的名词+动词,名词+名词,动词+形容词。
等各种种词性搭配的出现概率,然后从中选出最⼤概率的组合。
⼆、操作步骤1、需要准备⼀个语料库,包含已经正确标注了词性的⼤量语句。
2、对语料库的内容进⾏统计。
需要得到以下数据。
(1)所有可能的词性。
(2)所有出现的词语。
(3)每个词语以不同词性出现的次数。
(4)记录句⾸词为不同词性的次数。
(5)记录句⼦中任⼀两种词性相邻的次数(如遇到:"看电影"这个句⼦,则有[动词][名词]的值加⼀。
3、针对前⾯统计的结果,进⾏分析计算。
需计算以下数据。
(1)计算每类词性作为句⾸出现的⽐例(⽐如:动词为句⾸,占所有不同词性为句⾸中的⽐例),记录到fstart[TYPE_NUM]。
(2)计算后词固定为词性[n]时,前词为词性[x]占总情况的⽐例(如:后词固定为[动词]时,前词[名词]出现的次数占所有[x][动词]的⽐例),记录到fshift[TYPE_NUM][TYPE_NUM];(3)计算每⼀个词作为不同类词性出现的次数,占所有该类词出现总数的⽐例(如:"中国"作为名词出现的次数占所有名词的⽐例),记录到ffashe[TYPE_NUM][60000]4、输⼊句⼦进⾏词性标注输⼊的句⼦中每个词有多个词性。
汉语词典词性标注的基本经验

、
汉语 书 面词 是 形 音 性Fra bibliotek义 的 统一 体
1 .从 音义 结合 到形 音性 义统 一
音 和义是 口语 词 的两 个 要 素 , 而传 统 的汉 字 学认 为 , 字是 形 、
音、 义的统一体 , 、 、 形 音 义是汉字的三要素 。但是 , 汉语语法 的研
究 已经有 了一百 年 的历史 , 们 已经认 识到 , 是汉语 语 音 、 汇 、 人 词 词 语法研 究 的基 本 单 位 , 个 词 还 有 一 个 要 素是 语 法 功 能 即词 性 。 一 按照 全面 标注 词性 的 词典 中的 排 列顺 序 , 面 词有 四个 要 素 : 、 书 形 音 、 、 。因此 , 性 义 准确 地说 , 汉语 书 面词 是形 音性 义 的统 一体 。词 典 全面标 注 词性 , 将把 这个 观 点普及 于一 般群 众 , 功在 千秋 。这恐
统 一体 ; 汉语词典词性标 注的对 象是词 , 非词 单位不能标注词性 ; 单义词或
多义 词 的 义 项 的 语 法 功 能 是 一 个 统 一 体 , 词 性 标 注 要 遵 循 唯 一 性 的 原 其
则; 含有“ 义异性异” 义项的 多义词是 汉语词 兼类 现 象的存 在形 式 ; 词典 在
怕 是汉 语词 典词性 标 注最 重要 的基 本经 验 。 2 .词性 是什 么
词性标 注的实 践说 明 : 语词 的词 性是 其语 法位 置 的总 和 。 汉 在形 态语 言 中 , 个意 义单 纯 的词根 充 当不 同句子 成分 时 , 一 一 般分 化 为几个 词 , 它们 “ 同性 异 ” 义 。例 如 , 汉 语 中 ,很 容 易/ 在 “ 容 易解 决/ 容易 不见得 是 好 事 ” 个说 法 中 ,容 易 ” 同一 个 词 用 了 “ 是 三次 ; 是 , 果用英 语来 表 达 ( 语 的形 态 并不 丰 富 )其 中的“ 但 如 英 , 容 易” 得分 别变 成 es( )esyav/ai s()它们 成 了 三个 就 ay /ai (d )es esn , l n 不 同的词 , 然词根 相 同 , 义一 样 。 由于汉 语 没 有形 态 , 虽 意 不存 在 “ 同性 异 ” 义 的词 , 以西方 著名 语 言学家 洪堡 特等 把汉 语 叫做 “ 所 词 根 语 ”我 国理论 语言 学家 徐通锵 则 称之 为 “ , 语义 型语 言 ” 。 显然 , 我们 不能 用形 态 语 言 的 眼光 来分 析 汉 语 词 的词性 。如 果用 西语 的眼 光来 分 析汉 语 的 “ 易 ”可 能 出现 三种 结 果 : “ 容 , ① 容
词性标注对照表

词性标注对照表形容词a a形容词最/d ⼤/a 的/u true副形词ad ad副形词⼀定/d 能够/v 顺利/ad 实现/v 。
/wtrue形语素Ag ag形语素喜/v 煞/Ag ⼈/n true名形词an an名形词⼈民/n 的/u 根本/a 利益/n 和/c 国家/n 的/u 安稳/an 。
/wtrue区别词b b区别词副/b 书记/n 王/nr 思齐/nrtrue连词c c连词全军/n 和/c 武警/n 先进/a 典型/n 代表/ntrue副词d d副词两侧/f 台柱/n 上/f 分别/d雄踞/v 着/utrue副语素Dg dg副语素⽤/v 不/d 甚/Dg 流利/a的/u 中⽂/nz 主持/v 节⽬/n 。
/wtrue叹词e e叹词嗬/e !/w true⽅位词f f⽅位词从/p ⼀/m ⼤/a 堆/q 档案/n 中/f 发现/v 了/utrue语素g g语素 true前接成分h h前接成分⽬前/t 各种/r ⾮/h 合作制/n 的/u 农产品/ntrue成语i i成语提⾼/v 农民/n 讨价还价/i的/u 能⼒/n 。
/wtrue简略语j j简称略语民主/ad 选举/v 村委会/j的/u ⼯作/vnTRUE后接成分k k后接成分权责/n 明确/a 的/u 逐级/d 授权/v 制/ktrue习⽤语l l习⽤语是/v 建⽴/v 社会主义/n市场经济/n 体制/n 的/u重要/a 组成部分/l 。
/wtrue数词m m数词科学技术/n 是/v 第⼀/m⽣产⼒/ntrue名词n n名词希望/v 双⽅/n 在/p 市政/n 规划/vntrue名语素ng ng名语素就此/d 分析/v 时/Ng 认为/vtrue⼈名nr nr⼈名建设部/nt 部长/n 侯/nr捷/nrtrue地名ns ns地名北京/ns 经济/n 运⾏/vn态势/n 喜⼈/atrue机构团体nt nt机构团体[冶⾦/n ⼯业部/n 洛阳/ns耐⽕材料/l 研究院/n]nttrue外⽂字符nx nx字母专名ATM/nx 交换机/n TRUE 其他专名nz nz其他专名德⼠古/nz 公司/n true拟声词o o拟声词汩汩/o 地/u 流/v 出来/v true介词p p介词往/p 基层/n 跑/v 。
词典词性标注的单位问题

业 务 囡 个 人 的 或 某 个机 构 的 专 业 工 作 。
业 余教 育 为 提 高 工 人 、 民 、 部 等 的 政 治 、 化 和科 学 、 术 水 农 于 文 技
平 , 业 余 时 问 进 行 的教 育 。 在
( 现汉 》 《 )
些 问题 , 以期引起语 法研 究者 和词典 编纂者 的注 意 , 进一 步完善 词
性标 注工作 。 、
4 辞 书研 究 2 0 年 第 3期 O 09
一
、
词 性标 注 的单 位
《 现汉 》 规范 》 和《 标注 词性 都采 用 随义 项标 注 的办 法 , 标 注 但
的具 体单位并 不 致 。《 现汉 》 凡例规 定 ,在 区分词 和非词 的基础 “ 上 给单 字条 目、 多字 条 目标 注词类” “ ,单字条 目在现代 汉语 中成词 的标 注词类 , 不成词 的语 素和非语 素字不做 任何标 注” “ 字条 目 ,多 除词 组 、 成语 和其他 熟语等 不做任何 标注外 , 一律标 注词类 ” 现 。《 汉》 以词 为标 注单 位 , 的词 性标 签 首先 指示 该单 位 是词 , 后再 它 然
初 步 比较 了 上 述 两 部 词 典 的 词 性 标 注 的 单 位 问
题, 兼及 语 素 、 和 短 语 的 界 定 原 则 和 标 注 方法 , 词
以此 揭 示 这 两 部词 典 在 词 性 标 注 上 存 在 的 一 些 问
题, 以期 引起 语 法研 究 者和 词 典 编 纂 者 的 注 意 , 进
《 规范 》 的标注 方法可 以看 作是 广 义 的词性 标 注 , 它虽 然 有扩 展知识 的作用 , 但缺 陷也 比较 明显 。 首先 , 词典为语 素标 注 词 性 , 消 了语 素和 词 之 间 的层 级 关 取
CTB 词性标注中文版翻译

CTB词性标注指南第一章引言中文几乎没有屈折语素。
譬如,词语不随时态、格、人称和数量而曲折变化。
因此,对特定文本中的词进行词性标注往往都很困难。
这个文件是专为宾州中文树库项目[XPS+00]所设计的。
这个项目的目标是构建一个十万词的有语法托架的中文官话文本语料库。
标注包括两个步骤:第一阶段是中文分词和词性标注,第二阶段是句法托架。
每个步骤包括至少两个经过,即数据库由一个标注者标注,结果文件由另一个标注者检查。
词性标注指南,就如分词指南和托架指南,在项目进行过程中已经修订了多次。
到目前为止,我们已经在我们的网站上发行了三个版本:第一部草作完成于1998年12月,在第一个中文分词和词性标注文件发行后;第二部草作完成于1999年3月,在第二个中文分词和词性标注文件发行后;这个文件,是第三部草作,修订于第二个托架文件发行后。
在这个第三部草作中,与前两部草作相比,主要改变在于:(1)我们增加了一章引言来解释指南中存在的一些基本原理;(2)我们增加了对中文词语的注释;(3)我们把这个指南写成了一个技术性报告,报告被发表于宾夕法尼亚大学认知科学研究机构(IRCS)。
1.1 标注标准词性标注(POS)的核心问题是词性标注是否应该基于意义或者句法分布来标注。
这个问题自1950年以来就被热烈争论到现在,并且始终存在两种不同的观点。
譬如,中文词“毁灭”可以被翻译为英文中的destroy或destroys或destroyed或destroying或destruction,并且如它英文所对应的词一样使用。
根据第一种观点,词性标注应该只基于意义。
因为词的意义在它所有的用法中基本都是一样的,它就应该总是被标注为一个动词。
第二种观点是词性标注应该由词的句法分布来决定。
当“毁灭”是一个名词短语的首词,它在那个文本中就应该被标注为一个名词;当“毁灭”是一个动词短语的首词,它就应该被标注为一个动词。
我们选择了句法分布作为我们词性标注的主要标准,因为这与当代语言学理论所采纳的原则一致,譬如X-bar理论和GB理论中的首字投射概念。
词性标注说明_128601491

人民日报标注语料库(PFR)使用说明书本文是PFR标注语料库的使用说明书,帮助用户了解它,更好地使用它。
PFR语料库是对人民日报1998年上半年的纯文本语料进行了词语切分和词性标注制作而成的,严格按照人民日报的日期、版序、文章顺序编排的。
文章中的每个词语都带有词性标记。
目前的标记集里有26个基本词类标记(名词n、时间词t、处所词s、方位词f、数词m、量词q、区别词b、代词r、动词v、形容词a、状态词z、副词d、介词p、连词c、助词u、语气词y、叹词e、拟声词o、成语i、习惯用语l、简称j、前接成分h、后接成分k、语素g、非语素字x、标点符号w)外,从语料库应用的角度,增加了专有名词(人名nr、地名ns、机构名称nt、其他专有名词nz);从语言学角度也增加了一些标记,总共使用了40多个个标记。
二.格式说明1.语料是纯文本文件,文件中每一行代表一自然段或者一个标题,一篇文章有若干个自然段,因此在语料中一篇文章是由多行组成的。
2.文件名格式为“月-日-版号-篇章号”。
3.一篇文章里面的段落之间是不空行的,在两篇文章之间,会有一个空行,表示文章的分界线,同时,下一篇文章的“篇章号-段号”都会有所改变。
4.标号之后,是2个单字节空格,然后开始正文。
5.正文部分按照规范已经切分成词,并且加上标注,标注的格式为“词语/词性”,即词语后面加单斜线,再紧跟词性标记。
词与词之间用2个单字节空格隔开。
每段最后的词,在标记之后也有2个单字节空格,保持格式一致。
6.语料中除了词性标记以外,还有“短语标记”,这种情况一般出现在机构团体名称、成语等情况中。
如“通过/p [中央/n 人民/n 广播/vn 电台/n]nt 、/w”中,用“[ ]”合起来的部分是一个完整的机构团体名称,方括号后面紧跟标注nt,nt之后空两个单字节空格,保持了格式的一致。
三.例子迈向/v 充满/v 希望/n 的/u 新/a 世纪/n ——/w 一九九八年/t 新年/t 讲话/n (/w 附/v 图片/n 1/m 张/q )/w……在/p 1998年/t 来临/v 之际/f ,/w 我/r 十分/m 高兴/a 地/u 通过/p [中央/n 人民/n 广播/vn 电台/n]nt 、/w [中国/ns 国际/n 广播/vn 电台/n]nt 和/c [中央/n电视台/n]nt ,/w 向/p 全国/n 各族/r 人民/n ,/w 向/p [香港/ns 特别/a 行政区/n]ns 同胞/n 、/w 澳门/ns 和/c 台湾/ns 同胞/n 、/w 海外/s 侨胞/n ,/w 向/p 世界/n 各国/r 的/u 朋友/n 们/k ,/w 致以/v 诚挚/a 的/u 问候/vn 和/c 良好/a 的/u 祝愿/vn !/w。
民国时期汉语语文辞书词性标注研究

民国时期汉语语文辞书词性标注研究随着社会的不断发展,语言文字的研究也逐渐引起人们的关注,其中词性标注是语言文字研究的重要内容之一。
而在民国时期,中国的语文辞书对于词性标注也有着一定的研究和探索,这为今后的语言文字研究提供了一定的参考价值。
本文将对民国时期汉语语文辞书词性标注进行研究和分析。
一、民国时期的语文辞书民国时期是中国近现代史上一个重要的历史时期,也是中国语文教育发展的重要时期。
在这个时期,中国的语文辞书经历了不少的变革和创新,其对于中国语文教育的影响也是深远的。
在民国时期,词典、辞书等语文资料开始逐渐系统化,编纂工作也逐渐进入了专业化的轨道,这为词性标注的研究提供了一定的基础。
二、民国时期汉语词性标注在民国时期的语文辞书中,对于词性的标注多集中在词典的解释部分。
有的辞书会在解释某个词语的时候,顺带标注上该词语的词性,比如动词、名词、形容词等。
虽然在当时并没有形成明确的规范,而且也没有系统的方法和标准来进行词性标注,但是这种初步的尝试已经为后来的词性标注研究奠定了基础。
在民国时期的一些语文辞书中也开始出现了对于词性的分类和归纳。
比如有的辞书会对名词、动词、形容词等词性进行简单的分类和概括,虽然这种分类并不够细致和系统,但是这为后来的词性标注研究提供了一些思路和启发。
民国时期的汉语词性标注虽然并不够完善和系统,但是它在一定程度上为后来的词性标注研究提供了一些参考和启发。
我们需要意识到词性标注对于语言文字研究的重要性。
在当代,词性标注已经成为了语言分析的重要手段之一,它可以帮助我们更准确地理解和分析语言文字,对于语言文字的教学和研究有着重要的意义。
我们需要借鉴民国时期的词性标注经验,这其中包括民国时期的词典、辞书等语文资料,以及一些学者在词性标注研究方面的探索和尝试。
尽管民国时期的词性标注并不够完善和系统,但是其中也包含了一些宝贵的经验和启发,我们可以从中吸取一些有益的经验和教训。
我们应该在民国时期的基础上进行更深入更系统的词性标注研究。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
在词性标记集已确定,并且词典中每个词都有确定词性的基础上,对一个输入词串转换成相应词性标记串的过程叫做词性标注。
词性标注需要解决的问题
如何判定兼类词在具体语境中的词性。
对未登录词需要猜测其词
兼类词对句法分析的影响:尽管兼类词在词汇中所占比例并不很高,但由于它们出现的比例较高,因而对于句法分析会造成直接影响。
词性标注方法:
概率方法
基于隐马尔可夫模型的词性标注方法
机器学习规则的方法
基于转换的错误驱动词性标注方法
从统计模型角度考虑词性标注问题
1给定一个词串W=w1w2...wn,如果T=t1t2...tn是W对应的词性标记串。
所谓对W进行词性标注就是在给定W和带有词性标注信息的词表条件下,求T的过程。
2假设W存在多个可能的词性标记串T1,T2,...Ti,对W进行词性标注就是在已知W的条件下求使P(T|W)最大的词性标注串T',即求:
3T'=argmax P(T|W)
例如词串“把/ 这/ 篇/ 报道/ 编辑/ 一/ 下/”中有些词有多个词性标记(兼类词),因此该词串对应的词性标注串有多个。
全部标记结果等于各个词的词性标注数目的乘积,即4×1×1×2×2×2×3=96。
词性标注的任务就是从多个可能性中找出可能性最高的词性标注串T’
上例中对应的词性标注串是“prvnvmq”
对于一个词性标注系统来说,它所“认为”的可能性最高的词性标注串T'可能是正确的,也有可能是错误的。
为了表示方便,做如下约定:
Wi:表示一个词串;
wi:表示一个具体词语;
Ti:表示一个词性标注串;
ti:表示一个具体词性标记;
隐马尔可夫模型(Hidden Markov Model,HMM)是描述连续符号序列的条件概率统计模型,可定义为五元组λ=(S,V,A,B,π),其中
S代表一个状态集合S={1,2,...,N}
V代表一个可观察符号的集合V={v1,v2,...,vM}
A代表状态转移矩阵(N行×N列)A=[aij],其中
aij=P(qt+1=j | qt=i), 1≤i,j≤N,即从状态i转移到下一个状态j的概率
B是可观察符号的概率分布B={bj(k)},其中bj(k)是在状态j是输出观察符号vk的概率,即bj(k)=P(vk | j),1≤j≤N, 1≤k≤M.
π代表初始状态的概率分布π={πi},表示在时刻1选择状态i的概率,即πi=P(q1=i)
一个确定的HMM,其状态数是确定的,每个状态可能输出的观察值数目也是确定的,参数A,B,π可通过统计样本得到。
词性标注和HMM之间的关系
1词性序列相当于HMM的状态序列
2给定词串是可观察符号的序列
在给定观察值W和模型参数λ的情况下,求状态序列T,使该状态序列T“最好地解释”观察值序列W
T' = argmax P(T|W,λ) (公式1)
根据条件概率公式可知:
P(T|W,λ)=P(T,W|λ)/P(W|λ) (公式2)
对所有情况,λ是一样的,因此可省略λ,故得P(T|W)=P(T,W)/P(W)=P(T)P(W|T)/P(W) (公式3)
公式3中P(W)是词串的概率,对所有可能的词性标注结果来说P(W)都是一样的,对P(T|W)的值的比较没有影响,因此可忽略P(W),故公式1可演化为:
T' = argmax P(T|W,λ)=argmax P(T)P(W|T)(公式4)
其中:
P(T)=P(t1|t0)P(t2|t1,t0)P(t3|t2,t1,t0)...P(ti|ti-1,ti-2,...,t0) (公式5)
根据一阶马尔可夫假设,当前词性标记只和它之前的一个词性标记有关,于是得到:P(T)=P(t1|t0)P(t2|t1)P(t3|t2)...P(ti|ti-1) (公式6)
公式6表明P(T)实际上是词性标注串中两两相邻的词性标注的转移概率的乘积。
两个词性标记之间的转移概率P(ti|ti-1) 可通过训练语料库中词性频度估算(HMM中的参数A)
P(ti|ti-1) =训练语料中ti在ti-1之后出现的次数/ 训练语料中ti-1出现的总次数(公式7)
P(W|T)是已知词性标注串T的条件下词串W的概率,即
P(W|T)=P(w1|t1)P(w2|t2,t1,w2,w1)...P(wi|ti,ti-1,...,t1,wi,wi-1,...,w1) (公式8) 根据独立性假设,已知词性标注串的条件下词串的条件概率只跟各个词和对应的词性标注有关,则公式8可简化为:
P(W|T)=P(w1|t1)P(w2|t2)...P(wi|ti) (公式9)
P(wi|ti) 可根据训练语料中的词性频度和词语频度估算:
P(wi|ti) =训练语料中wi的词性被标记为ti的次数/ 训练语料中ti出现的总次数(公式10)
根据以上公式,可求所有的P(T|W)=P(T)P(W|T),比较P(T|W)可得使P(T|W)最大的词性标注串T'
计算效率分析:
1针对一个给定词串W,计算所有的P(T|W),其效率很低
2假设词性标注数目为N(对应于HMM的状态个数),给定词串W有M个词,考虑最坏的可能性,则全部可能的词性标注串(对应于HMM的状态序列)有NM个
3随着词串的增加,计算复杂性呈“指数”增长
4VOLSUNGA算法和Viterbi算法采用动态规划的方法大大提高了词性标注的效率
基于转换的错误驱动的词性标注方法:一种基于规则的词性标注方法。
通过机器学习的方法学习“改错”规则。
转换规则的组成
改写规则:将一个词性转换成另一个词性
激活环境:激发改写规则的条件
转换规则(T1)
改写规则:将一个词性从动词(v)改为名词(n);
激活环境:该词左边第一个词的词性是量词(q),第二个词的词性是数词(m);
转换举例
改写之前的带有词性标注的句子:
他/r 做/v 了/u 一/m 个/q 报告/v
使用规则T1改写之后的句子
他/r 做/v 了/u 一/m 个/q 报告/n
基于转换的错误驱动词性标注方法根据转换规则将错误的词性改为正确词性。
需要注意的是转换规则是有确定顺序的,当使用这些规则去标注新的语料时,也是按照该顺序进行标注。
转换规则模板是用于生成具体的转换规则的模板。
开始时,由人来定义转换规则模板,并根据该模板生成一条条用于词性标记的转换规则。
所谓机器学习就是从这些转换规则中学习有助于提高词性标注正确率的那些规则。
基于转换的词性标注所需的前提条件:
1词性标记集
2转换规则模板及一系列转换规则
3一个达到一定规模的已标注语料库C0
4语料库C0对应的未标注版本C0_raw(生语料库)
5一个用于初始词性标注器
初始词性标注器可以是任意的词性标注器,其词性标注的正确率并不重要。
因为基于转换的词性标注器将会根据转换规则去改正错误的词性标记。
如基于HMM的词性标注器
或简单词性标注器(只取频度最高的词性标记)
甚至可以将所有词性都标记为名词
基于转换的词性标注的核心是学习转换规则
基于转换的错误驱动的词性标注方法:
(1) 一个事先标注好词性标记的语料库C0作为学习时的训练语料库;
(2) 一个词性标记集和一套转换规则模板;
(3) 一组候选转换规则;
(4) 一个初始标注器;
(5) 一个以评价函数为核心的学习器;
(6) 通过学习得到一个有序转换规则集;
(7) 首先用初始标注器对生语料库进行初始标注,然后用学到的规则集修改标注结果。