中文文本情感識別:jieba分詞應用實例

原文地址

分類目錄——情感識別

對於英文,其詞法結構決定了其天生就是已經分詞了的,通過空格分詞即可

print('I love you'.split(' '))	# 用空格切分長字符串
# ['I', 'love', 'you']

對於中文,就需要通過另外的手段進行分詞了

jieba這樣一個功能包是中文文本分詞的常用手段之一

隨便做了如下這樣一個測試文件,內容是gensim下的詞向量生成模型word2vec的屬性說明

1582378458925

import jieba

with open('data.txt', encoding='utf8') as f:
    sentenceslist = f.read().splitlines()   # 讀取文檔按行生成列表
    # ['1.sentences:可以是一個List,對於大語料集,建議',
    # '2.sg: 用於設置訓練算法,默認爲0,對應CBOW算法',
    # '3.size:是指輸出的詞的向量維數,默認爲100。',
    # ...]

# 只需要調用jieba.cut(str)就可以將str進行分詞,返回在一個列表中
res = [list(jieba.cut(sent)) for sent in sentenceslist]
# [['1', '.', 'sentences', ':', '可以', '是', '一個', 'List', ',', '對於', '大', '語料', '集', ',', '建議'],
# ['2', '.', 'sg', ':', ' ', '用於', '設置', '訓練', '算法', ',', '默認', '爲', '0', ',', '對應', 'CBOW', '算法'],
# ['3', '.', 'size', ':', '是', '指', '輸出', '的', '詞', '的', '向量', '維數', ',', '默認', '爲', '100', '。'],
# ...]]

可以看到句子已經被被分割成詞的列表,看到其中還有標點符號,當然這些是需要取到了,可以通過過正則表達式去標點;在文本處理還有一種去停用詞的操作,就是去掉對目標(比如情感識別)無用的詞彙,諸如像‘的’、‘了’或者標點符號之類的,可以去網上搜一份停用詞列表,通過匹配該列表過濾一遍詞列表。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章