试论WORDNET下的隐喻处理
2014-02-23郑艺芳陈颖悦
郑艺芳,陈颖悦
(1.福建师范大学 人民武装学院,福建 福州 350007;2.厦门理工学院,福建 厦门 361024)
试论WORDNET下的隐喻处理
郑艺芳1,陈颖悦2
(1.福建师范大学 人民武装学院,福建 福州 350007;2.厦门理工学院,福建 厦门 361024)
以在线词典里的各种语义知识和语义关系为基础,设计并实现一个处理“A is B”型的英文隐喻自动处理系统。该系统采用JAVA语言来编写,包含语句预处理子系统,数据库管理子系统,词义检索子系统,词语相似度计算子系统。系统设计通过仿真实验来验证其可行性,证明了研究的实用价值。并提出了研究的不足及今后的研究方向。
隐喻;WORDNET;自动处理
在自然语言处理的研究领域,隐喻[1]问题正逐渐引起了学者们的关注,不少国外学者在隐喻知识库建设和隐喻模型设计等方面进行了很多尝试,亦取得了一定成果。但是,这些成果存在着一些缺陷,并非完美。例如:(1)基于实例方法的MIDAS系统。我们知道,MIDAS[2]是采用KL-ONE的扩展语义系统KODIAK作为知识要义来表示语言,KODIAK则是由概念层次结构和继承机制来联结各知识元素。在MIDAS的系统中,常规隐喻被表示为目标概念和源概念之间的关系。以此关系为基础,MIDAS系统通常被设计为由两个子系统组成,即隐喻扩展系统(metaphor extended system,MES)和隐喻解释系统(metaphor interpretation system,MIS)。(2)Met5[3]系统。此系统基于优先语义学方法,认为理解隐喻语言的方法不同于理解字面语言的方法,因而Met5系统不强调隐喻知识在语言理解中的运用。Met5系统将输入的语句全部看作为一般的直陈句进行理解,只有在字面意义上获取出现选择限制冲突时,才将其作为隐喻进行处理。因为Met5系统基于优先语义学的方法,受限于所构造的本体,同时也依赖于手工构造的字面意义选择优先,因此,在构造规模和一致性上无法得以保障。(3) CorMet[4]系统。它是以统计为手段,基于大规模语料库提取的隐喻分析模型。此系统的优点是避免了基于优先语义方法中手工构造选择优先的缺点,能对具体领域的概念隐喻进行恰当的解释。但由于它主要是依赖谓词来进行分析,因此CorMet所能处理的隐喻主要是喻体分属和本体两个领域,并且这两者能够通过共有的谓词进行关联的一类隐喻。然而,对于领域区别比较模糊的文学隐喻和结构隐喻,经常无法准确识别和解释。
综合以上分析,目前学界还未建立一个稳定的广泛使用的隐喻计算解释系统。因此本研究将采用Java语言来编程,设计包含搜索模块、预处理模块、数据库管理模块和相似度计算模块等的系统。利用数据库管理的相关技术java database connectivity(JDBC),提高整个系统的工作效率。在对系统进行测试时,设想采用自下而上,分别从中国学习者英语库CLEC中选取大量的隐喻和非隐喻的例子以及英语隐喻语料库Metlude进行测试,并评估系统的准确率,同时验证其可行性。
1 研究内容
本项目的研究通过结合相关的隐喻理论基础,探讨几种建立隐喻理解模型方法的适用范围及优缺点,在此过程中进行总结,分析出可资借鉴的方法,并利用WordNet这部语义词典中提供的各种语义知识和各种语义关系进行隐喻理解模型方面的研究。主要的研究目标在于欲求通过研究隐喻自动处理技术的模型构建问题,设计出一个隐喻自动处理系统。而系统将主要包括3项内容:隐喻语句的预处理,隐喻语句的自动判别和隐喻语句的自动理解。研究内容可具体阐述为以下几个方面:
(1)研究目标为构建一个基于语义分析的隐喻自动处理模型,在操作上需要考虑对隐喻语句进行预处理,包括对分词、句子结构及句法进行分析、处理,此项内容将为其它工作的顺利进行奠定一定的基础。
(2)在隐喻句的自动理解过程中,经常需要进行语义计算(语义相似度、相关度)和知识搜索,因此本项目的研究将WordNet引入隐喻处理系统中作为知识库支持,通过改进知识搜索方法和基于WordNet的语义计算,结合数据库管理系统的相关技术,使得隐喻理解处理时所需要的知识能够方便地在其中搜索到。
(3)在隐喻句的自动判别过程中,需要将本体描述语言和图论等技术引入隐喻处理系统的语句形式化建模中。而在语义建模的过程中,利用图论的相关理论定义语义弧和语义网络的节点,构建语句的语义网络。以此语义网络为基础,对隐喻句进行自动判别。
2 系统设计
2.1 系统构思
J2EE(java 2 enterprise edition)[5]是构建在Java 2平台上的,其技术核心基础就是Java 2平台,它不仅具有J2SE平台的所有功能,而且有提供对EJB,Servlet,JSP,XML等技术的全面支持,其终级目标是:成为一个能够支持企业级应用开发的体系结构并简化解决方案、部署和管理等复杂问题。J2EE已经成为企业级开发的工业标准和首选平台。本系统的构思是基于J2EE平台并结合WordNet进行开发,包含:语句预处理子系统,数据库管理子系统,词义检索子系统,词语相似度计算子系统。每个子系统的具体功能及实现过程如下:
(1)语句预处理子系统:本子系统对用户输入的句子先进行句型分析、判断:如不符合本系统分析的句型结构(型如:A is B)则退出系统,并给出提示信息,让用户重新输入符合句型结构的语句;如若符合本系统的句型结构,则对用户输入的句子进行词法分析,同时结合Java语言的正则表达式功能分析句子,以求取句中的本体和喻体。
(2)数据库管理子系统:Java语言提供对数据库管理的支持。在系统的隐喻判别过程中,需要对数据库进行不断地检索、更新、添加新记录等操作,本系统利用Java语言强大的数据库管理功能(JDBC),对系统中使用到的数据库的几种基本操作进行封装,同时提供相应的调用接口以便系统中别的子系统进行方便使用。
(3)词义、词类检索子系统:对第一步求得的本体和喻体对应的单词进行检索。在本系统的数据库中,首先检索本体和喻体的相关词义及词类。如果检索不成功,则通过网络访问SUMO及WordNet查询本体和喻体对应的词义以及所属的词类,并且将检索的结果添加到数据库中,以备后用。
(4)词语相似度计算子系统:以词汇语义分类作为基础,抽取其中的同义词,随后采用基于向量空间的方法计算出相似度。最后,根据求得的相似度的值判断句中的本体和喻体是否能构成隐喻。
2.2 系统的关键技术
在判别隐喻时,对矩阵的本体和喻体的词义和词类会反复进行搜索。假设这些检索的工作都是通过互联网来进行的话,那有可能会在很大层度上影响了系统判别的效率。为了能够使系统判别的速度有所提高,在系统开发设计的过程中,我们通过建立一个本地database,来让很多的检索可以能够在本地的database中完成。通过完善的数据库管理技术,提升系统判别的效率。本项目设计的系统中对数据库的操作是通过Java来实现的。Java是一种简单、面向对象、易传递、稳定、安全、多线程执行控制及三维空间设计的语言,在互联网中引入了强大功能——交互性。Java对数据库的访问是支持的,并可以快捷、高效地联接不同系统中相关的数据库资源。Java还可以通过多个线程来对应多个不同的数据库进行查询等一系列操作。当使用者引发出同一条查询语句时,即可启动多个线程并行运行,来进行异构数据库的联合查询。Java还可以用来设计在互联网上运行的应用程序,通过Java浏览器的兼容性来产生交互的应用。作为Browser/Server结构应用系统的数据库客户,Java能穿透网络从服务器端到达浏览器端执行,并借助JDBC(javad atabasec onnection)来连接数据库。其过程如图1。
图1 通过JDBC访问数据库
2.3 仿真实验
1)initi():
系统初始化函数,代码如下所示:
private void init(IScheduler timer)throws InitializationException{
network=GenericFactory.buildNetwork();//构建网络层拓扑结构实体
this.timer=timer; //设置仿真周期时间
Results.clearStabRate();
nodeHandles=new TreeMap();
eventsProcessed=0;//将系统仿真过程参数是设置为初始值
}
2)maintain_fingers():
子网本地路由表维护函数,路由表信息中存放有该节点的前驱和后续节点信息 (IP地址和索引),其代码如下所示:
private static void maintain_fingers(Id id,int num,String type){
//传入节点的编号,节点数量信息和节点类型信息
Hashtable node_info;
Integer stress;
if(results.containsKey(id)){
//如果表中含有该节点的信息,核对节点类型
node_info=(Hashtable)results.get(id);
if(node_info.containsKey("Stress"+type)){
stress=(Integer)node_info.get("Stress"+type);
int value=stress.intValue();
value+=num;
node_info.put("Stress"+type,new Integer(value));
results.put(id,node_info);
}
else{
node_info.put("Stress"+type,new Integer(num));
results.put(id,node_info);
}
}
else{
//路由表中不存在该节点信息,将该节点信息发送到Node类进行处理
node_info=new Hashtable();
node_info.put("Stress"+type,new Integer(num));
results.put(id,node_info);
}
}
3)stabilized()
网络稳定化处理函数。
具体处理过程代码如下。
protected void stabilize(){
RouteMessage aMsg=null;
if(hasReceivedSucc)
{
hasReceivedSucc=false;
String key=GenericFactory.generateKey();
sendMessage(key,nodeHandle,finger[0],GET_PRE,
REQUEST,null);
addMessageListener(key,new GetPreListener(this));
}
if(finger[0]!=null&&!finger[0].equals(this.nodeHandle)
&&predecessor!=null&&!finger[0].equals(predecessor)){
sendMessage(null, nodeHandle,finger[0],
SUCC_LIST, REQUEST,null);
}
}
4)Node_joined():
节点加入处理函数。
在网络中当有新的节点加入时,原有节点也需要做出相应处理,更新路由表的内容,其代码如下。
public void join(NodeHandle bootstrap){
//若新节点为普通节点,将网络中节点的路由表进行调整修改。
if(bootstrap.equals(nodeHandle)){
for(int i=0;i<bitsPerKey;i++){
finger[i]=this.nodeHandle;
}
predecessor=this.nodeHandle;
}else{
//重新构建网络层拓扑结构实体,将结果发送至网络协议层的事件处理程序
String key=GenericFactory.generateKey();
predecessor=null;
NodeHandle boots=null;
sendMessage(key, nodeHandle,
bootstrap, FIND_SUCC,REQUEST,null); addMessageListener(key,new FindSuccListener(this));
}
}
5)Node_leaved()
节点离开处理函数
当节点离开网络时,不仅要通知他的前驱节点更新路由表,还要将其后续节点的路由表信息一起改变,因此节点离开的代码如下。
public void leave(){
hasLeaved=true;//设置离开标志位
sendMessage(null,nodeHandle,predecessor,SET_SUCC,REFRESH,new NodeMessage(finger[0]));
//调用节点类的事件处理程序,更新前驱节点的路由表信息
sendMessage(null,nodeHandle,finger[0],SET_PRE,REFRESH,new NodeMessage(predecessor));
//将新的路由表信息更新至网络中
Logger.log("LEAVING NODE"+id,Logger.EVENT_LOG);
//将离开网络的节点信息记录到日志中 }
3 结论与讨论
隐喻的研究一出现就开始受到广泛的关注,原因在于它在自然语言中有着举足轻重的地位,并且能够在许多领域中得到快速的发展和很好的应用。
本研究所设计的隐喻自动处理系统以强调隐喻知识是人类语言运用和理解中的普遍现象这一认识为基础,对隐喻句的语义分析层面进行着重处理;此外,WordNet的引入,使得该系统的语义分析技术能够突破优先语义学方法的局限,而不受手工构造的字面意义选择优先的限制,在构造规模和一致性上保持统一;另外,该系统能快速处理源于常规隐喻的新奇隐喻,又对非源自常规隐喻的新的隐喻形式,如一些本体和喻体的边界模糊的文学隐喻,也可进行自动判别和理解。总之,笔者所预期建立的隐喻自动处理系统是在前人研究基础上,进行深入探究,将为隐喻的计算机处理技术提供更成熟的操作系统,从而在整体上提升机器翻译的准确性效果和人工智能的语篇理解。但本文研究还存在许多不足,其系统的研究是建立在仿真实验上的,还有待投入实际操作中进一步得到验证;且一些辅助工作增加了系统开销;此外涉及到的算法效率还不是很高,还有待进一步提升,实验还应该更深入进行下去。
[1]周昌乐.隐喻、类比逻辑与可能世界[J].外国语言文学研究,2004,4(6):32-33.
[2]ORTONY A.Beyond literal similarity[J].Psychological Review,1979:88-89.
[3]BLACK M.Models and mMetaphors[M].New York:Cornell University Press,1962.
[4]RICHARDS I A.The philosophy of rhetoric[M].New York:Oxford University Press,1936.
[5]戴帅湘、周昌乐.隐喻计算模型及其在隐喻分类上的应用[J].计算机科学,2005,32(5):159-163.
(责任编辑:朱联九)
On the Process of Metaphor Based on WORDNET
ZHENG Yi-fang1,CHEN Ying-yue2
(1.Renmin Wuzhuang College,Fujian Noumal University,Fuzhou 350007,China;2.Xiamen University of Technology,Xiamen 361024,China)
An automatic processing system of English metaphor to process the model'A is B'on the basis of the semantic knowledge and relation in the on-line dictionaries is designed and realized in this project.Based on Java platform,the system contains sentences pretreatment system,database management subsystem,lexical--semantic retrieval subsystem and word similarity subsystem.Its feasibility and practical value of the system are verified through simulation experiments.The limitations and future research of the project are also presented in this paper.
metaphor;WORDNET;automatic process
TP391
A
1673-4343(2014)04-0032-06
10.14098/j.cn35-1288/z.2014.04.007
2013-12-08
福建省教育厅科技项目(JB13385)
郑艺芳,女,福建莆田人,讲师。研究方向:计算机应用技术。