我想爲PHP中的類似單詞製作文本掃描程序,但我不知道從哪裏開始。掃描儀必須掃描段落並指出數據庫中找到的匹配項,或者提出有助於使本段更好的特定字詞。PHP文本掃描儀如何?
我一開始以爲我可以使用數據庫和搜索引擎腳本,但我被告知這不是實現它的方式。
有人能請我指出正確的方向,所以我可以開始在這方面的工作?
我想爲PHP中的類似單詞製作文本掃描程序,但我不知道從哪裏開始。掃描儀必須掃描段落並指出數據庫中找到的匹配項,或者提出有助於使本段更好的特定字詞。PHP文本掃描儀如何?
我一開始以爲我可以使用數據庫和搜索引擎腳本,但我被告知這不是實現它的方式。
有人能請我指出正確的方向,所以我可以開始在這方面的工作?
我只是發表了另一個答案,因爲我的第一個錯誤的OP評論後,它有太多的評論。
首先,你需要從你的款推斷每一個字,例如使用:
$words_array = explode(" ", $paragraph);
然後,你需要刪除特殊字符,斜線,點,逗號等(可能使用str_replace())。
在第二個步驟,你需要建立同義詞這樣的數據庫:
| id | word | synonyms |
| 0 | car | vehicle |
| 1 | car | transport |
然後像做(爲你的段落中的每個單詞):
SELECT synonyms FROM table WHERE word="car"
並在此之後,你可以獲取結果。
但是這只是開始。您需要需要來優化此方法。例如:您可以在搜索車輛時返回汽車。運輸也一樣。這取決於你!
你已經試過similar_text()?它非常易於使用,您可以輕鬆地使用DB(其中DB可能是文本文件,SQL DB甚至是數組)。
快速例如:
// you have to call this function multiple times for each word of the paragraph and for each word of your DB of suggestions
function suggest ($word_of_the_paragraph, $word_taken_from_a_DB) {
similar_text($word_of_the_paragraph, $word_taken_from_a_DB, $percent);
if ($percent >= $threshold) {
echo $word_taken_from_a_DB; // this is the suggested word
}
}
詞義(例如攜帶,攜帶,攜帶)或類似含義(如汽車,車輛,運輸)? –
類似於汽車,車輛,運輸 – Panki0
所以你正在尋找一個synonims搜索引擎? – HBv6