nlp 中文資料預處理
此博文詳細介紹中文資料預處理的過程並配上一定量的程式碼作為例項
資料載入(預設csv格式)
import pandas as pd
datas = pd.read_csv("./test.csv", header=0, index_col=0) # DataFrame
n_datas = data.to_numpy() # ndarray 轉成numpy更好處理(個人喜好)
去除空行
def delete_blank_lines(sentences):
return [s for s in sentences if s.split()]
no_line_datas = delete_blank_lines(n_datas)
去除數字
DIGIT_RE = re.compile(r'\d+')
no_digit_datas = DIGIT_RE.sub('', no_line_datas)
def delete_digit(sentences):
return [DIGIT_RE.sub('', s) for s in sentences]
判斷句子形式(簡單句或者複雜句)
STOPS = ['。', '.', '?', '?', '!', '!'] # 中英文句末字元
def is_sample_sentence(sentence):
count = 0
for word in sentence:
if word in STOPS:
count += 1
if count > 1:
return False
return True
去除中英文標點
from string import punctuation
import re
punc = punctuation + u'
def delete_punc(sentences):
return [re.sub(r"[{}]+".format(punc), '', s) for s in a]
去除英文(僅留漢字)
ENGLISH_RE = re.compile(r'[a-zA-Z]+')
def delete_e_word(sentences):
return [ENGLISH_RE.sub('', s) for s in sentences]
去除亂碼和特殊符號
使用正規表示式去除相關無用符號和亂碼
# 該操作可以去掉所有的符號,標點和英文,由於前期可能需要標點進一步判斷句子是否為簡單句,所以該操作可以放到最後使用。 鄭州做婦科檢查價格
SPECIAL_SYMBOL_RE = re.compile(r'[^\w\s\u4e00-\u9fa5]+')
def delete_special_symbol(sentences):
return [SPECIAL_SYMBOL_RE.sub('', s) for s in sentences]
中文分詞
# 使用jieba
def seg_sentences(sentences):
cut_words = map(lambda s: list(jieba.cut(s)), sentences)
return list(cut_words)
# 使用pyltp分詞
def seg_sentences(sentences):
segmentor = Segmentor()
segmentor.load('./cws.model') # 載入分詞模型引數
seg_sents = [list(segmentor.segment(sent)) for sent in sentences]
segmentor.release()
return seg_sents
去除停用詞
# 停用詞列表需要自行下載
stopwords = []
def delete_stop_word(sentences):
return [[word for word in s if word not in stopwords] for s in sentences]
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69945560/viewspace-2666467/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- nlp中文字輸入的資料預處理方式
- 資料預處理
- 資料預處理-資料清理
- 資料分析--資料預處理
- 資料預處理 demo
- 資料預處理-資料歸約
- 資料預處理–資料降維
- 機器學習一:資料預處理機器學習
- 資料預處理規則
- 資料預處理的形式
- 中文維基百科文字資料獲取與預處理
- 資料預處理方法彙總
- 資料預處理和特徵工程特徵工程
- 機器學習筆記---資料預處理機器學習筆記
- TANet資料預處理流程
- 深度學習--資料預處理深度學習
- 中文和英文NLP自然語言處理異同點分析自然語言處理
- 資料預處理-資料整合與資料變換
- 機器學習:探索資料和資料預處理機器學習
- 第五篇:資料預處理(二) - 異常值處理
- 第四篇:資料預處理(一) - 缺失值處理
- 資料預處理之 pandas 讀表
- 人工智慧 (01) 資料預處理人工智慧
- 深度學習——資料預處理篇深度學習
- 特徵工程之資料預處理(下)特徵工程
- 資料預處理利器 Amazon Glue DataBrew
- sklearn中常用資料預處理方法
- 自然語言處理(NLP)自然語言處理
- 模型訓練:資料預處理和預載入模型
- 中文文字挖掘預處理流程總結
- sklearn 第二篇:資料預處理
- NUS-WIDE資料集預處理IDE
- 應用:資料預處理-缺失值填充
- 自然語言處理(NLP)簡介 | NLP課程自然語言處理
- 自然語言處理(NLP)概述自然語言處理
- 自然語言處理NLP(四)自然語言處理
- 利用Python Pandas進行資料預處理-資料清洗Python
- Python資料分析與挖掘實戰(資料預處理)Python