摘 要:随着信息社会、知识经济的到来,传统的被动式知识传授已逐步让位于主动式知识探究。本系统主要从农业的信息角度出发,采用中文自然语言处理技术,建立知识库和自动分词,进行语言理解,这样一方面完成对用户提问的理解;另一方面完成正确答案的生成,使农民能够及时得到自己想要的信息,更快捷的处理疑问,使其真正实现农业信息化。
关键词: 自然语言理解;自动回答;知识库;自动分词;语言理解
自然语言理解(natural language understanding,NLU),又称自然语言处理(natural language processing, NLP),人工智能研究的重要内容之一。自然语言理解,是指计算机对自然语言的音,形,义等信息进行处理,即对字,词,句子和篇章的输入,输出,识别,分析,理解,生成等操作和加工。就是利用电子计算机来理解自然语言,使计算机懂得人的语言,让计算机在人的语言的指挥下,进行某些“智能”活动。
自然语言理解是一门新兴的边缘学科,内容涉及语言学、心理学、逻辑学、声学、数学和计算机科学,而以语言学为基础。自然语言理解的研究,综合应用了现代语音学、音系学语法学、语义学、语用学的知识,同时也向现代语言学提出了一系列的问题和要求。这门学科也通过长期的研究,已经形成了一整套的理论和方法,使我们加深了人类语言现象的理解,并且能解决在自然语言的应用中遇到的许多实际问题。
中文信息处理
1. 领域知识库构建,中文自动分词
领域知识库是用来存储领域专家提供的专门知识的集合体。这种专门知识即包括领域对象的原理性知识,如有关对象的概念、事实、定理、方程、方法、模型、实验、和操作等。一般或存在于书本或文献中,大多数有确定的数学模型;也包括专家解决复杂的不良结果问题时得到的经验等启发性知识。
领域知识库是基于知识的系统的核心部件,知识库中的知识数量和质量直接决定着系统性能和效率。
构建领域知识库。知识是智能的基础,为了使计算机具有智能,使它能模拟人类的智能行为,就必须使它具有知识,但是需要把人类拥有的知识采用适当的模式表示出来,才能存储到计算机中去,这就是知识表示要解决的问题。知识表示是对知识的一种描述,或者说是一组约定,是一种计算机可以接受的、用于描述知识的数据结构,对知识进行表示就是把知识表示成便于计算机存储和利用的某种数据结构,知识表示方法又称为知识表示技术,其表示形式称为知识表示模式。
目前使用较多的只是表示方法有:一阶谓词逻辑表示法,产生式表示法,框架表示法,语义网络表示法,面向对象表示法。
一个完整的知识库非常庞大,不仅需要精密的框架设计还要录入海量的词汇数据,甚至还有一次多义、多词同义等特殊情况。知识库中需要一个词汇集合来存放已知的词汇信息。在数据库中建立词汇表,各字段如下:编号(id)表示本条词语在数据库中的编号。为整数类形,自动递增且为主键,必填字段。词语(word)表示词汇本身,为字符类型,必填字段,词性(partos)表示词汇的词性,为字符类型,必填字段。近义词(similar)表示词汇的相近词汇,为字符类型,可选字段,词义(acceptation)表示词汇的词义,字符类型,可选字段。备注(remark)例如:id:1,word:大豆partos:名词,similar:黄豆。当然基于农业领域的知识库构建只有词汇表是不够的,还要有农业信息知识库。以大豆为例,大豆的基础知识,大豆的品种介绍,大豆植物学特征,大豆生物学特征,大豆病害,大豆虫害,大豆草害,大豆栽培技术,大豆高产栽培技术,大豆栽培新技术,大豆市场信息等等。所以要对各种农业信息进行详细入库,并使其更高效查询。
中文自动分词(Chinese Word Segmentation)指的是将一个汉字序列切分成一个一个单独的词。中文自动分词是文本挖掘的基础,对于输入的一段中文,成功的进行中文自动分词,可以达到电脑自动识别语句含义的效果。汉语自动分词的任务,通俗地说,就是要由机器在中文文本中词与词之间自动加上空格。
现有的分词算法可分为三大类:基于字符串匹配的分词方法、基于理解的分词方法和基于统计的分词方法。
(1)基于字符串匹配的分词方法:本质就是基于大规模词库的机械分词方法。
(2)基于理解的分词方法:基本思想就是在分词的同时进行句法、语义分析,
利用句法信息和语义信息来处理歧义现象。通常包括3个部分:分词子系统、句法语义子系统、总控部分。
(3) 基于统计的分词方法:主要是利用词是稳定的字的组合这一规律,这样就可以通过记录字与字相邻共现的频率从而利用概率统计的方法给切词系统提供切分标准。
本系统为自动回答系统,所以要充分理解每一条用户所提信息,以上分词方法作为本系统基础分词的方法,在对领域内的名词用概念从属树组织起来,再利用格语法理论建立动词的静态知识库,用静态事实库配合概念从属树的爬树过程来完成对切词结果的语义分析,同时对切词结果进行歧义排除。
2. 进行语言分析,语言理解的实现
语言虽然表示成一连串的文字符号或者一串声音流,但其内部实际上是一个层次化的结构,语言的分析和理解过程也应当是一个层次化的过程,一般分为词法分析、句法分析、和语义分析。词法分析的主要目的是找出词汇的各个词素,从中获得语言学信息,汉语中每个字都是一个词素,但是切分出各个词就不是那么容易的。例如,我们研究所有东西,可以是“我们——研究所——有——东西“,也可以是”我们——研究——所有——东西“。句法分析是对句子和短语的结构进行分析,最直接的方法就是模式匹配,如noun+verb+noun,但自然语言有很多变化,一个句子可以表示成((pronoun∨(adj*noun))verb(pronoun∨(adj*noun))
这也可以用状态转移图来表示,称之为转移网络(TN,transition network)。语义分析就是通过分析找出词义、结构意义及其结合意义,从而确定语言所表达的真正含义和概念。语义分析方法主要有谓词逻辑、语义网络、格语法、概念从属理论等等。
语言理解的实现,农业信息的语句结构相对简单,句子组成远不如日常用语那么复杂。农业词语根据行业特性、构成特点的差异,可以划分为农业术语、农业语词、农业用语三个层次。农业术语一般运用于行业典籍,农业语词较易为行外人士理解,农业用语容
易发生分化。其扩散以南北朝同类文献为起点,到普通文献的农业语境,然后到普通文献的非农业语境,经过激烈竞争,部分词语保留到了后世文献中。专门词语和一般词语可以互相转化,行业色彩轻重是决定性因素:农业术语演变为一般词语的难度较大,演变为农业语词的难度较小,演变为农业用语的难度最大。农业信息提问句式以农业方面名词开头,并大多数以疑问句存在。下面以“大豆子叶上产生赤褐色圆形斑是什么病,怎样防治”。
这个句子根据上面的切词方法,首先字符匹配可以切成“大豆/子叶/上/产生/赤褐色/圆形/斑/是/什么/病/,/怎样/防治”.用这种方法会产生歧义,也可以分成“大豆子/叶/上/产生/赤褐色/圆形/斑/是/什么/病/,/怎样/防治”。大豆和大豆子在农业上是两种植物,所以还要进一步对这句话理解,分析其句子成分,找到主语,谓语,宾语。只要能准确分析出句子的每个成分,那么整句的分析就有了一个良好的基础。“(大豆子叶上产生赤褐色圆形斑)主语(是)谓语(什么病)宾语,(怎么)主语(防治)谓语。首先找到句子谓语(谓语一般由动词构成的),这样我们就可以根据分词到指示表中找到句子中的谓语,在程序中一般扫描谓语前面的为主语,谓语后面的为宾语。找到主语和宾语到知识表中各个词进行搜索,搜索引擎会把搜到的结果进行排列,降低切词带来的歧义性,找到用户提出问题的最佳答案。
3. 语言自动生成。
一个基于中文自然语言理解的农业信息自动回答系统不仅是理解了提问就算完成,最重要的是对问题的回答。语言生成就是把在计算机内部以某种形式存放的需要交流的信息,以自然语言的形式表达出来。语言生成是自然语言理解的一个逆过程。一般包括以下两部分:1、建立一种结构,以表达出需要交流的信息。2、以适当的词汇和一定的句法规则,把要交流的信息以句子形式表达出来。同自然语言理解一样,语言生成的处理方法有很多种,这不仅由于它们所采用的内部表达结构不同(如采用语义网络或者概念从属等),而且由于语言生成的目的不同(如有的目的是为了对输入文章作摘要,有的是为了作为问题回答系统的人-机界面等) 。
本系统首先要建立一种结构,以回答的形式为主,如:主语+”是”+(宾语),如果我们要回答“大豆子叶上产生赤褐色圆形斑是什么病”这个问题,就要提出主语(大豆子叶上产生赤褐色圆形斑)+谓语(是)+宾语(来自知识库)。知识库中有大豆紫斑病(症状、病原、传播途径和发病条件、防治方法)。程序查找到(大豆子叶上产生赤褐色圆形斑)为大豆紫斑病的症状里边的字段,程序可得出宾语(大豆紫斑病),同时第二个问题也进行了回答。
在本问题得到完善回答后,系统后台在程序运行前期需要进行人工审核,如果问题回答出现偏差需要及时修改,并存入历史数据库。如有相同问题出现时,可直接读取历史数据库进行回答。使本系统更加完善,搜索更高效,回答更准确,更加有利于用户使用。
结束语
本文设计了一个简单的基于中文自然语言理解的农业信息自动回答系统,本系统的核心技术为中文的自然语言理解技术,实现了领域知识库的建立,中文的自动分词和进行了语言分析、语言理解的实现,并成功对其所提出问题进行了合理回答。经过简单的输入测试,系统初步达到设计目的。能够满足一些简单农业信息要求。还存在不足之处待以后改进。
(1)扩充知识库。虽然是农业领域知识库,但其内容涉及也是十分庞大的,
所以无论在结构上或内容上都要扩充知识库。
(2)完善分词算法。本系统分词还存在歧义性,还需要长时间的对各种句子测试和改进。
(3)完善语言理解和自动回答。
自然语言的丰富程度远远超过这些,如何做到更高级的自动回答系统,使机器语言理解更加智能,是一个长期且艰巨的任务。
参考文献:
[1]冯志伟。 国外主要自然语言理解系统概况 计算机科学 1984(2)
[2]吴 江。 中文自然语言理解技术与智能检索 图书馆学研究 2006(3)
[3]尹朝庆, 尹皓。人工智能与专家系统 中国水利水电出版社 2002
[4]丰博,胡钢伟,赵克,亿珍珍。 一种自反馈汉语切词系统的研究和实现 计算机技术与发展 2006(5)
[5]王祥滨,赵 克,程培涛,许 威。 基于领域自然语言理解的知识库管理系统 计算机技术与发展 2009(12)
[6]蔡自兴,徐光祐。人工智能及其应用 清华大学出版社 2003
[7]化振红。《齐民要术》农业词语扩散的层次分析 学术论坛 2006(12)
[8]由丽萍 ,范开泰 ,刘开瑛 汉语语义分析模型研究述评 中文信息学报 :2005(7)