2012-07-20 179 views
1

我在尋找JMegahal的替代品,它同樣簡單易用,但效果更好。我知道JMegahal使用馬爾可夫鏈來產生新的字符串,我知道它們不一定是最好的。我被指向貝葉斯網絡作爲解決這個問題的最佳概念,但我找不到任何易於使用的Java庫。我看到了WEKA,但它看起來很臃腫,很難遵循。我也看到了JavaBayes,但它幾乎完全沒有記錄(他們的javadocs包含很少或沒有信息,變量名稱也很差),而且該庫被公然寫成C風格,使得它在Java中脫穎而出。JMegahal的替代品

+0

你應該接受本地代碼,不要拒絕它的基礎上的編碼風格的差異;它的寫法不同,因爲它是一種不同的語言。 – 2012-07-20 16:57:05

+0

我不拒絕本地代碼,我拒絕了以C風格編寫的Java庫的想法。我相信最好堅持每種語言的風格指南。我也不知道EBayes是在包裝本地功能,儘管你似乎暗示它,因爲它沒有提供這樣的指示。無論如何,這是記錄不完善。 – 2012-07-20 17:37:48

+0

我只是誤讀了你的文章,你說他們用C風格編寫了java代碼。我懂了。 – 2012-07-20 18:20:00

回答

0

您可能需要考慮擴展JMegahal以過濾輸入句子。早在90年代中期,Jason Hutchens就編寫了這種4階馬爾可夫串算法的C版本(它實際上可能被用作JMegahal實現的靈感)。那時,Jason增加了過濾器來改進實現(通過用'I'替換'you'等)。通過進行一些基本的字符串操作意在將主題從說話者改變爲系統,輸出變得更加連貫。我認爲這個擴展程序被稱爲HeX。

Reference 1

Reference 2

+0

除了用我和那類東西取代你之外,還有什麼替代品和過濾器可以推薦? – 2012-07-20 17:33:50

+0

這真的取決於你使用統計語言學習。如果你想構建一些聊天機器人,你必須進行替代,以便將用戶對機器人本應該說的內容(因此代名詞替換以及這類內容)進行說明。如果你正試圖構建一個自然語言識別器/處理器,那麼你需要嘗試對單詞進行規範化(即同義詞,不定式形式等),以便HMM權重根據意義進行分配,而不是單詞的選擇。 – mprivat 2012-07-20 17:43:27

+0

統計語言學習正在走向一個IRC bot,因此它落入了聊天機器人領域。所以,按照代詞替代的方式,我應該尋找哪些其他類型的東西?我想確保它至少有點全面,因爲目前的經驗導致在大多數時候結果不盡如人意。 – 2012-07-20 17:50:34