我正在構建一個大約有10,000條記錄的MySQL數據庫。每個記錄將包含一個文本文檔(大多數情況下爲幾頁文本)。我想在整個數據庫中進行各種n-gram計數。我有已經用Python編寫的算法,這些算法是我想要對付包含大量文本文件的目錄,但要做到這一點,我需要從數據庫中提取10,000個文本文件 - 這會產生性能問題。MySQL中的n元計數
我是一個使用MySQL的新手,所以我不確定它是否有任何內置功能可以執行n-gram分析,或者是否有很好的插件。請注意,在我的分析中,我需要至少達到4克(最好是5克),所以我看到的簡單的2克插件在這裏不起作用。在進行n-gram計數之前,我還需要能夠從文本文檔中刪除停用詞。
社區的任何想法?
感謝,
羅恩
當沒有人正在等待答案時,你不是在離線處理n-gram嗎?或者是否需要在每次添加一批文件時跨越許多文本文件快速生成新的n-gram數據庫? – hobs
我知道類似於在其他論壇中詢問的問題。在放棄和尋找一些應用程序級別的解決方案(例如PHP)來執行字符串分析之前,問題人員在SQL中擺弄了幾天。只是說' – Strawberry
你不能在RDBMS中進行合理的5克處理。如果你缺乏遞歸查詢的能力,Storarge是可行的,但是非常痛苦。 (在這方面,mysql是個不錯的選擇)我自己的玩具項目http://sourceforge.net/projects/wakkerbot/擁有所有原始文本行(大約2M當前)存在於(postgres)數據庫中,但是它全部都是在獨立的C程序中進行5克馬爾可夫處理,將其樹(35M節點)存儲在平面文件中。恕我直言,Python對於這種事情來說太慢了。 – wildplasser