NLP入門(七)中文預處理之繁簡體轉換及獲取拼音

2021-09-12 16:30:04 字數 1823 閱讀 7326

在日常的中文nlp中,經常會涉及到中文的繁簡體轉換以及拼音的標註等問題,本文將介紹這兩個方面的實現。

首先是中文的繁簡體轉換,不需要使用額外的python模組,至需要以下兩個python**檔案即可:

示例**如下(將**檔案與langconv.py與zh_wiki.py放在同一目錄下):

from langconv import *

# 轉換繁體到簡體

def cht_2_chs(line):

line = converter('zh-hans').convert(line)

line.encode('utf-8')

return line

line_cht= '''

台北市長柯文哲今在臉書開直播,先向網友報告自己3月16日至24日要出訪美國東部4城市,接著他無預警宣布,

2月23日要先出訪以色列,預計停留4至5天。雖他強調台北市、以色列已在資安方面有所交流,也可到當地城市交流、

參觀產業創新等內容,但柯也說「也是去看看乙個小國在這麼惡劣環境,howtosurvive,他的秘訣是什麼?」這番話,

也被解讀,頗有更上層樓、直指總統大位的思維。

'''line_cht = line_cht.replace('\n', '')

ret_chs = cht_2_chs(line_cht)

print(ret_chs)

# 轉換簡體到繁體

def chs_2_cht(sentence):

sentence = converter('zh-hant').convert(sentence)

return sentence

line_chs = '憂鬱的台灣烏龜'

line_cht = chs_2_cht(line_chs)

print(line_cht)

輸出的結果如下:

台北市長柯文哲今在臉書開直播,先向網友報告自己3月16日至24日要出訪美國東部4城市,接著他無預警宣布,2月23日要先出訪以色列,預計停留4至5天。雖他強調台北市、以色列已在資安方面有所交流,也可到當地城市交流、參觀產業創新等內容,但柯也說「也是去看看乙個小國在這麼惡劣環境,howtosurvive,他的秘訣是什麼?」這番話,也被解讀,頗有更上層樓、直指**大位的思維。

憂鬱的台灣烏龜

from xpinyin import pinyin

p = pinyin()

# 預設分隔符為-

print(p.get_pinyin("上海"))

# 顯示聲調

print(p.get_pinyin("上海", tone_marks='marks'))

print(p.get_pinyin("上海", tone_marks='numbers'))

# 去掉分隔符

print(p.get_pinyin("上海", ''))

# 設為分隔符為空格

print(p.get_pinyin("上海", ' '))

# 獲取拼音首字母

print(p.get_initial("上"))

print(p.get_initials("上海"))

print(p.get_initials("上海", ''))

print(p.get_initials("上海", ' '))

輸出結果如下:

shang-hai

shàng-hǎi

shang4-hai3

shanghai

shang hai

ss-h

shs h

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 dele...

NLP 中文文字預處理

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

NLP筆記1 中文分詞(資料預處理篇)

如何實現準確並且迅速的中文分詞一直是自然語言處理領域研究中的基礎。這三類分詞技術代表了當前中文分詞的發展方向,它們有著各自的優缺點。基於字串匹配的分詞是通過構建乙個固定的詞表,對照這個詞表,對輸入的問句進行字串擷取和字串匹配。主要原理是將問句從頭開始不斷切割成若干個子字串,當所有的子字串都能夠與詞表...