自然语言处理系统.doc

上传人:桔**** 文档编号:559765949 上传时间:2022-11-17 格式:DOC 页数:13 大小:57.51KB
返回 下载 相关 举报
自然语言处理系统.doc_第1页
第1页 / 共13页
自然语言处理系统.doc_第2页
第2页 / 共13页
自然语言处理系统.doc_第3页
第3页 / 共13页
自然语言处理系统.doc_第4页
第4页 / 共13页
自然语言处理系统.doc_第5页
第5页 / 共13页
点击查看更多>>
资源描述

《自然语言处理系统.doc》由会员分享,可在线阅读,更多相关《自然语言处理系统.doc(13页珍藏版)》请在金锄头文库上搜索。

1、基于WEB与汉语自然语言处理的地理信息系统应用研究 摘要:介绍了一个基于Visual Prolog与英语自然语言处理的单用户地理信息查询系统模型Geobase。通过对此模型的研究与改进,提出了基于WEB与汉语自然语言处理的地理信息查询系统模型总体设计思想并进行了实现,包括建立汉语词库和给出其相应的汉语句子分词算法、部分语言集、代码等,并探讨了此系统模型与大型数据库的联接。关键词:人工智能;自然语言处理;中文信息处理;Web;Visual Prolog APPLICATION RESEARCH OF GEOGRAPHY INFORMATION SYSTEM BASED ON WEB AND CH

2、INESE NATURAL LANGUAGE PROCESSING CUI Qi-Ming Anshan Power Supply Company ,Anshan Liaoning 114001Abstract:The geography information query system model Geobase based on Visual Prolog and English Natural Language Processing is introduced in this paper.General design frame of the geography information

3、query system model based on Web 、Chinese NLP and its implementation is created by researching this model ,including implement Chinese words library and Chinese sentence split words algorithm. The related partial language set and program code is given,and also investigating this system model connect

4、to a larger database.Keywords: Artificial Intelligence;Natural Language Processing;Chinese information Processing;Web;Visual Prolog1引言做为人工智能(AI)的一个研究主题,自然语言处理(NLP)已经在一些系统中得到应用。人类使用自然语言(如汉语、英语)进行交流是一种智能活动。AI研究者们一直在尝试形式化处理自然语言所需要的过程机制,如把自然语言概念化为一种知识库系统以处理人与计算机的自然语言对话,并建立计算机软件来模型化这个处理过程。一种比较成熟和有效的方法并不使

5、用显式的领域模型而是利用关键字或模式(Pattern)来处理自然语言。这种方法利用预先设计的结构存储有限的语言学和领域知识,输入的自然语言句子由预定义的含有指示已知对象或关系的关键字或模式的软件来扫描处理。这种方法也即做为一种自然语言接口与数据库系统或专家系统等进行连接,以检索其中的信息。通过学习国外相关应用案例,分析一个英语自然语言处理的模型系统,从而研究并实现基于WEB与汉语自然语言处理的地理信息查询系统模型。2 基于英语自然语言处理的系统模型Geobase21 Geobase模型简介 Geobase是针对一个地理信息系统的查询而研制的,其中用自然语言英语来查询地理信息数据库(Visual

6、 Prolog可装入的一个文本文件)。通过输入查询的英语句子,Geobase分析并转换这些英语句子为Visual Prolog能够理解的形式,然后给出查询的答案。Geobase把数据库看做是由联系而联接起来的实体联系网络。实体是存储在数据库中的数据项,联系是联接查询句子中实体的词或词组,如句子 Cities in the state California,这里的两个实体Cities和 state 是由联系in 联接的,词the在这里被忽略,而California被看做是state 实体的一个实例。 Geobase通过将用户的查询与实体联系网络进行匹配来分析查询句子。如查询句子:which ri

7、vers run through states that border the state with the capital Austin? 首先忽略某些词:which、that、the、?,其结果查询句子为:rivers run through states border state with capital Austin,其次找出实体与联系的内部名,实体可能有同义词、复数,联系也有同义词并可能由几个词组成等,经过转换后,查询句子为:river in state border state with capital Aaustin,通过查找state with capital Austin的s

8、tate,Geobase再找出与这个state相邻接的所有的states,最后找出run through(由assoc(in,run,through)转义为in)states的rivers。22 数据库及实体联系网络数据库谓词举例如下:state(Name,Abbreviation,Capitol,Area,Admit,Population,City,City,City,City)city(State,Abbreviation,Name,Population) 实体联系网络结构schema(Entity,Assoc,Entity)如下:schema(population,of,state)sc

9、hema(city,in,state)实体对数据库查询的接口,通过谓词db和ent实现,如:db(ent,assoc,ent,string,string)ent(ent,string) 23 Geobase分析器 分析器用来识别查询句子的结构,Geobase把查询的句子分类为九种类型。分析使用一种“差分表”方法,分析器中第一个参数是过滤后的表、第二个参数对应实体名,最后一个参数是分析器建立的查询结构,如:pars(LIST,E,Q):-s_attr(LIST,OL,E,Q),OL=,!. Q为查询结构如分析句子“How large is the town new york?”, 首先过滤器给出

