我有一個包含一些噪音元素的文本片段的大(+/- 300,000行)數據集。嘈雜我的意思是俚語,類型錯誤等等......我希望過濾掉這些嘈雜的元素以獲得更乾淨的數據集。刪除語料庫中的詞語的算法
我讀了一些論文,建議通過跟蹤每個詞的出現來過濾掉這些。通過設置閾值(例如,小於20),我們可以假設這些詞是噪聲,因此可以安全地從語料庫中移除。
也許有一些庫或算法可以快速高效地完成此操作。當然,我首先嚐試了一下,但這是極其緩慢的!因此,總而言之,我正在尋找一種算法,可以快速有效地過濾掉出現少於特定閾值的單詞。也許我添加了一個小例子:
This is just an example of whaat I wish to acccomplish.
詞「whaat」和「acccomplish」拼寫錯誤和不經常發生這樣可能(如果我們假設生活在一個完美的世界和錯別字是罕見的...)。我希望以
This is just an example of I wish to.
謝謝!
PS:如果可能的話,我想有Java編寫的算法(或僞代碼,所以我可以寫我自己)
我不太喜歡你的方法。有很多罕見但完全有效的詞將會丟失。如果你想刪除拼寫錯誤的單詞,然後拼寫檢查它。 – tom
你試了一下自己? – aglassman
1)構建一個行數等於數據集中行數的二維數組。 2)逐行讀取,將每個單詞添加到HashMap其中String是單詞,Object包含出現次數和索引列表(col,row),以查找整個單詞出現在哪裏數據集。 3)我將該行轉換爲一個StringArray並將其作爲一行添加到二維數組中。 4)我根據出現次數對HashMap進行排序 5)對於出現<= treshold的每個單詞,我取(col,row)值並刪除它們。6)讀出二維數組 –
RazorAlliance192