[0054] 图1为根据本发明实施方式基于多种中文知识资源的中文词语语义关系识别方法的流程图;
[0055] 图2为根据本发明实施方式基于多种中文知识资源的中文词语语义关系识别装置的结构示意图;
[0056] 图3为根据本发明实施方式反义关系识别单元的结构示意图;
[0057] 图4为根据本发明实施方式整体部分关系识别单元的结构示意图;
[0058] 图5为根据本发明实施方式同义关系识别单元的结构示意图;
[0059] 图6为根据本发明实施方式上下位关系识别单元的结构示意图。具体实施方式:
[0060] 为了使本技术领域的人员更好地理解本发明实施例的方案,下面结合附图和实施方式对发明实施例作进一步的详细说明。
[0061] 以对由词语A“机动车”和词语B“卡车”组成的词语对进行语义识别处理为例。
[0062] 本发明实施例基于多种中文知识资源的中文词语语义关系识别方法的流程图,如图1所示,包括以下步骤:
[0063] 步骤101,反义关系识别。
[0064] 结合多种中文知识资源获取反义词集合,根据反义词集合判定词语间语义关系是否具有反义关系,具体为:
[0065] 步骤1‑1)利用HowNet中显式定义的反义关系,对给定词语A和B进行词语A的反义词集合ASETA提取操作,如果B∈ASETA,那么两词语存在反义关系,否则转步骤1‑2),另外
HowNet中定义的对义关系也作为一种反义关系处理;
[0066] 在HowNet中提取词语A“机动车”的反义词(包括对义词)集合得ASETA={“板车”,“大板车”,“大车”,“单车”,“东洋车”,“独轮车”,“黄包车”,“黄鱼车”,“架子车”,“胶皮车”,“脚踏车”,“驴车”,“马车”,“毛驴车”,“牛车”,“排子车”,“平板车”,“平板三轮”,“平车”,“人力车”,“三轮”,“三轮车”,“山地车”,“手车”,“手推车”,“兽力车”,“推车”,“小车”,“洋车”,“助力车”,“自行车”,“轺”,“辂”,“毂”,“鞅”},显然词语B“卡车” 故转步骤1‑
2)。
[0067] 步骤1‑2)使用百度汉语提取给定词语A的反义词集合ASETA,利用哈工大同义词词林扩展版提取词语A的同义词集合SSETA,对于每个词语W∈SSETA提取其反义词并合并到
ASETA,如果词语B∈ASETA,则词语A和B存在反义关系,否则转步骤1‑3);
[0068] 在百度汉语中提取词语A“机动车”的反义词集合得 由于词语B“卡车”故转步骤1‑3)。
[0069] 步骤1‑3)使用百度百科提取词语A的反义词集合ASETA,如果词语B∈ASETA,则两词语存在反义关系,否则转步骤2‑1)。
[0070] 在百度百科中提取词语A“机动车”的反义词集合得 由于词语B“卡车”故转步骤2‑1)。
[0071] 步骤102,整体部分关系识别。
[0072] 使用多种中文知识资源提取部分词集合,根据部分词集合判定词语间是否具有整体部分关系,具体为:
[0073] 步骤2‑1)利用HowNet分别提取词语A和B的部分词集合MSETA和MSETB,如果B∈MSETA或A∈MSETB,那么两词语存在整体部分关系,否则转步骤2‑2);
[0074] 在HowNet中提取词语A“机动车”和B“卡车”的部分词集合得MSETA={“大灯”,“方向盘”,“防晒板”,“后备箱”,“后车窗”,“后挡板”,“后灯”,“后视镜”,“驾驶室”,“挎斗”,“跨斗”,“汽车发动机”,“汽车喇叭”,“汽车配件”,“汽缸”,“前灯”,“燃油表”,“尾灯”,“行李箱”,“油门”,“遮阳板”,“遮阳篷顶”}, 因B“卡车” A“机动车”所以转步骤2‑2)。
[0075] 步骤2‑2)使用HowNet义原定义进行处理,在定义中含有义原“part|部件”的词语表示该词作为某个词语的部分词(部件),定义中的“whole”属性的值指示了其整体词的义
原定义,据此提取词语A和B的义原定义集合DEFSETA和DEFSETB,如果存在DEFA∈DEFSETA和
DEFB∈DEFSETB,满足DEFA含有“whole”属性且其值为DEFB,或DEFB含有“whole”属性且其值为DEFA,则词语A和B存在整体部分关系,否则转步骤3‑1);
[0076] 此外,有些词语对直接利用义原定义不能有效识别出整体部分关系,可以通过泛化的方式进行处理,将上述中“whole”属性的值泛化为其上位概念,其余操作不变。
[0077] 利用HowNet提取词语A“机动车”和B“卡车”的义原定义集合DEFSETA={“{LandVehicle|车:modifier={automatic|自动}}”}和DEFSETB={“{LandVehicle|车:
modifier={automatic|自动},{transport|运送:instrument={~},patient=
{physical|物质}}}”},显然不存在DEFA∈DEFSETA或DEFB∈DEFSETB含有义原“part|部件”,因此转步骤3‑1)。
[0078] 步骤103,同义关系识别。
[0079] 利用多种中文知识资源提取同义词集合,基于同义词集合判定词语间是否具有同义关系,具体为:
[0080] 步骤3‑1)根据哈工大同义词词林扩展版中标有“=”的行表示同义词,获取词语A的同义词集合SSETA,如果B∈SSETA,则词语A和B存在同义关系,否则转步骤3‑2);
[0081] 在哈工大同义词词林扩展版中,提取词语A“机动车”的同义词集合得 B“卡车” 故转步骤3‑2)。
[0082] 步骤3‑2)利用HowNet提取词语A的同义词集合SSETA,如果词语B∈SSETA,则词语A和B存在同义关系,否则转步骤3‑3);
[0083] 在HowNet中,提取词语A“机动车”的同义词集合得SSETA={“机动车”,“机动车辆”,“汽车”,“轿车”,“汽车”,“小车”,“小轿车”,“小汽车”,“小卧车”},因B“卡车”所以转步骤3‑3)。
[0084] 步骤3‑3)利用百度汉语提取词语A的同义词集合SSETA,如果词语B∈SSETA,则词语A和B存在同义关系,否则转步骤3‑4);
[0085] 在百度汉语中,提取词语A“机动车”的同义词集合得 因B“卡车”所以转步骤3‑4)。
[0086] 步骤3‑4)根据百度百科的页面链接,分别获取词语A和B的百科链接页面集合PSETA和PSETB,如果满足 则词语A和B存在同义关系,否则转步骤4‑1)。
[0087] 在百度百科中,分别提取词语A“机动车”和B“卡车”的百科链接页面集合得PSETA={“https://baike.baidu.com/item/机动车”}和PSETB={“https://baike.baidu.com/
item/卡车/4339”,“https://baike.baidu.com/item/卡车/15281831”,“https://
baike.baidu.com/item/卡车/622401”,“https://baike.baidu.com/item/卡车/
3697802”,“https://baike.baidu.com/item/卡车/7109303”,“https://
baike.baidu.com/item/卡车/3697784”},由于 故转步骤4‑1)。
[0088] 步骤104,上下位关系识别。
[0089] 借助于多种中文知识资源提取下位词集合,根据下位词集合判定词语间是否具有上下位关系,具体为:
[0090] 步骤4‑1)利用HowNet分别提取词语A和B的下位词集合HSETA和HSETB,如果B∈HSETA或A∈HSETB,则词语A和B存在上下位关系,否则转步骤4‑2);
[0091] 在HowNet中分别提取词语A“机动车”和B“卡车”的下位词集合得HSETA={“奥迪”,“巴士”,“班车”,“包车”,“宝马”,“奔驰”,“本田”,“别克”,“长途汽车”,“出租车”,“出租汽车”,“大巴”,“大客车”,“大宇”,“的士”,“电车”,“丰田”,“福特”,“公车”,“公共汽车”,“公交车”,“黑车”,“货车”,“货柜车”,“机场巴士”,“急救车”,“计程车”,“交通车”,“教练车”,“警车”,“救护车”,“救火车”,“旧式汽车”,“卡车”,“卡迪拉克”,“空车”,“林肯”,“漏斗车”,“旅行车”,“旅游车”,“梅塞德斯”,“面包车”,“区间车”,“双层公共汽车”,“私车”,“私家车”,“通勤车”,“往返巴士”,“无轨电车”,“现代”,“消防车”,“小巴”,“小公共”,“小公共汽车”,“小客”,“小客车”,“巡逻车”,“游览车”,“越野车”,“运输车”,“载重汽车”,“自动倾卸卡车”,“自卸车”,“自卸卡车”}和 因词语B“卡车”∈HSETA,所以词语A“机动车”和B“卡车”存在上下位关系,也即至此完成语义关系识别操作。
[0092] 步骤4‑2)根据HowNet义原定义蕴含的上下位关系,分别提取词语A和B的义原定义集合DEFSETA和DEFSETB,如果存在DEFA∈DEFSETA和DEFB∈DEFSETB,满足主要义原一致且
或 则词语A和B具有上下位关系。
[0093] 同理,可完成对词语对“人”和“脑袋”的语义关系识别操作,为了说明具体的泛化操作,以下直接过渡到步骤2‑2),
[0094] 在HowNet中,分别提取词语A“人”和B“脑袋”的义原定义集合得DEFSETA={“{Behavior|举止:host={human|人}}”,“{Physique|体格:host={AnimalHuman|动
物}}”,“{Strength|力量:host={community|团体}}”,“{human|人}”,“{human|人:
PersonPro={3rdPerson|他}}”,“{human|人:PersonPro={3rdPerson|他},quantity=
{mass|众}}”,“{human|人:modifier={adult|成年}}”,“{human|人:quantity={mass|
众}}”,“{human|人:{engage|从事:agent={~},content={fact|事情:modifier=
{specific|特定}}}}”},DEFSETB={“{part|部件:PartPosition={head|头},whole=
{AnimalHuman|动物}}”},显然不存在DEFA∈DEFSETA和DEFB∈DEFSETB,使得DEFA含有
“whole”属性且其值为DEFB,或DEFB含有“whole”属性且其值为DEFA,故进行泛化操作,泛化DEFA=“{human|人}”为其上位概念的义原定义“{AnimalHuman|动物}}”,此时满足存在DEFB∈DEFSETB含有“whole”属性且其值为“{AnimalHuman|动物}}”,因此词语“人”和“脑袋”存在整体部分关系。
[0095] 通过以上操作步骤,即可完成给定词语对的语义关系识别工作。
[0096] 相应地,本发明实施例还提供一种基于多种中文知识资源的中文词语语义关系识别装置,其结构示意图如图2所示。
[0097] 在该实施例中,所述装置包括:
[0098] 反义关系识别单元201,用于使用多种中文知识资源获取反义词集合,根据反义词集合判定词语间语义关系是否具有反义关系;
[0099] 整体部分关系识别单元202,用于使用多种中文知识资源提取部分词集合,根据部分词集合判定词语间是否具有整体部分关系;
[0100] 同义关系识别单元203,用于利用多种中文知识资源提取同义词集合,基于同义词集合判定词语间是否具有同义关系;
[0101] 上下位关系识别单元204,用于借助于多种中文知识资源提取下位词集合,根据下位词集合判定词语间是否具有上下位关系。
[0102] 图2所示装置的反义关系识别单元201的结构示意图如图3所示,其包括:
[0103] HowNet反义关系识别单元301,用于利用HowNet中显式定义的反义关系,对给定词语A和B进行词语A的反义词集合ASETA提取操作,如果B∈ASETA,那么两词语存在反义关系,
否则转百度汉语反义关系识别单元,另外HowNet中定义的对义关系也作为一种反义关系处
理;
[0104] 百度汉语反义关系识别单元302,用于使用百度汉语提取给定词语A的反义词集合ASETA,利用哈工大同义词词林扩展版提取词语A的同义词集合SSETA,对于每个词语W∈
SSETA提取其反义词并合并到ASETA,如果词语B∈ASETA,则词语A和B存在反义关系,否则转
百度百科反义关系识别单元;
[0105] 百度百科反义关系识别单元303,用于使用百度百科提取词语A的反义词集合ASETA,如果词语B∈ASETA,则两词语存在反义关系,否则转整体部分关系识别单元。
[0106] 图2所示装置的整体部分关系识别单元202的结构示意图如图4所示,其包括:
[0107] HowNet整体部分关系识别单元401,用于利用HowNet分别提取词语A和B的部分词集合MSETA和MSETB,如果B∈MSETA或A∈MSETB,那么两词语存在整体部分关系,否则转义原
定义整体部分关系识别单元;
[0108] 义原定义整体部分关系识别单元402,用于使用HowNet义原定义进行处理,在定义中含有义原“part|部件”的词语表示该词作为某个词语的部分词(部件),定义中的“whole”
属性的值指示了其整体词的义原定义,据此提取词语A和B的义原定义集合DEFSETA和
DEFSETB,如果存在DEFA∈DEFSETA和DEFB∈DEFSETB,满足DEFA含有“whole”属性且其值为
DEFB,或DEFB含有“whole”属性且其值为DEFA,则词语A和B存在整体部分关系,否则转同义关系识别单元;
[0109] 此外,在义原定义整体部分关系识别单元中,有些词语对直接利用义原定义不能有效识别出整体部分关系,可以通过泛化的方式进行处理,将上述中“whole”属性的值泛化
为其上位概念,其余操作不变。
[0110] 图2所示装置的同义关系识别单元203的结构示意图如图5所示,其包括:
[0111] 词林同义关系识别单元501,用于根据哈工大同义词词林扩展版中标有“=”的行表示同义词,获取词语A的同义词集合SSETA,如果B∈SSETA,则词语A和B存在同义关系,否则
转HowNet同义关系识别单元;
[0112] HowNet同义关系识别单元502,用于利用HowNet提取词语A的同义词集合SSETA,如果词语B∈SSETA,则词语A和B存在同义关系,否则转百度汉语同义关系识别单元;
[0113] 百度汉语同义关系识别单元503,用于利用百度汉语提取词语A的同义词集合SSETA,如果词语B∈SSETA,则词语A和B存在同义关系,否则转百度百科同义关系识别单元;
[0114] 百度百科同义关系识别单元504,用于根据百度百科的页面链接,分别获取词语A和B的百科链接页面集合PSETA和PSETB,如果满足 则词语A和B存在同
义关系,否则转上下位关系识别单元。
[0115] 图2所示装置的上下位关系识别单元204的结构示意图如图6所示,其包括:
[0116] HowNet上下位关系识别单元601,用于利用HowNet分别提取词语A和B的下位词集合HSETA和HSETB,如果B∈HSETA或A∈HSETB,则词语A和B存在上下位关系,否则转义原定义
上下位关系识别单元;
[0117] 义原定义上下位关系识别单元602,用于根据HowNet义原定义蕴含的上下位关系,分别提取词语A和B的义原定义集合DEFSETA和DEFSETB,如果存在DEFA∈DEFSETA和DEFB∈
DEFSETB,满足主要义原一致且 或 则词语A和B具有上下位关
系。
[0118] 可以将图2~图6所示的基于多种中文知识资源的中文词语语义关系识别装置集成到各种硬件实体中。比如,可以将基于多种中文知识资源的中文词语语义关系识别装置
集成到:个人电脑、智能手机、工作站等设备之中。
[0119] 可以通过指令或指令集存储的储存方式将本发明实施方式所提出的基于多种中文知识资源的中文词语语义关系识别方法存储在各种存储介质上。这些存储介质包括但不
局限于:软盘、光盘、硬盘、内存、U盘、CF卡、SM卡等。
[0120] 综上所述,在本发明实施方式中,通过结合多种中文知识资源获取反义词集合,根据反义词集合判定词语间语义关系是否具有反义关系;使用多种中文知识资源提取部分词
集合,根据部分词集合判定词语间是否具有整体部分关系;利用多种中文知识资源提取同
义词集合,基于同义词集合判定词语间是否具有同义关系;借助于多种中文知识资源提取
下位词集合,根据下位词集合判定词语间是否具有上下位关系。由此可见,应用本发明实施
方式之后,实现了基于多种中文知识资源的中文词语语义关系识别。本发明实施方式可以
利用多种不同的中文知识资源进行词语语义关系识别,充分利用了每种知识资源;在进行
整体部分识别过程中,针对HowNet的义原定义的特点,本发明通过泛化的方法加以补充,使
识别方法适应性得到提升;在进行上下位关系识别操作中,本发明充分挖掘HowNet中义原
定义的蕴含的信息,有效地提高了识别的正确率;本发明提出的基于多种中文知识资源的
中文词语语义关系识别方法和装置,能够自动识别给定词语对的语义关系,包括反义关系、
整体部分关系、同义关系、上下位关系,具有较高的识别正确率。
[0121] 本说明书中的实施例采用递进的方式描述,彼此相同相似的部分互相参见即可。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之
处参见方法实施例的部分说明即可。
[0122] 以上对本发明实施例进行了详细介绍,本文中应用了具体实施方式对本发明进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法和装置;同时,对于本领域的一
般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,故本说明
书不应理解为对本发明的限制。