本篇內(nèi)容主要講解“pyhanlp拼音轉(zhuǎn)換與字符正則化”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強(qiáng)。下面就讓小編來帶大家學(xué)習(xí)“pyhanlp拼音轉(zhuǎn)換與字符正則化”吧!
成都創(chuàng)新互聯(lián)公司是一家集網(wǎng)站建設(shè),景寧畬族自治企業(yè)網(wǎng)站建設(shè),景寧畬族自治品牌網(wǎng)站建設(shè),網(wǎng)站定制,景寧畬族自治網(wǎng)站建設(shè)報價,網(wǎng)絡(luò)營銷,網(wǎng)絡(luò)優(yōu)化,景寧畬族自治網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強(qiáng)企業(yè)競爭力??沙浞譂M足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時我們時刻保持專業(yè)、時尚、前沿,時刻以成就客戶成長自我,堅持不斷學(xué)習(xí)、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實用型網(wǎng)站。
《漢字轉(zhuǎn)拼音與簡繁轉(zhuǎn)換的Java實現(xiàn)》
from pyhanlp import *
# 繁簡轉(zhuǎn)化
print(HanLP.convertToTraditionalChinese("“以后等你當(dāng)上皇后,就能買草莓慶祝了”。發(fā)現(xiàn)一根白頭發(fā)"))
print(HanLP.convertToSimplifiedChinese("憑藉筆記簿型電腦寫程式HanLP"))
# 簡體轉(zhuǎn)臺灣繁體
print(HanLP.s2tw("hankcs在臺灣寫代碼"))
# 臺灣繁體轉(zhuǎn)簡體
print(HanLP.tw2s("hankcs在臺灣寫程式碼"))
# 簡體轉(zhuǎn)香港繁體
print(HanLP.s2hk("hankcs在香港寫代碼"))
# 香港繁體轉(zhuǎn)簡體
print(HanLP.hk2s("hankcs在香港寫代碼"))
# 香港繁體轉(zhuǎn)臺灣繁體
print(HanLP.hk2tw("hankcs在臺灣寫代碼"))
# 臺灣繁體轉(zhuǎn)香港繁體
print(HanLP.tw2hk("hankcs在香港寫程式碼"))
# 香港/臺灣繁體和HanLP標(biāo)準(zhǔn)繁體的互轉(zhuǎn)
print(HanLP.t2tw("hankcs在臺灣寫代碼"))
print(HanLP.t2hk("hankcs在臺灣寫代碼"))
print(HanLP.tw2t("hankcs在臺灣寫程式碼"))
print(HanLP.hk2t("hankcs在臺灣寫代碼"))
「以後等你當(dāng)上皇后,就能買草莓慶祝了」。發(fā)現(xiàn)一根白頭髮
憑借筆記本電腦寫程序HanLP
hankcs在臺灣寫程式碼
hankcs在臺灣寫代碼
hankcs在香港寫代碼
hankcs在香港寫代碼
hankcs在臺灣寫程式碼
hankcs在香港寫代碼
hankcs在臺灣寫程式碼
hankcs在臺灣寫代碼
hankcs在臺灣寫代碼
hankcs在臺灣寫代碼
漢字轉(zhuǎn)拼音
HanLP中的漢字轉(zhuǎn)拼音功能也十分的強(qiáng)大。
說明
HanLP不僅支持基礎(chǔ)的漢字轉(zhuǎn)拼音,還支持聲母、韻母、音調(diào)、音標(biāo)和輸入法首字母首聲母功能。
HanLP能夠識別多音字,也能給繁體中文注拼音。
最重要的是,HanLP采用的模式匹配升級到AhoCorasickDoubleArrayTrie,性能大幅提升,能夠提供毫秒級的響應(yīng)速度!
算法詳解
《漢字轉(zhuǎn)拼音與簡繁轉(zhuǎn)換的Java實現(xiàn)》
# 漢字轉(zhuǎn)拼音
Pinyin = JClass("com.hankcs.hanlp.dictionary.py.Pinyin")
text = "重載不是重任!"
pinyin_list = HanLP.convertToPinyinList(text)
print("原文,", end=" ")
print(text)
print("拼音(數(shù)字音調(diào)),", end=" ")
print(pinyin_list)
print("拼音(符號音調(diào)),", end=" ")
for pinyin in pinyin_list:
print("%s," % pinyin.getPinyinWithToneMark(), end=" ")
print("\n拼音(無音調(diào)),", end=" ")
for pinyin in pinyin_list:
print("%s," % pinyin.getPinyinWithoutTone(), end=" ")
print("\n聲調(diào),", end=" ")
for pinyin in pinyin_list:
print("%s," % pinyin.getTone(), end=" ")
print("\n聲母,", end=" ")
for pinyin in pinyin_list:
print("%s," % pinyin.getShengmu(), end=" ")
print("\n韻母,", end=" ")
for pinyin in pinyin_list:
print("%s," % pinyin.getYunmu(), end=" ")
print("\n輸入法頭,", end=" ")
for pinyin in pinyin_list:
print("%s," % pinyin.getHead(), end=" ")
print()
# 拼音轉(zhuǎn)換可選保留無拼音的原字符
print(HanLP.convertToPinyinString("截至2012年,", " ", True))
print(HanLP.convertToPinyinString("截至2012年,", " ", False))
原文, 重載不是重任!
拼音(數(shù)字音調(diào)), [chong2, zai3, bu2, shi4, zhong4, ren4, none5]
拼音(符號音調(diào)), chóng, zǎi, bú, shì, zhòng, rèn, none,
拼音(無音調(diào)), chong, zai, bu, shi, zhong, ren, none,
聲調(diào), 2, 3, 2, 4, 4, 4, 5,
聲母, ch, z, b, sh, zh, r, none,
韻母, ong, ai, u, i, ong, en, none,
輸入法頭, ch, z, b, sh, zh, r, none,
jie zhi none none none none nian none
jie zhi 2 0 1 2 nian ,
拼音轉(zhuǎn)中文
HanLP中的數(shù)據(jù)結(jié)構(gòu)和接口是靈活的,組合這些接口,可以自己創(chuàng)造新功能,我們可以使用AhoCorasickDoubleArrayTrie實現(xiàn)的最長分詞器,需要用戶調(diào)用setTrie()提供一個AhoCorasickDoubleArrayTrie
StringDictionary = JClass(
"com.hankcs.hanlp.corpus.dictionary.StringDictionary")
CommonAhoCorasickDoubleArrayTrieSegment = JClass(
"com.hankcs.hanlp.seg.Other.CommonAhoCorasickDoubleArrayTrieSegment")
Config = JClass("com.hankcs.hanlp.HanLP$Config")
TreeMap = JClass("java.util.TreeMap")
TreeSet = JClass("java.util.TreeSet")
dictionary = StringDictionary()
dictionary.load(Config.PinyinDictionaryPath)
entry = {}
m_map = TreeMap()
for entry in dictionary.entrySet():
pinyins = entry.getValue().replace("[\\d,]", "")
words = m_map.get(pinyins)
if words is None:
words = TreeSet()
m_map.put(pinyins, words)
words.add(entry.getKey())
words = TreeSet()
words.add("綠色")
words.add("濾色")
m_map.put("lvse", words)
segment = CommonAhoCorasickDoubleArrayTrieSegment(m_map)
print(segment.segment("renmenrenweiyalujiangbujianlvse"))
print(segment.segment("lvsehaihaodajiadongxidayinji"))
[renmenrenweiyalujiangbujian/null, lvse/[濾色, 綠色]]
[lvse/[濾色, 綠色], haihaodajiadongxidayinji/null]
字符正則化
演示正規(guī)化字符配置項的效果(繁體->簡體,全角->半角,大寫->小寫)。
該配置項位于hanlp.properties中,通過Normalization=true來開啟(現(xiàn)在直接通過HanLP.Config.Normalization開啟即可)。
切換配置后必須刪除CustomDictionary.txt.bin緩存,否則只影響動態(tài)插入的新詞。
在我動筆前一個星期,已經(jīng)有同學(xué)添加了,添加自定義詞典之后,自動刪除緩存的功能。地址請點(diǎn)擊https://github.com/hankcs/HanLP/pull/954,現(xiàn)在只需要開啟正則化即可
CustomDictionary =JClass("com.hankcs.hanlp.dictionary.CustomDictionary")
print("HanLP.Config.Normalization = False\n")
HanLP.Config.Normalization = False
CustomDictionary.insert("愛聽4G", "nz 1000")
print(HanLP.segment("愛聽4g"))
print(HanLP.segment("愛聽4G"))
print(HanLP.segment("愛聽4G"))
print(HanLP.segment("愛聽4G"))
print(HanLP.segment("愛聽4G"))
print(HanLP.segment("喜歡4G"))
print(HanLP.segment("hankcs在臺灣寫代碼"))
print("\nHanLP.Config.Normalization = True\n")
HanLP.Config.Normalization = True
print(HanLP.segment("愛聽4g"))
print(HanLP.segment("愛聽4G"))
print(HanLP.segment("愛聽4G"))
print(HanLP.segment("愛聽4G"))
print(HanLP.segment("愛聽4G"))
print(HanLP.segment("喜歡4G"))
print(HanLP.segment("hankcs在臺灣寫代碼"))
HanLP.Config.ShowTermNature = False
text = HanLP.s2tw("現(xiàn)在的HanLP已經(jīng)添加了添加自定義詞典之后,自動刪除緩存的功能,現(xiàn)在只需要開啟正則化即可")
print(text)
print(HanLP.segment(text))
HanLP.Config.ShowTermNature = False
HanLP.Config.Normalization = False
[愛聽4g]
[愛聽4G]
[愛, 聽, 4, G]
[愛, 聽, 4, G]
[愛, 聽, 4, G]
[喜歡, 4, G]
[hankcs, 在, 臺, 灣寫, 代, 碼]
HanLP.Config.Normalization = True
[愛聽4g]
[愛聽4g]
[愛聽4g]
[愛聽4g]
[愛聽4g]
[喜歡, 4, g]
[hankcs, 在, 臺灣, 寫, 代碼]
現(xiàn)在的HanLP已經(jīng)新增了新增自定義詞典之後,自動刪除快取的功能,現(xiàn)在只需要開啟正則化即可
[現(xiàn)在, 的, hanlp, 已經(jīng), 新增, 了, 新增, 自定義, 詞典, 之后, ,, 自動, 刪除, 快, 取, 的, 功能, ,, 現(xiàn)在, 只, 需要, 開啟, 正, 則, 化, 即可]
到此,相信大家對“pyhanlp拼音轉(zhuǎn)換與字符正則化”有了更深的了解,不妨來實際操作一番吧!這里是創(chuàng)新互聯(lián)網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!
本文標(biāo)題:pyhanlp拼音轉(zhuǎn)換與字符正則化
網(wǎng)站URL:http://www.rwnh.cn/article0/gcgpio.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供微信小程序、電子商務(wù)、手機(jī)網(wǎng)站建設(shè)、云服務(wù)器、域名注冊、品牌網(wǎng)站制作
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)