我有一個包含200多個文檔的大型文檔語料庫。正如你可以從這麼大的語料庫期望的那樣,一些單詞拼寫錯誤,以不同格式使用,等等。我已經完成了標準文本處理,如轉換爲小寫,刪除標點符號,詞幹。我試圖用一些詞來替換正確的拼寫並將其標準化,然後再進行分析。我已經做了更多的100次替換,使用與下面相同的語法,並且對於大部分替換,它按預期工作。但是,有些(約5%)沒有工作。例如,下面的換人似乎只有有限的影響:R tm使用gsub在語料庫中替換單詞
docs <- tm_map(docs, content_transformer(gsub), pattern = "medecin|medicil|medicin|medicinee", replacement = "medicine")
docs <- tm_map(docs, content_transformer(gsub), pattern = "eephant|eleph|elephabnt|elleph|elephanyt|elephantant|elephantant", replacement = "elephant")
docs <- tm_map(docs, content_transformer(gsub), pattern = "firehood|firewod|firewoo|firewoodloc|firewoog|firewoodd|firewoodd", replacement = "firewood")
通過有限的影響我的意思是,即使一些替代在工作,有些則不是。例如,儘管試圖替換「大象」,「藥品」,「firewoodd」,但它們在創建DTM(文檔術語矩陣)時仍存在。
我不知道爲什麼這種混合效應正在發生。
而且下面一行是用收集一些組合替換每個字的語料庫:
docs <- tm_map(docs, content_transformer(gsub), pattern = "colect|colleci|collectin|collectiong|collectng|colllect|", replacement = "collect")
僅作參考,當我替補只是一個字,我使用的語法(注意固定= TRUE):
docs <- tm_map(docs, content_transformer(gsub), pattern = "charcola", replacement = "charcoal", fixed=TRUE)
的一個是單取代和失敗是:
docs <- tm_map(docs, content_transformer(gsub), pattern = "dogmonkeycat", replacement = "dog monkey cat", fixed=TRUE)
謝謝。這樣可行。任何想法爲什麼單一替代失敗? – DotPi
我只能懷疑替換的順序是錯誤的,並且還有另一個替換髮生在之前,並且文本中沒有'dogmonkeycat'被'狗猴貓'取代。 –