智能知识库工程模型浅析

2018-02-14 12:49王欢
数字技术与应用 2018年10期

王欢

摘要:信息时代来临,智能搜索已成为大势所趋。本文运用组件技术构建一种实现智能知识库的工程模型。通过用户接口、转换查询,数据存储等组件实现英语语言模型的初步查询检索。最后对本模型相关组件功能扩展进行了展望。

关键词:智能知识库;散列表;信息搜索

中图分类号:TP182   文献标识码:A     文章编号:1007-9416(2018)10-0000-00

信息时代的到来,人们获取知识的途径多种多样。但获取结果并不完全尽如人意。搜索引擎搜到的结果往往是重复的价值较低的内容,甚至有很多完全不相关的东西。绝大多数论坛又不够专业,一个问题往往不是没有解答就是有很多不够满意的答复版本。求助于电子数据库,往往又遇到付费的尴尬。智能知识库[2]应运而生。

本文用现有的技术手段描述出了一种实现智能知识库的工程模型。该模型总体上分为三个组件[4](即三个agent):用户接口组件,转换查询组件和数据存储组件。信息查询时,用户接口组件接受不同形式的用户查询指令,并转化为统一的内部查询方式传递给转换查询组件;转换查询组件将传递来的内部查询方式转换为具体的存储查询方式,并传递给数据存储组件;数据存储组件按查询条件查询出所需的信息,并回传给用户接口组件。评价反馈时,用户通过用户接口组件给所查得的信息一个评价,并由用户接口组件直接传给数据存储组件。信息录入时,与查询时相同,只是查询到已有此信息则可以继续编辑,没有就可以创建。本知识库工程模型结构如图1所示。

1 用户接口组件

用户接口组件是最复杂的组件,其主要作用就是一个词法分析器。将用户用于查询的自然语言转化为内部表示的查询语言符号。由于自然语言过于庞大和复杂,因此本知识库所使用的查询语言只是自然语言[3]的一个很有限的正则子集,只有英语的一般疑问句形式,即“疑问词+助动词+主语”的形式。将查询语言的形式规定为什么是、何时、何地、如何、为何等几种固定的问句形式。也就是语法是确定的,因此就不必再做语法分析[1],语义也随之确定。这样便大大简化了系统模型,易于实现、扩展和维护。

要保证正确理解用户的查询意图是最困难的,尤其是汉语这种语义丰富的语言,因此分词技术就显得很重要。然而考虑到每个人的语法习惯不同,无论是经典的正向或者反向匹配,还是改进的加窗的最大匹配,抑或是现在流行的基于统计的方法,通用的分词方法都是很难实现的。由于本知识库查询语言模型只是英语[7]的一般疑问句形式,分词方面只要简单的正向匹配即可。

本模型使用散列函数法将多样的用户查询语言符号(如:什么时候、何时、哪一天、几点)转化成单一确定的内部表示的查询语言符号。由于散列表[5]几乎是确定的并且是线性对应的,这样大大避免了语言符号冲突问题。符号转换散列表如图2所示。对于散列表还可以改进为从配置文件读入关键字,这样对关键字的增删修改都将是很方便灵活的。

2 轉换查询组件

转换查询组件的主要作用就相当于一个代码生成器。相对来说比较简单,只是将用户接口组件转化生成的内部表示的查询语言:正则确定的英语一般疑问句,转化为具体的存储查询方式。可使用数据库做存储(如标准SQL语言),也可以使用一般的Web页面做存储,或使用某种基于字符串查找的自定义查询语言。

3 数据存储组件

数据存储组件则主要是对不同数据进行分类存储,比如具体的分为:自然科学、工科、计算机科学、编译技术、词法分析,使得存储和查询都有规律,提高存储和查询的效率,查询时还可预先选择分类以更加精确快速的查找。同一个信息属于不同的分类可以建立链接,以减小不必要的数据冗余。数据库中的信息可以被实时修改和更新。

为了保证检索质量同时又可以直接获得全文,存储中用了一个独立的技术来确保信息的质量。该技术就是取自生物学中的“用进废退”学说[5],形式是一个评价函数,该评价函数由用户操作实现。具体实现方法是,将那些用户索取次数多、给出评价高的信息累计给出一个较高的计数值。例如:赋予某方面的专家对他所熟悉的领域中的信息有较高评价权值,这样既民主又公平。

4 结语

本智能知识库模型的三个组件都尚有很大的改进和扩展空间。比如用户接口组件可以改进的识别更多的自然语言语法;转换查询组件可扩展支持更多更丰富的查询方式;数据存储组件可以支持更多更好的存储形式,提供更好的匹配模式和评价机制。由于三个组件是相互独立的,中间仅以接口来传递信息,还可以把数据存储组件换成一个搜索组件,做成一个更加智能的搜索引擎,而不必像现在的搜索引擎那样,搜“GRE满分”搜到一大堆重复的“GRE满分作文”“GRE满分阅读”之类的话题。此外还可以加入其他组件来实现更多的功能,只要沿用现有组件间通信方式既可。

参考文献

[1]Allen J, Natural Language Understanding, 2nd ed. , The Benjamin/Cummings Publishing Company, Inc. ,1994:101-136.

[2][美] Alexander M. Meystel, James S. Albus 著,冯祖仁,李人厚,等译.智能系统——结构、设计与控制[M].电子工业出版社,2005.

[3]王小捷,常宝宝.自然语言处理技术基础[M].北京邮电大学出版社,2002.

[4]Donald E. Knuth, The Art of Computer Programming,Vol. 3 Sorting and Searching, 2nd ed., Addison Wesley Longman, 1998:65-75.

[5]Robert Sedgewick, Algorithms in C, 3th ed., Addison Wesley, 1998:98-116.

[6]Steven S. Muchnick, Advanced Compiler Design and Implementation,  Elsevier Science, 1997:210-244.

[7][美]Betty Schrampfer Azar著,宋云峰 译,西蒙高级英语语法[M].外语教学与研究出版社,1998.

Analysis of Intelligent Knowledge Base Engineering Model

WANG Huan

(Tangshan College, Tangshan Hebei  063016)

Abstract: With the advent of the information age, intelligent search has become the trend of the times. In this paper, we use component technology to construct an engineering knowledge base. Through user interface, conversion query, data storage and other components, the preliminary query and retrieval of English language model is realized. Finally, the functional expansion of the related components of the model is prospected.

Key word: Intelligent knowledge base;Hash table;Information search