基于 wikipedia 的中文命名实体识别研究

36
基基 Wikipedia 基基基基基基 基基基 基基基基 基基基基基基 基基基 基基基基 基基 基基 基基 基基 22/6/8 1 /36 基基 Wikipedia 基基基基基基 基基基基

Upload: nuri

Post on 24-Jan-2016

110 views

Category:

Documents


0 download

DESCRIPTION

基于 Wikipedia 的中文命名实体识别研究. 中山大学 计算机科学系 潘家铭 指导老师: 汤庸 教授,肖菁 老师. 报告提纲. 报告提纲. 中文命名实体识别的意义. 中文自动分词 (CWR). 命名实体识别 (NER). 中文自然语言处理 中文信息处理 (CNLP). 基础步骤. 重点、难点. 用于 中文信息检索 、 中文文本自动校对 、 机器翻译 、 汉语语音合成 、 语音识别 等等具体应用 [1]. “词”是否有清晰的界定 分词和理解孰先孰后 分词歧义消解 未登录词的处理 文献 [1~12]. 没有天然的识别标志 开放类,内容庞大 - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: 基于 Wikipedia 的中文命名实体识别研究

基于 Wikipedia 的中文命名实体识别研究

中山大学 计算机科学系 潘家铭指导老师: 汤庸 教授,肖菁 老

23/4/211 /36

基于 Wikipedia 的中文命名实体识别研究

Page 2: 基于 Wikipedia 的中文命名实体识别研究

报告提纲23/4/21 2 / 36

Page 3: 基于 Wikipedia 的中文命名实体识别研究

报告提纲23/4/21 3 /36

Page 4: 基于 Wikipedia 的中文命名实体识别研究

中文命名实体识别的意义

中文自动分词(CWR)

中文自动分词(CWR)

命名实体识别(NER)

命名实体识别(NER)

中文自然语言处理中文信息处理

(CNLP)

中文自然语言处理中文信息处理

(CNLP)

1. “词”是否有清晰的界定

2. 分词和理解孰先孰后3. 分词歧义消解4. 未登录词的处理 文献 [1~12]

基础步骤

1. 没有天然的识别标志2. 开放类,内容庞大3. 随着时间推移而扩展4. 形式不统一5. 多出现歧义 文献 [13~18]

用于中文信息检索、中文文本自动校对、机器翻译、汉语语音合成、语音识别等等具体应用 [1]

用于中文信息检索、中文文本自动校对、机器翻译、汉语语音合成、语音识别等等具体应用 [1]

重点、难点

流行的应用

23/4/21 4 /36

Page 5: 基于 Wikipedia 的中文命名实体识别研究

中文命名实体识别的研究现状23/4/21 5 /36

Page 6: 基于 Wikipedia 的中文命名实体识别研究

探究非人工标注专用语料库在命名实体识别应用的可行性 ( 引入 Wikipedia 数据库 ) 。探究非人工标注专用语料库在命名实体识别应用的可行性 ( 引入 Wikipedia 数据库 ) 。

对开源百科全书数据库的数据进行提取并建立索引以便提取,作为词典来应用对开源百科全书数据库的数据进行提取并建立索引以便提取,作为词典来应用

定义中文命名实体特征,使用 CRFs 模型进行识别任务的训练和测试。定义中文命名实体特征,使用 CRFs 模型进行识别任务的训练和测试。

定义相适应的研究机器学习模型和中文 Wikipedia 数据库结合应用的方法和效果定义相适应的研究机器学习模型和中文 Wikipedia 数据库结合应用的方法和效果

本论文的研究目标及工作

中文命名实体识别研究的意义中文命名实体识别研究的意义

中文命名实体识别研究的现状中文命名实体识别研究的现状

英文 Wikipedia 数据库是研究热点英文 Wikipedia 数据库是研究热点

使用 Wikimedia 提供的中文 Wikipedia 数据库,包括数据 Wikipedia 文章文本以及链接等数据。

使用 Wikimedia 提供的中文 Wikipedia 数据库,包括数据 Wikipedia 文章文本以及链接等数据。

使用开源搜索引擎 Indri 对中文 Wikipedia建立索引,并创建结合 Wikipedia 本身组织特点的词典,作为系统的语料库。

