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

  在平常的中文NLP中,常常會涉及到中文的繁簡體轉換以及拼音的標註等問題,本文將介紹這兩個方面的實現。
  首先是中文的繁簡體轉換,不須要使用額外的Python模塊,至須要如下兩個Python代碼文件便可:python

  示例代碼以下(將代碼文件與langconv.py與zh_wiki.py放在同一目錄下):git

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)

輸出的結果以下:github

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

  接着是獲取中文漢字的拼音,這方面的Python模塊有xpinyin, pypinyin等。本文以xpinyin爲例,展現如何獲取漢字的拼音。示例代碼以下:web

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
S
S-H
SH
S H

  本次分享到此結束,感謝你們閱讀~微信

注意:本人現已開通微信公衆號: Python爬蟲與算法(微信號爲:easy_web_scrape), 歡迎你們關注哦~~code

相關文章
相關標籤/搜索