文本分析入门(一)
今天在圖書館查了不少資料,感覺沒什么特別好的學習途徑。
主要通過博客,李航的《統計學習方法》,相關比賽代碼來學習。
首先還是介紹幾個名詞,一個新領域總是有很多新名詞。
Tokenization:將文本轉化為tokens的過程
Tokens:在文本里的展示的單詞或實體
Text object:一個句子、短語、單詞或文章
文本分析也好,平時做的數據挖掘也好,開始都是需要數據預處理。
文本分析點數據預處理的過程主要包括以下三個部分:
噪聲移除
詞匯規范化
對象標準化
這里我們首先介紹噪聲移除。
所謂噪聲移除就是把對我們來說沒有用的冗余tokens去掉,例如語氣詞。
PS:在情感分析中,語氣詞、感嘆號是應該保留的,因為他們對表示語氣程度、感情色彩有一定的貢獻和意義
比較常用的方法是通過先設置好噪音詞典,然后遍歷一下文本,去除那些被詞典標注為噪音的tokens。
結果很明確。
要注意的是split和re.split的區別。
re.split可以用多個分隔符分割文本。
split適合于單個分隔符,當需要使用多個分隔的時候,可以逐次使用。
re.split適合多個分隔符,使用起來有兩種方式
比如我代碼中使用的,words=re.split(’[, ]’,text)
在這里,split的第一個參數,也就是傳入分隔符的。
我傳入了一個列表,里面有兩個元素,逗號和空格。
注意這個列表里每個元素之間沒有空格和逗號,因此有空格的話就說明要通過空格分隔。
為了清楚一點,再舉一個例子。
re.split("[;,?]")
這個則是實現分號,逗號,問號三個分隔符。
還可以使用正則表達式處理一些特定模式的噪音,
函數:
調用:
regex_pattern=['#[\w]*','#[\w]','#[\w][\w]']for regex_patterns in regex_pattern:result=remove_regex("i #dont like sing jump and rap",regex_patterns)print(result)結果:
通過結果大家應該可以看出
regex_pattern=[’#[\w]*’,’#[\w]’,’#[\w][\w]’]
各部分代表的意思。
總結
- 上一篇: 清理上网后留下的各种记录
- 下一篇: 网站建设方案:网站建设合同之撰写注意点