使用开源搜索引擎 Indri 对中文 Wikipedia建立索引,并创建结合 Wikipedia 本身组织特点的词典,作为系统的语料库。

使用了 CRF++ 开源模型作为建模框架,定义了 SYSUNER 识别器的中文命名实体识别特征模板和相关的数据结构。使用该模型进行了训练。

使用了 CRF++ 开源模型作为建模框架,定义了 SYSUNER 识别器的中文命名实体识别特征模板和相关的数据结构。使用该模型进行了训练。

引入了 N- 最佳选取算法 (N-Best) 、词典动态更新等机制,提高识别系统的性能。引入了 N- 最佳选取算法 (N-Best) 、词典动态更新等机制,提高识别系统的性能。

对系统进行开放性对比测试和优化,得到实验结果。对系统进行开放性对比测试和优化,得到实验结果。

23/4/21 6 /36

Page 7: 基于 Wikipedia 的中文命名实体识别研究

报告提纲23/4/21 7 /36

Page 8: 基于 Wikipedia 的中文命名实体识别研究

中文 Wikipedia

•包含人类所有知识领域的百科全书。•允许了大众的广泛参与,信息得到及时有效更新。•内容开放,便于进行研究

•包含人类所有知识领域的百科全书。•允许了大众的广泛参与,信息得到及时有效更新。•内容开放,便于进行研究

巨大的条目数量及数据量

规范的分类

特殊的标注方法,可用于信息提取

23/4/21 8 /36

Page 9: 基于 Wikipedia 的中文命名实体识别研究

中文 Wikipedia 的结构特点消除歧义页可利用于识别实体的别名

重定向页,可利用提取命名实体

实体分类,用于辨别命名实体的类型

实体间用链接 (link) 相互指向,链接可被提取

•使用几种常用的结构,能获取实体的重要信息•Wikipedia 内容经过规范的标注,能使用程序提取•实体之间形成网状关系,可使用迭代方式提取实体关系

•使用几种常用的结构,能获取实体的重要信息•Wikipedia 内容经过规范的标注,能使用程序提取•实体之间形成网状关系,可使用迭代方式提取实体关系

23/4/21 9 /36

Page 10: 基于 Wikipedia 的中文命名实体识别研究

中文 Wikipedia 源代码转换

Wikipedia 标签可被提取,转换成标注文本的格式

可用于机器学习模型训练的自动标注语料

23/4/21 10 /36

Page 11: 基于 Wikipedia 的中文命名实体识别研究

条件随机场 (CRFs)

使用稀疏矩阵来存储特征函数的值。

最优标注序列,结合矩阵表示后的计算公式 (P32)

最优标注序列计算公式(P31)

23/4/21 11 /36

Page 12: 基于 Wikipedia 的中文命名实体识别研究

CRFs 的特征函数二元特征函数的形式

23/4/21 12 /36

Page 13: 基于 Wikipedia 的中文命名实体识别研究

CRFs 训练算法23/4/21 13 /36

Page 14: 基于 Wikipedia 的中文命名实体识别研究

L-BFGS(PQN) 算法初始化变量和计数器

算法结束的 Wolfe 条件[50]这个条件通过两个不等式作为判断条件。

算法更新步骤,用迭代的方式更新存储矩阵M 的数据。其中使用到特征函数的结果。

迭代次数,这里可追加次数控制机制,避免收敛速度慢的循环影响算法效率

初始化计数器、临时变量和存储矩阵

计算 Wolfe 条件项

满足Wolfe 条件

更新存储矩阵M 算法结束

•时间和空间复杂度均为: O(L2NMF) [30]•其中 L 和 N 分别为标注和观察序列 (句子 ) 的数目,M 为句子的平均长度, F 为各个标注的序列中活动特征的平均数目。•随着标注集的扩大,时间复杂度呈指数级递增则

•时间和空间复杂度均为: O(L2NMF) [30]•其中 L 和 N 分别为标注和观察序列 (句子 ) 的数目,M 为句子的平均长度, F 为各个标注的序列中活动特征的平均数目。•随着标注集的扩大,时间复杂度呈指数级递增则

23/4/21 14 /36

Page 15: 基于 Wikipedia 的中文命名实体识别研究

报告提纲23/4/21 15 /36

Page 16: 基于 Wikipedia 的中文命名实体识别研究

系统实现环境23/4/21 16 /36

