2010-07-13 39 views
3

我在Wordnet中搜索大量單詞的同義詞。按照我的方式完成它,當某個單詞有多個同義詞時,結果會按字母順序返回。我需要的是讓他們按發生的概率排序,而我將僅選取排名前1的同義詞。如何根據Wordnet的出現概率排序同義詞

我已經使用了序言共發現數據庫,並Syns2Index將其轉換爲Lucene的索引類型查詢同義詞。有沒有辦法讓他們以這種方式按他們的概率排序,或者我應該使用另一種方法?

速度不重要,這個同義詞查找不會在線完成。

+0

這是非常具體的。我發現這一點: http://lucene.apache.org/java/2_0_0/api/org/apache/lucene/wordnet/Syns2Index.html ,不過也許你已經意識到了這一點。 – Baltasarq 2010-07-13 07:46:24

+0

@Baltarsarq:感謝名單,是的,我已經使用這個來共發現序言數據庫轉換爲Lucene的synonim指數 – Julia 2010-07-14 05:39:37

回答

0

我認爲你應該做另一個步驟(只要速度不重要)。

從Lucene索引,你應該建立在每個字被映射到包含它的意義有外觀,它的意義和外觀的概率較高概率的唯一代名詞的小物件另一個字典。即,給定此代碼:

class Synonym { 
public: 
    String name; 
    double probability; 
    String meaning; 
} 

Map<String, Synonym> m = new HashMap<String, Synonym>(); 

...你只需要從Lucene索引中填充它即可。

+0

我理解的想法,就像你之前說的,我需要的是似乎具體地說:我知道,查詢網上共發現返回synonims通過它們的概率,但我不明白這個概率信息是如何存儲在這個序言數據庫(我轉換成索引與Syns2Index你之前已鏈接)如何檢索該概率(是否有?)信息和映射它你建議的課程?感謝名單! – Julia 2010-07-14 05:46:03

+0

你瀏覽過這個文件嗎? http://wordnet.princeton.edu/wordnet/man/wnsearch.3WN.html – Baltasarq 2010-07-14 11:07:26

+0

的情況下,你會需要它第一天: http://lyle.smu.edu/~tspell/jaws/doc/edu/ SMU/tspell /共發現/ IMPL /文件/ ReferenceSynset.html#getTagCount%28java.lang.String%29 – Julia 2010-07-27 21:02:40

5

,以防有人絆倒在這個線程,這是去(我至少需要什麼)的方式:

http://lyle.smu.edu/~tspell/jaws/doc/edu/smu/tspell/wordnet/impl/file/ReferenceSynset.html#getTagCount%28java.lang.String%29

tagCount方法給出了最有可能的同義詞集組的每一個字。再次的問題是,同樣以更高的概率再次可以有幾個詞。但我猜這是沒有機會避免這個

+0

鏈接被打破,但一個小的搜索止跌回升https://github.com/jaytaylor/jaws,更具體地說,HTTPS ://github.com/jaytaylor/jaws/blob/f194da46211863ed2cdb1428bf2e21db21541224/src/edu/smu/tspell/wordnet/impl/file/ReferenceSynset.java#L148 – lmsurprenant 2017-05-22 14:48:40

相關問題