0
DISCO(使用CO出現來提取DI分佈相關的詞)是一種Java應用程序,它允許檢索任意詞和短語之間的語義相似性。使用Ruby訪問Java應用程序DISCO(Kolb 2008)
我正在使用DISCO獲取2400+個字對的相似值。
目前,我可以通過遵循命令行指令(請參閱鏈接)檢索單個字對的相似值。
我需要編寫代碼,以便我可以輸入一個單詞對列表並接收相似性值作爲輸出。
我已經嘗試使用下面的代碼。這是行不通的。輸出是僅列表中第一個字對的相似度值。 (請注意,我個人沒有使用Java或Ruby進行編碼的經驗,這是由一位朋友在早晨喝咖啡時寫得很快)。
# script for Bonnie's word pair calculating thing
file_name_in = 'word_pairs.txt' # name of txt file with pairs
command_p1 = "java -jar disco-2.0.jar enwiki-20130403-sim-lemma-mwl-lc -s"
command_p2 = "COSINE"
File.open(file_name_in, 'r') do |file_in|
file_in.each_line do |line|
word1, word2 = line.split
system("#{command_p1} #{word1} #{word2} #{command_p2}")
end
end
一個樣品的單詞列表如下:
愛恨
預約醫生
響應快
青蛙綠色
小狗可愛
教堂宗教
舟白
工具銀
手鍊含金量
善良假
任何幫助是極大的讚賞。
我收到一個錯誤。 'words_to_value.rb:10:在'塊在 ':未定義的方法'格格' 爲#<文件:word_pairs.txt(閉合)>(NoMethodError) \t從words_to_value.rb:9:在'開放' 從 \t words_to_value.rb:9:在''' –
對不起,這是我的答案中的拼寫錯誤,我的意思是'line.chomp.split' –