1 / 54

意义计算的实现

意义计算的实现. 董强 董振东 dongqiang @keenage.com dzd@keenage.com www.keenage.com 第一届全国知网研讨会 2008.05.18. 提纲. 相似度的计算 相关概念的计算 知网英汉翻译系统 在意义计算中,一些常用的函数. 容易混淆的两个概念. 词语相关性——反映的是两个词语互相关联的程度,即词语之间的组合特点,它可以用词语在同一个语境中共现的可能性来衡量。 词语相似性——反映的是词语之间的聚合特点。. 什么是概念的相似度.

cyrah
Télécharger la présentation

意义计算的实现

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 意义计算的实现 董强 董振东 dongqiang@keenage.comdzd@keenage.com www.keenage.com 第一届全国知网研讨会 2008.05.18

  2. 提纲 • 相似度的计算 • 相关概念的计算 • 知网英汉翻译系统 • 在意义计算中,一些常用的函数

  3. 容易混淆的两个概念 • 词语相关性——反映的是两个词语互相关联的程度,即词语之间的组合特点,它可以用词语在同一个语境中共现的可能性来衡量。 • 词语相似性——反映的是词语之间的聚合特点。

  4. 什么是概念的相似度 概念相似度是一个主观性很强的概念,会根据不同的应用而产生不同的定义。

  5. 实现方法 • 同义词 • 同类词 • 反义或对义词 • 抽取参与计算的DEF片段 • 概念计算

  6. 实现方法—特殊情况 在符合下列情况是直接得出相似度值,无需其他计算: • 同义词相似度为1.000000。 • 同类词相似度为0.950000。 • 反义或对义词 (仅限于单个义原) 相似度为0.000000。

  7. 实现方法—抽取DEF 不是所有的概念都是直接拿到DEF就进行计算的,有些概念中存在特殊的动态角色,需要特别的处理。对于动态角色CoEvent,需要用CoEvent 后面的KDML部分作为这个词语的DEF来参与计算,用以建立不同类别词语之间的关系。如: 旅程(名词): DEF={fact|事情:CoEvent={tour|旅游}}。 旅行(动词): DEF={tour|旅游}

  8. 实现方法—四个部分 公式:Sim(D1,D2) = (P1*β1+P2*β2+P3*β3+P4*β4)* γ概念相似度的计算分为4个部分来进行。β是每一个部分计算结果的权值。β1+β2+β3+β4 =1,目前我们指定:β1=0.1,β2=0.1,β3=0.7,β4=0.1。γ为惩罚因子。

  9. 实现方法—包含关系的计算(部分1) 两个DEF相互包含关系的计算公式:P1 = 1/LL:包含关系存在的层次

  10. 实现方法—包含关系的计算(部分1) • “心理医生”:DEF={human|人:HostOf={Occupation|职位},domain={medical|医},{doctor|医治:agent={~},content={disease|疾病:cause={mental|精神}}}} • “医生”:DEF={human|人:HostOf={Occupation|职位},domain={medical|医},{doctor|医治:agent={~}}} • “手指”: {part|部件:whole={part|部件:PartPosition={hand|手},whole={human|人}}} • “手”:{part|部件:PartPosition={hand|手},whole={human|人}}

  11. 实现方法—概念主类相似度的计算(部分2) • 两个概念主类之间的相似度的计算公式:P2 = α / ( d +α ) d为两个主类义原在Taxonomy树上的距离。 α= 1。 距离与相似度为反比关系,即距离越近相似度越高。

  12. 实现方法—概念主类相似度的计算(部分2) “tree|树” : entity|实体 => thing|万物 => physical|物质 => animate|生物 => plant|植物 => tree|树 “human|人” : entity|实体 => thing|万物 => physical|物质 => animate|生物 => AnimalHuman|动物 => human|人

  13. 实现方法—节点相似性的计算(部分3) DEF的各个节点相似性的计算,这一部分的计算是在整个相似度计算中最复杂,也是权值比例最大的一部分。 具体包含如下三个方面的计算: • 同层相同节点的计算; • 对于动态角色domain的进一步处理; • 两个DEF相同节点数与总节点数的计算

  14. 实现方法—节点相似性的计算(部分3) • “患儿”:DEF={human|人:domain={medical|医},modifier={child|少儿}, {SufferFrom|罹患:experiencer={~}},{doctor|医治:patient={~}}} • “儿科医生”:DEF={human|人:HostOf={Occupation|职位},domain={medical|医}, {doctor|医治:agent={~},patient={human|人:modifier={child|少儿}}}}

  15. 实现方法—节点相似性的计算(部分3)

  16. 实现方法—节点相似性的计算(部分3) 同层相同节点的计算公式:S1 = Nsim / Nmax / 2x Nsim :同层相同节点数Nmax:同层最大节点数2x :x是层次数那么以上我们所举的例子的计算结果为:S1 =1/21 + 0.5/22 + 0/23 + 0/24 =0.5 + 0.125 + 0 + 0 =0.625

  17. 实现方法—节点相似性的计算(部分3) 对于动态角色domain的进一步处理。 如果两个DEF中都存在domain,并且domain的值也相同,那么不论这两个domain是否在同一个层次,都要再一次对domain 进行计算。公式: S2 = a/ 2xa:相同domain节点个数x:指定为两个DEF的最深层数。上面例子通过计算这部分的相似度值为:S2 = 1/24 = 0.0625

  18. 实现方法—节点相似性的计算(部分3) 两个DEF相同节点数与总节点数的计算公式:S = a*2/(d1+d2)a:相同节点个数d1 :第一个DEF的节点总数d2 :第二个DEF的节点总数本例中相同节点数为3,总节点数为14。S3 = 3*2/14 = 0.428571

  19. 实现方法—节点相似性的计算(部分3) 公式:P3 = (S1+S2)*0.7 + S3*0.3根据上面的例子P3 = (0.625+0.0625)*0.7 + 0.428571*0.3 = 0.48125+0.128571 = 0.609821

  20. 实现方法—主类义原框架的计算(部分4) 两个DEF主类义原框架的计算,其计算方法与部分3相同。 ├ {ActGeneral|泛动} {act|行动:agent={*}} │ ├ {start|开始} {ActGeneral|泛动:agent={*},content={*}} │ ├ {do|做} {ActGeneral|泛动:agent={*},content={*},manner={*}} │ │ ├ {try|尝试} {do|做:agent={*},content={*}}

  21. 实现方法—惩罚因子 在下列情况下需要对计算结果进行惩罚性修订: • 存在否定关系。惩罚因子为0.3。 • 存在下列指定关系。惩罚因子为0.35。agent patient experiencer target relevant content existent partner possessor PatientProduct PatientContent possession

  22. 什么是相关概念场 • 相关是指不同的概念在某种语境中共现的可能性。 • 相关概念是指词语所代表的概念与哪些概念相关。 • 相关概念场是一个相关概念的集合,是与一个词语的某个概念相关的所有概念的集合。

  23. 相关概念场的特点 • 基于概念词语的相关性最终应归结于词语所代表的概念的相关性。 • 大范围中英文词语各9万多,概念各11万多。 • 跨语种(cross-language)中文与英文双语的系统。

  24. 相关概念场的应用 • 语义排歧 • 文本聚类

  25. 实现方法 • 从查询步骤来看,可以分为共性查询和个性查询 • 在查询范围上,共有三个级别

  26. 实现方法—共性查询 共性查询包括同类、反义或对义以及高度相关的动态角色项:domain 、MaterialOf、RelateTo 共性查询在三个级别的查询范围和所有义原类都适合,并且查询范围为第一级时只进行共性查询。

  27. 实现方法—共性查询 动态角色:domain的特殊性

  28. 实现方法—个性查询 个性查询是根据概念主类划分的,共分为:事件、实体、属性、属性值

  29. 实现方法—个性查询(事件类) 第二级查询: • 根据DEF主类的节点深度决定查询方式,目前定义为节点深度大于4时进行查询。 • 抽取DEF中第一层的概念片段进行查询。 如:“煲汤”

  30. 实现方法—个性查询(事件类) 第三级查询: • 根据DEF主类的义原框架进行模糊查询。如:“出阁” • 遍历实体类每一个义原的框架,找出包含DEF主类的义原,并以这个义原作为DEF进行精确查询。如:“吃”

  31. 实现方法—个性查询(实体类) 第二级查询: • 根据DEF主类进行First方式的查询。如:“禾苗” • 抽取DEF中第一层的概念片段进行查询,如果是实体类进行模糊查询,如果是事件类,调用事件类函数进行处理。 如:“大春作物”

  32. 实现方法—个性查询(实体类) 第三级查询: • 抽取DEF中深层的事件类概念片段进行查询。 • 抽取DEF主类义原的框架的概念片段进行查询。 如:“天空”

  33. 实现方法—个性查询(属性类) • 找出所有属于这个属性的属性值,根据这些属性值进行查询 • 特别处理“scope”如:“饭量”

  34. 实现方法—个性查询(属性值类) • 找出这个属性值所属的属性,根据这一属性进行查询 • 特别处理“scope”如:“长篇”

  35. 知网英汉翻译系统 知网英汉翻译系统是一个基于规则的翻译系统 三大组成部分: • 程序部分 • 知网知识词典 • 规则 程序的三个组成部分: • 词法处理 • 语法和语义分析 • 译文生成

  36. 词法处理 • 分词 • 组词 • 查单词 • 短语匹配 • 信息提取 • 生词处理

  37. 词法处理—分词 英文分词需要注意的几个问题: • 标点符号:“,” “-” “'” • 数字:可能是时间 • 英文句号:“.”

  38. 词法处理—组词 英文中有大量由“-”和“'”构成的词语,如:Al-Qa'ida(“基地”组织)、T-shirt 特例:brother’s

  39. 词法处理—查单词 在真实文本中,英文单词会根据时态、数量、人称的不同而产生不同的变体。 I amreading.He has two books.

  40. 词法处理—查单词 还会因英文语法的需要加上不同的前后缀而产生词性的变体,如:tion、less、ness。

  41. 词法处理—查单词 因词义的需要加上前后缀而产生的变体,如:un、re、mini、micro。

  42. 词法处理—短语匹配 一般情况下词典中保存的短语往往不能直接与真实文本中的相匹配,由于在查单词时已经做了一定的工作,我们可以在此基础上通过排列组合,使词典中的短语和文本中的相匹配。

  43. 词法处理—信息提取 • 保留词尾信息 • 保留大小写信息 • 判定是否为同形

  44. 词法处理—生词处理 • 普通数字 • 序数词 • 时间 • 未收录名词

  45. 语法和语义分析 组成部分: • 主控程序 • 规则解释器 特点: • 充分利用了知网丰富的词汇信息和强大的语义系统 • 规则描述语言可以直接引用KDML

  46. 语法和语义分析 在规则中可以对每一个词语的每一个概念做出如下的提问: • 指定的词语是否存在或包含某个概念,如:DEF={human|人:{SufferFrom|罹患:experiencer={~}}}DEF>{human|人:{SufferFrom|罹患:experiencer={~}}} • 指定词语的概念主类是什么 • 指定词语的概念主类的上位为某个概念 • 指定词语的概念主类的父节点为某个概念 • 概念A是否为概念B的整体

  47. 译文生成 经过语法和语义分析,已得到了句子各成分间的逻辑语义关系,在此基础上,把上述逻辑语义关系,依照汉语的语法和语言习惯,进行适当的添加和调整,最后得出汉语译文。

  48. 在意义计算中,一些常用的函数 • DEF的存储结构 • 包含关系 • 比较关系 • 片段提取

  49. 在意义计算中,一些常用的函数 DEF的存储结构如下:struct S_DEF_NODE { WORD Domai; // 域 WORD Class; // 类 char Fathe; // 父节点 char Exten; // 扩展标记,记录从哪个节点扩展出来的 char Layer; // 层次; char S_Off; // 子节点起始位置 }; struct S_DEF { BYTE NodeNum; // 节点个数 BYTE SemeNum; // 义元个数 S_DEF_NODE Node[Max_Seme_Num]; // };

  50. 在意义计算中,一些常用的函数 包含关系的计算: • 用法:int Def_Match( const S_DEF* ApsA , const S_DEF* ApsB , int AiNodeA = 0 , int AiNodeB = 0 )bool Def_Match_Recursion( const S_DEF* ApsA , const S_DEF* ApsB , int AiNodeA , int AiNodeB ) • 功能:判断DEF_A是否包含DEF_B;判断DEF_A是否从指定节点开始包含DEF_B • 参数: • 返回值:N>= 0:DEF_A从第N个节点开始包含DEF_B;N < 0:DEF_A不包含DEF_B

More Related