10、待分析词表:large, town, new, york,然后调用分析器谓词pars,即依次执行如下谓词:s_attr(BIG,ENAME|S1,S2,E1,q_eaec(E1,A,E2,X):- 第一个s_attr子句ent_name(E2,ENAME), 由town转义为citysize(E2,BIG), 匹配size(city,large)entitysize(E2,E1), 匹配entitysize(city,population)schema(E1,A,E2), 匹配schema(population,of,city)get_ent(S1,S2,X),!. 返回实体名等一旦分析器分析

11、完一个句子,Geobase便调用谓词db和ent给出查询结果。3Geobase模型的汉化研究及实现对Geobase模型的汉化研究即通过对Geobase及自然语言处理过程的汉化,使之能识别汉语句子的输入,并利用这个识别汉语句子的自然语言处理系统查询存储有中国地理信息的数据库。31 汉语句子与英语句子特点汉语字或词与英语单词或词组一样既有复数形式,也有同义词。一个差别是:英语句子的每个单词之间是以空格分隔的,这使得在处理英语句子时比较方便,并且被分隔的独立的单词本身已经表明了其所含的语义,如:What is the highest mountain in California?, 利用Visual

12、 Prolog中的fronttoken函数很容易将此句处理成一个表:“What”,”is”,”the”,” highest”,” mountain”,” in”,”California”,”?” , 并且表中各项都有一定的语义。而对汉语句子来说,“加利福尼亚最高的山是什么?”,不能直接用fronttoken函数处理成表,较难分清哪几个汉字应该连接在一起,具有独立的语义,这些需要在识别汉语句子时做特殊处理,即汉语句子分词,并且由于汉语语序与英语语序不同,在汉化的Geobase中要调整语序。32 Geobase模型汉化的其它考虑及基本结构图 对原Geobase模型所提供的语言集GEOBASE.LA

13、N进行汉化,使其内容为汉字。 对原Geobase模型所提供的数据库文件GEOBASE.DBA进行调整:建立一个ORACLE数据库,在其中存储中国的地理信息数据,由另外的软件对其进行输入与维护。在汉化Geobase中查询之前,从ORACLE中导出数据表即形成GEOBASE.DBA文件。 对原Geobase模型的程序代码进行修改,以配合汉化的语言集GEOBASE.LAN及数据库GEOBASE.DBA,如对谓词db、ent做修改。 原Geobase模型是基于WINDOWS平台单用户的自然语言处理查询系统,为了使其能在更大的范围内使用,改造Geobase使其能在Internet/Intranet上应用

14、。基于WEB与汉语自然语言处理的地理信息查询系统基本结构图如下:输入汉语自然语言查询句子 登录网站相关谓词完成对数据库查询分析器分析过滤后的句子,分析器结构=(过滤后的表,实体名,查询结构),定位实体名和查询谓词过滤掉分词后存储在表中汉语句子里的标点符号等汉语句子分词处理4处理汉语句子的算法及程序脚本4 1基于Visual Prolog 汉语句子分词算法 此汉语句子分词算法以最大匹配算法为基础。首先建立一个汉字词库(也可利用已有的相同格式的词库),每行存储一个汉字词组,词组长短各异,此词库配合分词算法使用。现以分词最大长度为4个汉字为例描述此分词算法如下:在Visual Prolog中调用词库

15、str20.txt,并形成词库表LIST20,表中的每个项是词组。读入待分词的文件str2.txt,也形成一个表LIST22,表中的每个项是一个单独的汉字。当表LIST22为空表时,分词结束(将得到的表LL1反序,即可用于分析器分析)。否则,从表LIST22前端取4个汉字,组成一个词组,并与表LIST20中各项匹配,如匹配成功(即此词组是表LIST20中的一项),则将此词组写入表LL1中,使表LIST22等于去掉此4个汉字后剩余的表,然后转继续分词;如不匹配或表LIST22长度小于4时,则转。从表LIST22前端取3个汉字,组成一个词组,并与表LIST20中各项匹配,如匹配成功,则将此词组顺序写入表LL1中,使表LIST22等于去掉此3个汉字后剩余的表,然后转继续分词;如不匹配或表LIST22长度小于3时,则转。从表LIST22前端取2个汉字,组成一个词组,并与表LIST20中各项匹配,如匹配成功,则将此词组顺序写入表LL1中,使表LIST22等于去掉此2个汉字后剩余的表,然后转继续分词;如不匹配或表LIST22长度小于2时,则转。从表LIST22前端取1个汉字,与表LIST

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 生活休闲 > 社会民生

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号