Page 17: 基于 Wikipedia 的中文命名实体识别研究

系统架构

中文 Wikipedia 数据库为数据源, Indri 搜索引擎生成索引并进行检索;索引作为CRFs 识别模型的词典使用。

CRF++ 工具建立 CRFs 模型。包括经过标注的训练语料,特征模板, C++ 的类定义文件, CRFs 模型的核心等。

I/O 格式转换利用了 N-best 筛选算法的附加处理模块。用于优化输出结果。

23/4/21 17 /36

Page 18: 基于 Wikipedia 的中文命名实体识别研究

Indri 搜索引擎及索引建立

Wikipedia 数据库

原始数据,简单 XML格式,未经索引

Wikipedia 索引Wikipedia 索引

转换成 TREC 数据,并建立索引

在索引中检索相关内容,作为训练数据

通过调用 Runquery() 方法,快速获取索引信息。Indri充当了语料库引擎的角色。

通过调用 Runquery() 方法,快速获取索引信息。Indri充当了语料库引擎的角色。

……

配置索引的格式23/4/21 18 /36

Page 19: 基于 Wikipedia 的中文命名实体识别研究

语料格式转换器 (P43)

使用 Boost::Xpressive正则表达式提取相关标签并进行转换

最大匹配粗分词算法对文本进行粗分词。分词过程中只识别词边界,而不必考虑词性。该算法获取最短的词语边界 (P46)

使用 Boost 库的工具,把语料转换成 CoNLL三元组格式的语料,提供给 CRFs 模型进行训练。

23/4/21 19 /36

Page 20: 基于 Wikipedia 的中文命名实体识别研究

主要数据结构

表示一个单独的字实体,作为CoNLL 语料的单独一行里的文本数据

一个包含多个字的词结构,便于模型识别出词语

标记 (Token) ,用于标注数据集后进行数据分析和整合

23/4/21 20 /36

Page 21: 基于 Wikipedia 的中文命名实体识别研究

特征模板

两种特征模板:一元特征模板、二元特征模板两种特征模板:一元特征模板、二元特征模板

特征模板通过分析上下文边界特征得到词语特征特征模板通过分析上下文边界特征得到词语特征

L表示输出标注的数目, N表示模板宏替换的可能结果的数目,那么总共生成的特征函数数目为 (L*N)

L表示输出标注的数目, N表示模板宏替换的可能结果的数目,那么总共生成的特征函数数目为 (L*N)

考虑效率,二元特征模板的数目应尽量减少考虑效率,二元特征模板的数目应尽量减少

23/4/21 21 /36

Page 22: 基于 Wikipedia 的中文命名实体识别研究

训练 CRFs

训练语料分布比例

训练的过程又称为编码过程(Encoding)

训练的过程又称为编码过程(Encoding)

检索相关的条目信息,再使用语料转换器生成 CoNLL 训练语料。

检索相关的条目信息,再使用语料转换器生成 CoNLL 训练语料。

使用 L-BFGS 训练算法对模型的参数进行估算。使用 L-BFGS 训练算法对模型的参数进行估算。

23/4/21 22/36

Page 23: 基于 Wikipedia 的中文命名实体识别研究

中文命名实体识别 ( 数据标注 )

对 CRF++ 输出的 N个标注结果中选取最佳结果 (N 最佳标注选取算法 );避免标注错误出现。

把 CoNLL 格式的数据转换成符合自然阅读方式的标注数据。

基于 N- 最佳标注选取算法,对新词进行收集,并按分组加入到索引词典中;重建索引。

数据标注流程

对输入的语料进行标注

23/4/21 23/36

Page 24: 基于 Wikipedia 的中文命名实体识别研究

报告提纲23/4/21 24/ 36

Page 25: 基于 Wikipedia 的中文命名实体识别研究

测试指标

测试的指标包括召回率 R (Recall) 、准确率P (Precision) 和综合指数 F (F-measure)

β 是 R 和 P 之间的平衡因子,通常任务召回率和准确率是同样重要的,故取 β =1

23/4/21 25/36

Page 26: 基于 Wikipedia 的中文命名实体识别研究

测试语料

由于我们使用了Wikipedia生成的语料进行训练,因而只能采用开放性测试方法。

由于我们使用了Wikipedia生成的语料进行训练,因而只能采用开放性测试方法。

