更新時間:2022-08-26 來源:黑馬程序員 瀏覽量:
文本預處理一般包括分詞、詞形歸一化、刪除停用詞,下面針對文本預處理的流程進行具體介紹。
1.文本分詞
文本分詞是預處理過程中必不可少的一個操作,它可以分為兩步:第一步是構造詞典,第二步是分詞算法的操作。其中,詞典的構造比較流行的是雙數(shù)組的trie樹,分詞算法常見的主要有正向最大匹配、雙向最大匹配、語言模型方法、最短路徑算法等。
目前文本分詞已經(jīng)有很多比較成熟的算法和工具,在網(wǎng)上可以搜索到很多,本書使用的是NLTK庫和jieba庫,分別用作英文和中文的分詞操作。
2.詞形歸一化
基于英文語法的要求,文檔中經(jīng)常會使用單詞的不同形態(tài),比如live、lives(第三人稱單數(shù))、living(現(xiàn)在分詞),另外,也存在大量意義相近的同源詞,比如able、unable、disability。如果希望只輸入一個詞,就能夠返回它所有的同源詞文檔,那么這樣的搜索是非常有用的。
詞形歸一化包括詞干提取和詞形還原,它們的目的都是為了減少曲折變化的形式,將派生詞轉化為基本形式。例如:
am,are,is-be
cars,car's,car's-car
不過,詞干提取和詞形還原所代表的意義不同,前者通常是一個很粗略的去除單詞兩端詞綴的過程,而后者是指利用詞匯表和詞形分析去除曲折的詞綴,以返回詞典中包含的詞的過程。
3.刪除停用詞
刪除停用詞也是比較重要的,主要是因為并不是文本中的每個單詞或字符都能夠表明文本的特征,比如說“the”“的”“你”“I”“他”等,這些詞應該從文本中清除掉??梢栽诰W(wǎng)上下載一份中文或英文的停用詞表來作為去停用詞的參考。