2013-03-20 77 views
3

我正在为一家主要旅行社工作。我很有经验,但现在遇到了需要建立一种AI的问题。我知道这些脚本到处都存在,但我似乎无法找到任何有用的东西。智能Ajax/PHP常见问题脚本

基本上我们正在构建一个FAQ脚本。我们每天都会加载相同类型问题的电子邮件,因此我们希望建立一个联系表单,这个联系表单就像我在写这个时一样工作:在右侧它已经提供了一些已经存在的联系表单回答了与我现在写的内容类似的问题。当我写这个主题时也会发生同样的情况。

嗯,要做生意。我正在制作一份联系表格,但由于客户正在撰写主题和/或信息,我希望在他们撰写时为他们呈现一些预先定义的Q & A.我相信我无法使用soundex,因为常见问题将以丹麦语显示,因此听起来不像英语那样发音。

所以..我会如何:

  • 树立数据库?我应该使用全文还是标签,并从消息中提取已知标签?
  • 构建PHP脚本?你认为我应该知道哪些功能?

基本上我在研究,所以我会非常感谢仅仅是简单的SQL查询以及为此目的而设计的完整脚本!任何有用的东西。

回答

1

正想添加此作为赞恩评论,但它得到了相当长的:

根据丹麦语法,你可能需要为Levenshtein距离一些相当大的分界点找到可能的匹配。

如果你有更多的时间花在这一点,你可能想在字边界分裂,遏制个别字词,然后比较这些计数茎与你已经在数据库中。在http://pecl.php.net/package/stem似乎有一个词干库(我从来没有用过它,但它似乎支持丹麦语)。

$stem = stem($myInputWord, STEM_DANISH); 

而且因为我:

由于看来PECL干没有正式的文件,我可以找到(好,我很好奇),你会在安装PECL包后使用它像这样反正是仔细阅读PHP手册,我不妨补充的是,较大的应用程序(我不会介绍它只是你的情况下),你可能想看看PHP手册的Search Engine Section设立Solr的或喜欢。但是,再次,这可能是你的情况矫枉过正。

+0

好点,我其实并没有想到词干。这肯定会有用,并最大限度地减少数据库负载。我会研究那个。如果我不能工作,我认为这可能不会超过半小时,因为丹麦语言在词汇结尾方面非常简单。 – Dencker 2013-03-20 10:36:49

+0

使用像我之前提到的预先制作的词干程序也可能有助于“停用词”,即您不希望在比较中包含的词,因为它们太常见和/或不重要。 – mabi 2013-03-20 10:38:41

+0

你说得对 - 从数据库调用中取出一些负载可能是一个好主意。 – Dencker 2013-03-20 10:40:56