自然语言处理31_第1页
自然语言处理31_第2页
自然语言处理31_第3页
自然语言处理31_第4页
自然语言处理31_第5页
免费预览已结束,剩余1页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1 基于 WEB 与汉语自然语言处理的地理信息系统应用研究 崔奇明 鞍山供电公司 辽宁 鞍山 114001 摘要 介绍了一个基于 Visual Prolog 与英语自然语言处理的单用户地理信息查询系统模型 Geobase 通过 对此模型的研究与改进 提出了基于 WEB 与汉语自然语言处理的地理信息查询系统模型总体设计思想并进 行了实现 包括建立汉语词库和给出其相应的汉语句子分词算法 部分语言集 代码等 并探讨了此系统 模型与大型数据库的联接 关键词 人工智能 自然语言处理 中文信息处理 Web Visual Prolog APPLICATION RESEARCH OF GEOGRAPHY INFORMATION SYSTEM BASED ON WEB AND CHINESE NATURAL LANGUAGE PROCESSING CUI Qi Ming Anshan Power Supply Company Anshan Liaoning 114001 Abstract 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 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 to a larger database Keywords Artificial Intelligence Natural Language Processing Chinese information Processing Web Visual Prolog 1 引言 做为人工智能 AI 的一个研究主题 自然语言处理 NLP 已经在一些系统中得到 应用 人类使用自然语言 如汉语 英语 进行交流是一种智能活动 AI 研究者们一直在 尝试形式化处理自然语言所需要的过程机制 如把自然语言概念化为一种知识库系统以处 理人与计算机的自然语言对话 并建立计算机软件来模型化这个处理过程 一种比较成熟 和有效的方法并不使用显式的领域模型而是利用关键字或模式 Pattern 来处理自然语言 这 种方法利用预先设计的结构存储有限的语言学和领域知识 输入的自然语言句子由预定义 的含有指示已知对象或关系的关键字或模式的软件来扫描处理 这种方法也即做为一种自 然语言接口与数据库系统或专家系统等进行连接 以检索其中的信息 通过学习国外相关 应用案例 分析一个英语自然语言处理的模型系统 从而研究并实现基于 WEB 与汉语自然 语言处理的地理信息查询系统模型 2 基于英语自然语言处理的系统模型 Geobase 2 1 Geobase 模型简介 Geobase 是针对一个地理信息系统的查询而研制的 其中用自然语言英语来查询地理 信息数据库 Visual Prolog 可装入的一个文本文件 通过输入查询的英语句子 Geobase 分析并转换这些英语句子为 Visual Prolog 能够理解的形式 然后给出查询的答案 Geobase 把数据库看做是由联系而联接起来的实体联系网络 实体是存储在数据库中的数据项 联 系是联接查询句子中实体的词或词组 如句子 Cities in the state California 这里的两个实 体 Cities 和 state 是由联系 in 联接的 词 the 在这里被忽略 而 California 被看做是 state 实体的一个实例 Geobase 通过将用户的查询与实体联系网络进行匹配来分析查询句子 如查询句子 which rivers run through states that border the state with the capital Austin 首先 忽略某些词 which that the 其结果查询句子为 rivers run through states border state with capital Austin 其次找出实体与联系的内部名 实体可能有同义词 复数 联系也有 2 同义词并可能由几个词组成等 经过转换后 查询句子为 river in state border state with capital Aaustin 通过查找 state with capital Austin 的 state Geobase 再找出与这个 state 相邻 接的所有的 states 最后找出 run through 由 assoc in run through 转义为 in states 的 rivers 2 2 数据库及实体联系网络 数据库谓词举例如下 state Name Abbreviation Capitol Area Admit Population City City City City city State Abbreviation Name Population 实体联系网络结构 schema Entity Assoc Entity 如下 schema population of state schema city in state 实体对数据库查询的接口 通过谓词 db 和 ent 实现 如 db ent assoc ent string string ent ent string 2 3 Geobase 分析器 分析器用来识别查询句子的结构 Geobase 把查询的句子分类为九种类型 分析使用 一种 差分表 方法 分析器中第一个参数是过滤后的表 第二个参数对应实体名 最后 一个参数是分析器建立的查询结构 如 pars LIST E Q s attr LIST OL E Q OL Q 为查询结构 如分析句子 How large is the town new york 首先过滤器给出待分析词表 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 转义为 city size E2 BIG 匹配 size city large entitysize E2 E1 匹配 entitysize city population schema E1 A E2 匹配 schema population of city get ent S1 S2 X 返回实体名等 一旦分析器分析完一个句子 Geobase 便调用谓词 db 和 ent 给出查询结果 3 Geobase 模型的汉化研究及实现 对 Geobase 模型的汉化研究即通过对 Geobase 及自然语言处理过程的汉化 使之能识 别汉语句子的输入 并利用这个识别汉语句子的自然语言处理系统查询存储有中国地理信 息的数据库 3 1 汉语句子与英语句子特点 汉语字或词与英语单词或词组一样既有复数形式 也有同义词 一个差别是 英语句 子的每个单词之间是以空格分隔的 这使得在处理英语句子时比较方便 并且被分隔的独 立的单词本身已经表明了其所含的语义 如 What is the highest mountain in California 利用 Visual Prolog 中的 fronttoken 函数很容易将此句处理成一个表 What is the highest mountain in California 并且表中各项都有一定的语义 而对汉语句子 来说 加利福尼亚最高的山是什么 不能直接用 fronttoken 函数处理成表 较难分清 哪几个汉字应该连接在一起 具有独立的语义 这些需要在识别汉语句子时做特殊处理 即汉语句子分词 并且由于汉语语序与英语语序不同 在汉化的 Geobase 中要调整语序 3 2 Geobase 模型汉化的其它考虑及基本结构图 对原 Geobase 模型所提供的语言集 GEOBASE LAN 进行汉化 使其内容为汉字 对原 Geobase 模型所提供的数据库文件 GEOBASE DBA 进行调整 建立一个 ORACLE 3 数据库 在其中存储中国的地理信息数据 由另外的软件对其进行输入与维护 在汉化 Geobase 中查询之前 从 ORACLE 中导出数据表即形成 GEOBASE DBA 文件 对原 Geobase 模型的程序代码进行修改 以配合汉化的语言集 GEOBASE LAN 及数据 库 GEOBASE DBA 如对谓词 db ent 做修改 原 Geobase 模型是基于 WINDOWS 平台单用户的自然语言处理查询系统 为了使其能 在更大的范围内使用 改造 Geobase 使其能在 Internet Intranet 上应用 基于 WEB 与汉语自然语言处理的地理信息查询系统基本结构图如下 登录网站 4 处理汉语句子的算法及程序脚本 4 1 基于 Visual Prolog 汉语句子分词算法 此汉语句子分词算法以最大匹配算法为基础 首先建立一个汉字词库 也可利用已有的 相同格式的词库 每行存储一个汉字词组 词组长短各异 此词库配合分词算法使用 现 以分词最大长度为 4 个汉字为例描述此分词算法如下 在 Visual Prolog 中调用词库 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 个汉字 与表 LIST20 中各项匹配 如匹配成功 则将此汉字顺序 输入汉语自然语言查询句子 汉语句子分词处理 过滤掉分词后存储在表中汉 语句子里的标点符号等 分析器分析过滤后的句子 分析器结构 过滤后的表 实体名 查询结构 定位 实体名和查询谓词 相关谓词完成对数据库查询 4 写入表 LL1 中 使表 LIST22 等于去掉此 1 个汉字后剩余的表 然后转 继续分词 如不匹 配或表 LIST22 长度小于 1 时 则转 4 2 汉语句子分词算法程序脚本 PREDICATES nondeterm process4 STRINGLIST STRINGLIST STRINGLIST nondeterm condcf STRINGLIST STRINGLIST nondeterm attach STRINGLIST STRINGLIST STRINGLIST nondeterm member STRING STRINGLIST reverse STRINGLIST STRINGLIST reverse1 STRINGLIST STRINGLIST STRINGLIST CLAUSES member X X member X L member X L reverse X Y reverse1 X Y reverse1 Y Y reverse1 X1 U X2 Y reverse1 U X1 X2 Y reverse1 errorexit condcf L1 L2 not eof input readln B attach L1 B Lnew condcf Lnew L2 condcf L L attach L L attach X L1 L2 X L3 attach L1 L2 L3 process4 LL reverse LL LL1 process4 HEAD1 HEAD2 HEAD3 HEAD4 REST LIST200 LL concat HEAD1 HEAD2 N1 concat HEAD3 HEAD4 N2 concat N1 N2 N member N LIST200 attach N LL LL1 process4 REST LIST200 LL1 process4 HEAD1 HEAD2 HEAD3 REST LIST200 LL concat HEAD1 HEAD2 N1 concat N1 HEAD3 N member N LIST200 attach N LL LL1 process4 REST LIST200 LL1 process4 HEAD1 HEAD2 REST LIST200 LL concat HEAD1 HEAD2 N member N LIST200 attach N LL LL1 process4 REST LIST200 LL1 process4 HEAD1 REST LIST200 LL member HEAD1 LIST200 attach HEAD1 LL LL1 process4 REST LIST200 LL1 GOAL consult GEOBASE DB data consult GEOBASE LAN language openread input STR2 txt readdevice input condcf LIST22 closefile input readdevice keyboard openread input STR20 txt readdevice input condcf LIST20 closefile input readdevice keyboard 5 process4 LIST22 LIST20 4 3 算法应用举例 在 Internet Intranet 网页上输入汉语句子 如 辽宁内流过的河 提交后经汉 化 Geobase 处理 生成表 辽 宁 内 流 过 的 河 同时 装入词库文件 形成表 辽宁 内流过的 长 省 河 查询句子经过 分词算法处理后生成表 LL1 辽宁 内流过的 河 对表 LL1 调用分析 器进行分析 确定查询类型 最终利用谓词 db 和 ent 在数据库中查询出答案 其中输入的 内流过的 汉字组合 通过 assoc 内 内流过的 处理 转义为 内 在 汉化 Geobase 内部 查询句子变为 辽宁内河 符合 schema 河 内 省 模式 所以原查询句子是可以识别的句子 其它可识别的句子如 给出辽宁的市 给出鞍山的 人口 给出辽宁的省会 哪些河不流经吉林 吉林邻接那些省内流过的河的名是什 么 等等 5 有关语言集 数据库举例 5 1 汉语词库 以表形式给出 如 给出 辽宁 内流过的 河 的 长度 有 多少 通过 流经 省会 5 2 汉化 Geobase 语言集 schema 市 内 省

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论