我想寫一個算法(我假設將依靠自然語言處理技術)來'填寫'搜索項的列表。這可能是我不知道的這種事情的名稱。這種問題叫什麼,什麼樣的算法會給我下面的行爲?NLP算法來'填寫'搜索條件
輸入:
docs = [
"I bought a ticket to the Dolphin Watching cruise",
"I enjoyed the Dolphin Watching tour",
"The Miami Dolphins lost again!",
"It was good going to that Miami Dolphins game"
],
search_term = "Dolphin"
輸出:
["Dolphin Watching", "Miami Dolphins"]
應該基本上弄清楚,如果「海豚」出現在所有的,它幾乎總是要麼在雙字母組「觀賞海豚」或「邁阿密海豚」。首選Python解決方案。
你怎麼知道海豚是「海豚觀賞」或「邁阿密海豚?」的一部分?是否因爲每個二元組中的兩個詞都被大寫?或者你有另一個包含所需的bigrams的列表? –
@RobertHarvey:一個好的NLP算法應該能夠解析[邁阿密海豚]作爲一個術語。與[海豚觀賞]相同。當你考慮這個問題時會更容易,就像你將每個短語形成一個問題一樣。問:「你喜歡看什麼遊覽?」答:[海豚觀賞]巡迴賽,問:誰輸了比賽?答:[邁阿密海豚]。你必須把它解析成一棵樹來看看什麼屬於什麼。通過任何方式都不是一個簡單的問題......但是你可以得到一些準確的結果。 – mpen
@RobertHarvey我有一個特定的單詞列表,所以我知道海豚必須在那裏。 – Trindaz