从纯文本描述中调用函数

时间:2011-03-27 08:34:03

标签: artificial-intelligence machine-learning

我有一个应用程序,它在幕后具有常见的数学函数:

  • 添加(x,y)
  • 乘以(x,y)
  • 方(X)

界面是一个简单的谷歌风格的文本字段。我希望用户能够输入纯文本描述 -

  • '2 * 3'
  • '2次3'
  • '乘以2和3'
  • '取2和3'的乘积

并获得答案数学答案

问题是,我应该如何将文字描述映射到功能?我猜我需要

  • 将文字标记为
  • 识别关键令牌(函数名称,参数)
  • 尝试将令牌组合映射到功能签名

但是我猜这已经是机器学习领域的“解决问题”了。我应该使用自然语言处理吗?纯文本搜索?还有别的吗?

感谢所有的想法,加上实施建议[我正在使用Python / AppEngine;我知道NLTK和Whoosh]

[PS我明白Google已经这样做了,至少对于列表中的前两个查询。我猜它们也有统计学意义,拥有大量的搜索数据。我没有大量可用的数据,因此需要一种替代方法]。

2 个答案:

答案 0 :(得分:1)

在对文本进行标记后,您需要parsing来获取自然语言短语的语法树。完成此操作后,您可以将解析树映射到数学表达式,然后计算表达式。我不认为这是一个已解决的问题。我会从几个模板开始,比如说前两个,然后进行实验。可能描述的范围越大,任务就越难。

答案 1 :(得分:0)

我建议使用一些工具在SimpleParse for python http://www.ibm.com/developerworks/linux/library/l-simple.html等文本上提供语法/模式。作为java程序员,我更喜欢GATE或graph-expression。