2013-12-19 78 views
-4

假設我有下面的單詞列表
香蕉,蘋果,桔子,樹在這個單子裏的單詞是樹。可以給任何一個想法寫一個算法。查找英文單詞列表中的奇數單詞的算法?

+0

你必須將其與字典/數據庫/樹進行比較,看看你是否能找到你的匹配。 –

+0

你的問題太廣泛了。你需要知道這些單詞的上下文,這是NLP中的一個問題,所以我不認爲對於你正在呈現的通用案例有一個簡單的算法。 – Lopina

+0

我不認爲這個問題太寬泛,在本體和語義查詢領域是一個相當普遍的問題。 – Draugr

回答

0

看看本體和推理算法。如果你有一個本體論模擬知識的特定領域,你將有一個信息來源,可以讓你區分單詞,例如通過使用部分順序和關係,然後檢查這些詞是否在部分順序的相同「子分支」中。你甚至可以定義一個度量來獲得「親密度」或類似的東西。

編輯:也檢查SPARQ,一種語言來查詢這樣的結構。並檢查三重商店,允許按主題,謂詞對象組合獲取信息。這與您的問題相符,因爲它允許您通過謂詞比較列表中的兩個對象。

0

您可以嘗試創建這樣的分類的話有些數據庫:

banana {food, plant, fruit, yellow} 
apple {food, plant, fruit, computer, phone} 
orange {food, plant, fruit, phone} 
tree {plant} 

然後你就可以看到比其他樹的所有單詞都屬於水果類。這種檢查很容易編碼。 這裏最大的問題是獲取數據庫 - 我不認爲你想手動創建它,並不得不知道在哪裏找到它。它也無法工作。想象一下,我們添加

eclair{food, phone} 

到這個數據庫(手機,因爲android 2.1被稱爲eclair)。然後查詢橙色,蘋果,香蕉,甜點有兩個可能的答案 - 甜點,這是不是水果或香蕉,這是不與手機連接。

+0

雅我有這個想法...堅持得到數據庫 – user3118710

0

免責聲明:這不是一個容易做的任務,因此,我的建議的解決方案將是高層次的,包括旨在解決您的問題的一部分學術論文引用:


你可以嘗試語義關聯方法:每兩個詞對之間

  • 查找關聯,過濾掉是最相關的所有其他人的話。例如,可以使用semantic sort在監督學習中完成語義相關性。

另一種替代方法是對每個單詞的進行建模。

  • 每個單詞將由代表其含義的向量表示。 此向量可以獲得例如使用提到這個詞的維基百科文章 。
    這種方法的更多信息可以在Markovitch等Wikipedia-based Semantic Interpretation for Natural Language Processing
  • 被 找到你代表你的數據向量之後,它發現 這至少是相似的其他詞的問題。可以使用 supervised learning來完成,或者其他選擇是選擇離所有向量的中值最遠的點 。

還有一個可能的解決方案是使用WordNet


注意,所有的方法都是啓發式,我會嘗試,並預期失敗某些情況下,但我相信會起到很好的大部分案件。

4

關於tree是什麼使它變得奇怪?爲什麼不是banana(因爲它是一種藥草,其他樹是樹,也是因爲它是列表中唯一不以'e'結尾的)。或者爲什麼不orange(因爲它是一種顏色以及植物,其他植物只是植物)。

您需要定義您想要過濾的標準:對於人類讀者來說,某些東西可能是顯而易見的,但是計算機算法在不知道所有事實對人類顯而易見的情況下都看不到。或者至少有足夠的事實可以得出可靠的結論。

你基本上是在談論一個大的knowledge-base,而不是一個簡單的算法。