簡體   English   中英

如何檢查兩個單詞的基數或詞干是否相同?

[英]How to check if 2 words have the same base or stem?

我正在嘗試合並具有相同基礎的單詞。 例:

  • 事故
  • 偶然
  • 偶然
  • 事故

要么

  • 放棄
  • 放棄

起初我用

 Word.Application().SynonymInfo[myWord, Word.WdLanguageID.wdEnglishUS];

word.dll獲取單詞的word.dll 但是我意識到我並不想只合並同義詞,而是合並具有相同基數的單詞。

如果兩個單詞具有相同的基數,我是否可以從word.dll或任何會返回的dll使用任何功能?

您可能正在尋找Inflector ,這是一個開源庫。

與.Net 3.5兼容

這是它的示例代碼

英語有很多例外,但是使用您自己的小功能來處理一些最常見的情況將解決90%的情況。

似乎沒有幾種常見的方案:

a)過去式:通過添加后綴“ ed”

b)復數:通過添加“ s”,“ es”,

c)形容詞的通用后綴:

d)副詞的通用后綴

e)用於將動詞轉換為名詞的通用后綴

因此,通過從單詞中刪除通用后綴,我們可以嘗試合並產生相同基數的單詞。

對於不太常見的情況,可能是,我們可以使用一些字符串相似的算法來了解字符串是否相似。 就像使用Levenshtein距離實現:

使用LINQ

請同時參閱以下stackoverflow問題:

是否有為C#編寫的模糊搜索或字符串相似函數庫?

暫無
暫無

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

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