中文文字預處理 主題模型

2021-07-11 21:19:50 字數 1121 閱讀 8026

去掉低頻詞、分詞、繁簡轉化、替換奇異詞等是中文文字資料處理中的重要步驟。

如在主題模型中,資料預處理的要求很簡單,只需要去掉低頻詞,大多數文章設定的門限都是5或者6.

中文文字相比於英文,需要首先進行分詞處理。類似地還有日文、韓文等。因而自然預言處理中乙個重要的研究問題就是文字分詞技術。

兩者都有python版本,下面以jieba分詞為例:

import jieba

seg_list = jieba.cut("我來到北京清華大學", cut_all=true)

英文**中,常見到會對文字進行詞幹化處理(stemming), 就是吧把具有相同詞幹的單詞整理成乙個單詞,也有點去掉低頻詞的意味,可以明顯改善詞頻較低的問題。主要原因還是因為在自然預言理解的時候,乙個詞被替換成其詞幹不會影響理解,而能夠改善詞頻較低的問題。是統計建模前的必要處理過程。如:

tall, taller, tallest

good, better, best

當然了,中文資料集中包括很多數字、英文單詞、表情符號等。因而需要用正規表示式將他們全部提取出來。有很多文章研究了中文字元、中亞字元等的unicode範圍,下面是乙個自測滿足中文字元提取的**,直接copy用就好了。

def

chinese_word_extraction

(content_raw):

chinese_pattern = u"([\u4e00-\u9fa5]+)"

re_data = chi_pattern.findall(content_raw)

content_clean = ' '.join(re_data)

我處理的網易新聞資料集中有乙個問題,就是網民在提到自認為的敏感詞的時候,會採用同音字、典故等方法進行替換。或者在敏感詞中加入一些特殊符號進行間隔。這些方法都太*****了,利用同音字對映、聯絡上下文和正則提取等方法就能解決這些問題。以後有時間了可以研究一下,挺有意思,而且已有的頂會**好像就專門研究了這個問題。下面是我根據觀察發現的若干常用替換:

replace_dict =
還非常不全面,也不是長久之計,下面搞一搞這個問題說不定還能水一篇**,哈哈。

NLP 中文文字預處理

jieba是乙個專門處理中文分詞的分詞庫,但其實功能比單純的分詞強大許多。中文不同於英文可以通過空格分開每個有意義的詞,對於中文需要乙個工具將完整的文字分割成更細緻的詞語,類似於英文分詞中使用的nltk工具,中文中需要使用jieba。pip install jieba 4.詞性標註 5.tokeni...

BERT 處理中文文字任務

bert模型是google在2018年10月發布的語言表示模型,bert在nlp領域橫掃了11項任務的最優結果,可以說是現今最近nlp中最重要的突破。bert模型的全稱是bidirectional encoder representations from transformers,是通過訓練mask...

中文文字糾錯

u4e00 代表什麼意思 u9fa5 代表什麼意思?答 u4e00 u9fa5是用來判斷是不是中文的乙個條件,採用的是unicode編碼 參考website 2020 9 1 最全面,精華 中文糾錯 待看完中文文字拼寫檢查錯誤糾正方案整理 關聯pycorrector 小練習 簡化 import pa...