220 likes | 350 Views
中文事件报道结果模式库的建立. 导师:李芳 学生:蒋德良. 2. 系统简介. 1. 问题综述. 3 . 系统模块介绍. 4 . 实验结果及系统存在问题. 内容. 问题综述. 实例文档
E N D
中文事件报道结果模式库的建立 导师:李芳 学生:蒋德良
2. 系统简介 1. 问题综述 3.系统模块介绍 4. 实验结果及系统存在问题 内容
问题综述 • 实例文档 “……印尼国家减灾协调局当天说,又有10具尸体在努沙登加省中被找到,该省已确定的死亡人数上升到160人,加上在其他地区死亡的25人,此次地震的死亡总人数达185人,另有近170人受伤,其中93人受重伤。……今年2月6日,最东部的巴布亚省地区发生了一次里氏6.9级的强烈地震,造成纳比雷地区56人死亡,亚普拉地区34人死亡,20人重伤。” “……失踪3780人,经济损失1000多亿美元。……” • 问题一. 如何得到每个句子中所有表示结果的精确信息 • 问题二. 如何找到每个句子中结果信息的包含关系 • 问题三. 如何合并每个句子中的结果信息得到句子最终结果信息
系统简介 系统任务 任务一 结合正则表达式对自然灾害事件、人为事件、疾病爆发事件建立结果模式库,使用模式匹配的方法解决问题一 任务二 在任务一的基础上结合一些包含词(其中,累计……)与结果结点的位置关系解决问题二 任务三 在任务二的基础上对属性相同的结果信息进行相加解决问题三
系统简介 系统框架图 原始文档 文档预处理 规则集合 模式匹配 结点信息规范化 模式序列化 结果句子规范化 Rules1.txt Rules2.txt Rules3.txt 结果输出
系统模块介绍 文档预处理 对输入文档格式上的预处理 空格,换行符替换;全角半角转换 对输入文档语义上的预处理 符合某些句式的句子做一些修改,以便提高系统精度。 句式一:“在……中”替换为”…… ,其中” 句式二:“与……相比” 替换为空字符 句式三:“(一旦|假如)……,”替换为空字符
系统模块介绍 模式匹配 使用模式库中的模式逐条地对文档中的每一句句子进行模式匹配,把抽取到的信息放在数据结构中以供后续模块使用。 PropertyNode: 记录存放单个属性结点的各种信息 ResultSentence: 记录一个句子的各个属性结点
系统模块介绍 PropertyNode
系统模块介绍 ResultSentence
系统模块介绍 Resultsentence1 Resultsentence2 Text = ”印尼国家减灾协调局当天说,又有10具尸体在努沙登加省中被找到,该省已确定的死亡人数上升到160人,加上在其他地区死亡的25人,此次地震的死亡总人数达185人,另有近170人受伤,其中93人受重伤。” ProNodeList1: 死亡:10具尸体 死亡人数:160人 死亡:25人 死亡总人数:185人 受伤:近170人 重伤:93人 ProNodeList2 = null ResultNodeList = null Text = ”今年2月6日,最东部的巴布亚省地区发生了一次里氏6.9级的强烈地震,造成纳比雷地区56人死亡,亚普拉地区34人死亡,20人重伤。” ProNodeList1: 死亡:56人 死亡:34人 重伤:20人 ProNodeList2 = null ResultNodeList = null
系统模块介绍 结点信息规范化 基本信息规范化 数字字符串转换 增减信息处理 重复结点删除
系统模块介绍 Resultsentence1 Resultsentence2 Text = ”印尼国家减灾协调局当天说,又有10具尸体在努沙登加省中被找到,该省已确定的死亡人数上升到160人,加上在其他地区死亡的25人,此次地震的死亡总人数达185人,另有近170人受伤,其中93人受重伤。” ProNodeList1: 死亡:增加10人 死亡:160人 死亡:25人 死亡:185人 受伤:近170人 受伤:93人 ProNodeList2 = null ResultNodeList = null Text = ”今年2月6日,最东部的巴布亚省地区发生了一次里氏6.9级的强烈地震,造成纳比雷地区56人死亡,亚普拉地区34人死亡,20人重伤。” ProNodeList1: 死亡:56人 死亡:34人 受伤:20人 ProNodeList2 = null ResultNodeList = null
系统模块介绍 结果句子规范化 属性包含处理 找子结点 “又有10具尸体在努沙登加省中被找到,该省已确定的死亡人数上升到160人,加上在其他地区死亡的25人,此次地震的死亡总人数达185人,另有近170人受伤,其中93人受重 伤。“ “ 马拉维卫生副部长查尔斯·姆乔沙说,2月底全国共有2265人感染霍乱, 5月底感染霍乱的群体为4157人,其中16人死亡。” 条件一:有且仅有一个包含词 包含词2:累计,增加到…… 父结点1 (子结点2) 包含词2:累计,增加到…… 父结点2 子结点1 条件二:没有其他属性关系上可以包含的结点 父结点1 包含词1:其中,其余…… 子结点1
系统模块介绍 结果句子规范化 ProNodeList2
系统模块介绍 Resultsentence1 Text = ”印尼国家减灾协调局当天说,又有10具尸体在努沙登加省中被找到,该省已确定的死亡人数上升到160人,加上在其他地区死亡的25人,此次地震的死亡总人数达185人,另有近170人受伤,其中93人受重伤。” ProNodeList1: 死亡:增加10人 死亡:160人 死亡:25人 死亡:185人 受伤:近170人 受伤:93人 ProNodeList2: 死亡:185人 受伤:近170人 死亡:25人 死亡:160人 受伤:93人 死亡:增加10人 ResultNodeList = null
系统模块介绍 Resultsentence2 Text =”今年2月6日,最东部的巴布亚省地区发生了一次里氏6.9级的强烈地震,造成纳比雷地区56人死亡,亚普拉地区34人死亡,20人重伤。” ProNodeList1: 死亡:34人 受伤:20人 死亡:56人 ProNodeList2: 死亡:56人 死亡:34人 受伤:20人 ResultNodeList = null
系统模块介绍 结果句子规范化 信息合并 HashMap:key值是属性值, value值是相同属性结点的链表 ResultNodeList: 最终结果链表 1人 4人 6人 死亡: 受伤: 3人 失踪: 5人 2人 按照ProNodeList2中父结点的属性值加入对应位置中 死亡:1+4+6 人 受伤:3人 失踪:2+5 人
系统模块介绍 Resultsentence1 Text = ”印尼国家减灾协调局当天说,又有10具尸体在努沙登加省中被找到,该省已确定的死亡人数上升到160人,加上在其他地区死亡的25人,此次地震的死亡总人数达185人,另有近170人受伤,其中93人受重伤。” ProNodeList1: 死亡:增加10人 死亡:160人 死亡:25人 死亡:185人 受伤:近170人 受伤:93人 ProNodeList2: 受伤:近170人 死亡:185人 死亡:25人 死亡:160人 受伤:93人 死亡:增加10人 HashMap: 死亡 185人 ResultNodeList: 死亡:185人 受伤:近170人 受伤 近170人
系统模块介绍 Resultsentence2 Text =”今年2月6日,最东部的巴布亚省地区发生了一次里氏6.9级的强烈地震,造成纳比雷地区56人死亡,亚普拉地区34人死亡,20人重伤。” ProNodeList1: 死亡:34人 受伤:20人 死亡:56人 死亡:34人 受伤:20人 ProNodeList2: 死亡:56人 ResultNodeList: 56人 34人 受伤:20人 死亡 死亡:90人 HashMap: 受伤 20人
实验结果及系统存在问题 • 实验结果
实验结果及系统存在问题 • 问题说明 • 1.一个句子中涉及到多个事件 “ 今年1月份,印尼有15778人感染登革热,而在2006年同期,感染人数为18547人。”; 运行结果:感染34325人 • 2.句子的语义上有歧义 “6人死亡1人失踪30人受伤” 运行结果: 死亡6人、失踪31人、受伤30人 • 3.句子中有一些表示主观意愿的词 “据悉,联合国有关机构在本次会议上承诺将在10年内为这一运动提供3000万美元资助,同时还将提供各种必要的技术援助。” 运行结果:经济救助3000万美元