2013-03-20 76 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