2012-02-08 20 views
0

我剛從幼兒園的儘可能的Lucene/Solr的關注,所以我可能會試圖利用它完全錯誤的,但我希望有人能指出我在正確的方向。長查詢在一個非常短的文件

我的文檔(小於3000)是從分類簡短的發言。全部都是單句,一些長度不超過4-6個字。每個文檔只有一個字段,因此跨多個字段的搜索不是我要查看的路線。我想要做的是查詢工作相關文檔的內容,並返回相關的分類聲明。

目前我正在使用Solr附帶的默認示例設置,並添加了來自Wordnet的動詞同義詞,因爲執行的動作是我試圖識別的(即'Alter服裝符合規範的分類聲明')。

基本字匹配按預期工作,但我想使事情更高級一些。由於查詢時間如此之長,我在搜索小文檔時從未得到高度相關性分數。我相信這可以通過以某種方式規範化分數來解決,所以我並不真正擔心得分,而是正在確定的實際陳述(文檔)。

我是否更擅長索引文件(當前是長查詢)在飛行和查詢每個分類法聲明和編譯/排序結果,或者我可以有效地以其他方式對這些小文檔執行這些長查詢?我認爲這可能會帶來困難。

+0

我refered分類學的Wikipedia條目,我還是不明白你的問題。請包括一些示例文檔和查詢以及它們應該如何匹配。你想對他們進行什麼樣的分析? – aitchnyu 2012-02-08 18:11:34

+0

無論如何3000文件是一個非常小的數字。一個將其全部存儲在內存中的python腳本需要幾MB的RAM,不需要時間處理它,並在閃爍時從磁盤存儲/檢索它。所以你可以自己實現任何需要的算法。識別「執行的動作」似乎是「詞性」算法(名詞,動詞等)的工作。像Mahout這樣的數據包可以做到這一點。 – aitchnyu 2012-02-08 18:24:09

+0

@aitchnyu - 不幸的是,我不知道任何關於SA或LSI能夠寫我自己的算法。我希望能夠利用像Solr這樣的東西讓我在這裏開始跳躍。我需要特別知道文檔中是否存在某個聲明。措辭可能完全不同(同義詞等),但我需要能夠抓住它。我相信這些東西可以通過算法和POS標記完成,但我不知道該怎麼做。另外,我對Java並不太擅長,所以會阻礙我使用某些工具。 – IOInterrupt 2012-02-08 23:07:56

回答

0

我看不出到底什麼是你想在這裏做的,我的意思是你的短文件指數肯定會從信息湖受苦,長查詢將盡一切的結果在它面前幾乎是平的,甚至擴展文件通過添加Wordnet的每個術語,同義詞將會讓我感到困惑和誤導,我的建議是劈開其他可能的查詢形式。