23/4/21 26/36

Page 27: 基于 Wikipedia 的中文命名实体识别研究

实验设计 综合性能测试。测试 SYSUNER 系统在最优条件下的性能。

增量训练集测试。测试训练语料从小到大递增时系统的性能,反映Wikipedia 数据库训练语料在系统中作用的作用。

新词更新测试。测试把新词列表更新至词典索引对系统性能的影响。

对比测试。对比同类典型系统的性能指标。

23/4/21 27/36

Page 28: 基于 Wikipedia 的中文命名实体识别研究

测试结果 (1)

在人名、地名、组织名的识别性能得到了较高的水平。而且,这些方面的性能还有上升的空间。但对于缩写名词的识别并不是很理想。

训练数据涵盖的域信息对系统性能也有影响。使用更大涵盖度的训练语料,能明显提高系统的性能。

23/4/21 28/36

Page 29: 基于 Wikipedia 的中文命名实体识别研究

测试结果 (2)

使用新词更新策略后,测试的结果有一定的提高。

与同类系统对比,使用Wikipedia 数据库作为训练语料的 SYSU表现处于中上水平。

23/4/21 29/36

Page 30: 基于 Wikipedia 的中文命名实体识别研究

讨论 CRFs 模型在显示了训练精度精度优势的同时,也暴露了训练复杂度高的明显缺点。

弥补基于 Wikipedia 建立的词典索引的词汇量不足,可以尝试引入的外部命名实体词典。

SYSUNER 对命名实体缩写的识别效果并不理想。

使用最大匹配分词算法来进行粗分词,因为词语边界歧义的存在,会导致分词错误,进而影响系统的性能。

23/4/21 30 /36

Page 31: 基于 Wikipedia 的中文命名实体识别研究

报告提纲23/4/21 31 / 36

Page 32: 基于 Wikipedia 的中文命名实体识别研究

Wikipedia 索引

贡献: Wikipedia 到索引的转换贡献: Wikipedia 到索引的转换 工作: Indri 建立索引与检

索工作: Indri 建立索引与检索

32 / 3623/4/21主要贡献和结论

贡献:仅使用 Wikipedia 作为单一数据源的尝试。贡献:仅使用 Wikipedia 作为单一数据源的尝试。

Wikipedia 索引其他标注语料其他标注语料

√ 训练精度

√ 序列标注适应性

√ 准确度Approved

语料格式转换器 CRF++

I/O 格式转换器

粗分词算法 CRF++N-Best算法

新词更新策略

贡献:证实 CRF 模型的性能贡献:证实 CRF 模型的性能

工作:定义的模型工作顺利工作:定义的模型工作顺利

Page 33: 基于 Wikipedia 的中文命名实体识别研究

未来工作 Wikipedia 的很多特性还可以被利用。 CRFs 的训练对系统的计算和存储能力的要求都很高,这点不利于我们的方法在 PC 系统的使用。

粗分词算法的缺陷会带来系统局部分词错误,在极端条件下,错误还有可能扩展到整个句子,今后需要引入更有效的分词算法和歧义处理方法,提高粗分词的正确率。

针对一些词性识别的错误,需要探究原因,并对特征或模型本身进行改进。

23/4/21 33 / 36

Page 34: 基于 Wikipedia 的中文命名实体识别研究

研究生阶段其他参与的工作

参与实验室项目中山大学协调软件实验室与慧通软件公司软件平台合作项目中山大学协调软件实验室与广州科韵数码合作报单系统项目

撰写学术报告《中文姓名识别综述》报告《基于 Spoon 的代码分析工具研究》

学院担任工作

2006 年 11月至今 任信息科学与技术学院学生助理辅导员

23/4/21 34 / 36

Page 35: 基于 Wikipedia 的中文命名实体识别研究

35 / 3623/4/21致谢

感谢我的导师汤庸老师,指导老师肖菁老师,在成文过程中,他们给了很多技术性的指导。

感谢我的亲人、同学和朋友。 特别感谢,余峰、黄永钊两位优秀同学的帮助。

感谢评委们的辛勤劳动。

Page 36: 基于 Wikipedia 的中文命名实体识别研究

谢谢观看欢迎指正批评

23/4/2136 / 35

基于 Wikipedia 的中文命名实体识别研究