清洗語料庫就是保留語料庫中有用的數據,刪除噪音數據。常見的清洗方法包括:手動去重、對齊、刪除、貼標簽等。
以下面的文字為例。這段文字不僅包含漢字,還包含數字、英文字符、標點符號等非常規字符,這些都是無意義的信息,需要清理。
在上面的例子中,清理方法主要是通過正則表達式。您可以編寫壹個簡短的Python腳本來解決這個問題。代碼如下:
清潔後的結果:
除了以上需要清理的形式,噪音數據還包括文字重復、錯誤、遺漏、異常等等。清理的方法有手工處理,或者通過開發小工具,編寫小程序,就可以清理數據。
分詞
清理完數據後,就可以進行下壹步了:文本分割。文本分割,即將文本分割成單詞。常用的分詞方法有基於規則和基於統計的分詞方法,統計樣本內容來自壹些標準語料庫。
比如這句話“小明住在朝陽區”,我們期望語料統計後的分詞結果是“小明住在朝陽區”,而不是“小明住在朝陽區”。那妳是怎麽做到的?
從統計學的角度來說,可以用條件概率分布來解決。對於壹個新句子,通過計算各種分詞方法的聯合分布概率,找到最大概率對應的分詞方法,就是最好的分詞。
到目前為止,研究人員已經開發了許多實用的分詞工具,使用起來非常簡單。如果對分詞沒有特殊要求,可以直接使用這些分詞工具。
各種分詞工具的列表。
詞性標註
詞性標註是指在切分結果中標註每個詞的正確詞性的過程,即確定每個詞是名詞、動詞、形容詞還是其他詞性。
詞性標註有很多重要的功能。
第壹,消歧。有些詞在不同的上下文或用法中有不同的意思。比如“這只狗的名字叫開心”和“我今天很開心”這兩句話裏,“開心”就有不同的含義。我們可以通過詞性標註來區分它們。
第二,強化以詞為基礎的特色。以上面這句話為例。如果不進行詞性標註,這兩個“開心”字會被視為詞頻為2的同義詞,導致後續分析出錯。
此外,詞性標註具有標準化、形態恢復和有效去除停用詞的功能。
常用的詞性標註方法有基於規則和統計的算法,如最大熵詞性標註和HMM詞性標註。
接下來,我們來看壹個詞性標註的例子。妳也可以自己試試:http://ictclas.nlpir.org/nlpir/
止住話語。
當我們收到新聞時,我們會過濾掉無效的信息,篩選出有用的信息。對於自然語言來說,停詞是壹種明智的操作。
壹篇課文,無論是漢語還是英語,都含有連詞、虛詞、語氣詞等無意義的詞,如“的”、“把”、“但是”。這些詞沒有特定的意義,只是用來連接句子,增強語氣。這些詞對文本分析沒有幫助,所以我們需要對分割後的數據做停用詞處理。
但是我們應該仔細決定刪除哪些停用詞。
下圖列出了壹些常用的非索引詞表。您可以根據需要選擇要刪除的停用字詞。
詞頻統計
詞頻統計是統計切分文本的詞頻。目的是找出對文本影響最大的詞,這是文本挖掘的重要手段。統計這些詞的出現頻率,可以幫助我們理解文章中強調的內容,進而方便後續的模型構建。
比如我們可以統計壹下四大古典小說之壹《紅樓夢》的前28個字,結果如下:
從上圖可以看出,《紅樓夢》中哪個人物的篇幅最大,曹雪芹更關註哪個人物。即使我們不是紅學專家,還是可以從統計的詞頻中分離出壹些關鍵信息。