簡體   English   中英

確定兩個單詞是否來自 Python 中的同一個詞根

[英]Determining if two words are derived from the same root in Python

我想編寫一個函數same_base(word1, word2) ,當word1word2是源自同一個詞根的兩個英文單詞時,它返回True 我意識到單詞可以有多種含義; 我希望算法過於熱心,只要有可能將單詞視為來自同一個地方,就返回True 一些誤報是可以的; 假陰性不是。

通常,詞干提取和詞形還原將用於此目的。 這是我嘗試過的:

  • 檢查單詞是否詞干相同,例如使用 Porter Stemmer。 這不叫sungsingdigdugmedication medicine
  • 檢查單詞是否詞形還原為同一事物。 目前尚不清楚將哪些參數傳遞給詞形還原器(即詞性)。 至少 WordNet lemmatizer 似乎太保守了。

有這樣的工具嗎? 我是否只需要一個非常激進的詞干提取器/詞形還原器組合——如果是這樣,我在哪里可以找到一個?

正如您所描述的,一般任務不可能通過對輸入字符的簡單文本分析來實現。 隨着單詞的發展,英語沒有一致的處理單詞的規則。 是的,優秀的詞形還原師會為您解決一些簡單的案例,這些案例可以通過應用該 POS 中常見的轉換(例如不規則動詞)來辨別。

但是,要消除漏報,您必須完全覆蓋單詞的基礎; complete將需要詞源學,特別是在詞根不在英語中,或者可能不出現在縮短詞本身中的情況下。

例如,什么軟件工具可以告訴您disspeculum具有相同的根( specere ),但該species卻沒有? 你怎么知道gentlegentilegenteeljaunty有同一個詞根? 您將需要詞源來獲得 100% 的實際聯系。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM