2014-04-22 111 views
0

(如果你看到我剛纔的問題,這是同一項目的一部分)比較MySQL的條目「最近」匹配

我就從哪裏開始不知道,所以我的數字,爲什麼沒有谷歌的(現在我的)最喜歡的地方看!

我正在爲一個學校項目建立一個'約會'網站(因此早期的@ trnty.edu電子郵件驗證),並且想知道是否有可能比較字符串的相似性 - ergo:「我喜歡長時間在海灘散步「和」我喜歡在海灘上散步,或者在沙灘上散步「 - 我們當人們注意到這些相似之處,但我想知道是否有一種方法可以比較這些可能是的一場球賽。

我不想追逐我的尾巴,所以在繼續這個項目之前,我想先知道它是否可能。

我是否應該學習PHP,Javascript,Ajax,以上所有(?)適用於指定的網站?

+0

這可能會有幫助。 https://dev.mysql.com/doc/refman/5.0/en/fulltext-search.html雖然我還沒有使用它,但我通常使用solr或類似的方法,但這可能會超出您的項目的上下文。 –

+0

這可能有幫助。 http://www.php.net/manual/en/function.levenshtein.php事實上,最好的辦法取決於你的目標。我爲視頻遊戲做了類似的事情,但它需要一些真正的想法,例如,每個標題爲「超級」的遊戲(就像90%的超級任天堂遊戲)都不被認爲是相似的。 –

+0

有趣的例子@AndrewNee,我會檢查確定。 (謝天謝地,這是一個例子!) –

回答

1

總之,「不」。

這並不意味着你想要做的事情是不可能的,它只是意味着沒有內置的語義分析器能夠理解文本的內容,上下文,語言,語法和意圖。那麼,這些可能存在,但它們沒有商業可用。尤其是不在免費軟件上。

你能做什麼?有幾個選項。如果你實際上在尋找文本的相似性,那麼兩種常見的方法就是統計單詞和計數卦。你可以谷歌「trigrams」(或N克)看看這意味着什麼。請注意,這些都會發現「我喜歡在沙灘上散步」和「我討厭在沙灘上散步」,因爲它們非常相似。要處理單詞相似性,您可能需要一本詞典和同義詞庫,這是n-gram方法的一個優點。

另一種被使用的方法,但更多的單個詞或代碼被稱爲Levenshtein距離(谷歌它;)。這是衡量「不同」兩個字符串是如何基於簡單字符串操作的。儘管如此,「我愛......」和「我討厭...」非常相似。

爲了達到文本的情感,你進入情感分析。這使用什麼詞彙傳達的詞典。這些字典的爺爺是哈佛大學的「心理社會」詞典。在這一點上,我很想說可以寫一本關於這個主題的書。我自己只寫了一篇很長的篇章,這篇文章是營銷,銷售和客戶支持的數據挖掘技術,第三版

+0

(投票) 我一直在看'n克' - 他們當然看起來很有希望。 是否需要轉發以尋求一個「示例」php代碼 - 如果我用英文寫了一些東西,並將其推斷用於我自己的目的?我不想嘲笑,但我想要一個代碼'翼人(或女人)'這麼說。:) –

+0

(另外,我不能投票,直到我有15代表,沒有大,只是想讓你知道) –

+0

嗯解釋+1。 @Sobe - 也代表你完成;) –