技术开发 频道

DDJ访谈:自然语言和数据库技术

【IT168技术分析评论】

  今天我们请到的是Semantra公司的创始人之一,现在是发展和研究部门的副主席Marvin Elder先生(简称ME),Semantra公司主要从事研究自然语言和语义如何在数据库访问上下文中得到应用,下面我们来看一看Marvin Elder先生是如何将自然语言和关系数据库理论联系起来的。

  记者:什么是“会话分析”?

  ME:会话分析是让那些不懂技术的最终用户输入他们熟悉的业务术语,然后由数据库向他们返回事实和相关信息。

  如果需要从技术上回答,将需要理解会话分析在自然语言处理过程(Natural Language Processing 简称NLP)中的位置,从这个角度来看,我们可以将NLP拆分成几段,从历史上看,NLP已经和相对于对非结构化数据资源的文本查询关联在一起了,包括文档、email和RSS等。NLP中的语义是一个新兴的规范,它和计算语言学天生就是一对。

  自然语言数据库查询(Natural Language Database Query 简称NLDQ)是NLP的一个子集,它处理结构化数据库的NL查询,从本质上来说,NLDQ是将NL请求转换成SQL或其它数据库查询语言。因此,语义和关系数据库理论组合在一起解析请求,将认识的含义转换成格式优美的数据库查询,为用户返回精确的结果。

  许多分析师都试图将NLDQ产品和某些特殊的BI工具等价起来,但我们认为一款要数据库做智能分析的工具并没什么特殊之处。一些定制的BI工具确实非常有用,不懂技术的最终用户可以不依赖于IT资源就可以获得他们自己的报告和图表,但悲哀的是,推理能力的缺乏让这些工具向企业用户推广时遇到了极大的阻力。

  对想要或需要靠事实数据做商业决策的人而言,会话分析提供的结果超过了定制BI工具。假设有这样一个富文本问题:“截至08年3月31日前,休斯顿哪些批发商税收超过了100000美元?”使用商业术语和缩略词将这个概念重新定义,这样不懂技术的最终用户就可以直接和企业数据对话了。正好Semantra已经开发出了这样的产品。

  记者:因此你的产品真正实现了自然语言数据库查询,而不是针对非结构化资源的NLP,这几年经过了多次尝试,对你过去的成功你想用什么词语来描述呢?更好的算法?

  ME:的确是这样!在会话分析方面已经取得了突破性进展,Semantra相信会有更好的算法,可以成功地将语义、关系导航和用户交互合并在一起,能够有效地去除定制查询产品的复杂性。

  读者朋友应该已经知道,自然语言数据库查询系统从1970年就开始有人在尝试了,人工智能研究实验室已经放出了许多原型系统,其中一个较著名的就是PLANES(它是一套基于程控语言的询问系统),于1975年由位于伊利诺斯州东部城市乌尔班纳的大学开发出来的。

  1980年,我们的公司(Software Automation)为用户开发出了一个4GL,叫做Salvo,它就内置了自然语言特性,可以从Salvo 4GL代码直接生成NL请求,PC Magazine杂志在1984年的9月刊上将Salvo评为九个非常好的数据库产品之一。

  1990年早期,微软公司引入了英语查询,实际上它利用了一种NL技术,叫做“导航”,这个技术在其它商业产品中也有过尝试。在安装阶段,导航系统需要公司的分析或由IT人员为数据库表之间的关系命名,如SalesReps放订单,订单由订单明细组成,产品是以产品类型作为特征的。

  使用这种导航技术,用户必须通过实体(表)之间的关系跟踪正确的“导航路线”,因此,如果一个用户想问:“哪个SalesReps卖了零售产品?”,他/她不能以会话形式提这个问题,相反,用户应该输入:“列出存放了订单的SalesReps,订单项目关联的产品分类已经标志为‘零售’”。

  导航NL查询算法检索正确的结果,Semantra使用这个方法进行查询确认,学习了非会话式查询的用户在这里通常会犯糊涂,他们会问“为什么Semantra选择了一个更直观的、交互能力强的方法?”,Semantra的用户不仅能够看到它们的查询是如何解释的,还可以看到在原始查询上下文中的其它可能,甚至可以逐渐增加或减少它们请求的范围。

  记者:看起来自然语言数据库查询系统只有和特定的数据库连接才能发挥其作用,现有的数据库(如Oracle,MySQL等)能够胜任这个工作吗?

  ME:Semantra的搜索技术是针对所有关系数据库设计的,我们支持所有的商业数据库,包括Oracle,Microsoft SQL Server,IBM DB2,还有开源数据库,如MySQL,大型数据库就更没问题了,因为大部分对象区域对于特定查询都可以隔离成许多小片段。

  记者:既然你的产品适合于许多数据库,那么你可以和读者分享一下哪个市场你放在首位,以及为什么要这么决策(从技术角度)?

  ME:我们一开始就对市场做了大量的分析,主要看是否符合我们产品的设计初衷,从用户需求的立场来看,我们的研究清晰地表明,我们应该从事行业应用,如CRM和ERP,这些应用通常使用一个特定的术语进行定义,每个行业的用户都会使用他们行业的术语来定义,例如,从事旅游顾问的用户可能倾向于使用“代办”或“代理”,CRM应用程序通常由常见的实体如“会计”和“售货员”组成。

  进入语义学后,它允许用户使用他们熟悉的业务术语表示他们的查询,然后自动关联CRM或ERP系统中对应的概念,会话分析产品允许企业用户不需要长时间学习当前定制BI工具中的曲线图就可以访问数据。

  记者:有一个网站让读者朋友能够去浏览更详细的信息吗?

  ME:当然,你可以浏览www.semantra.com深入地学习会话分析(只需要点击Flash demo链接即可)。

0
相关文章