×

NChinese处理中文字词的函数库

消耗积分:2 | 格式:zip | 大小:4.45 MB | 2022-06-23

王鹏

分享资料个

授权协议 MIT
开发语言 C/C++ C#
操作系统 跨平台
软件类型 开源软件
所属分类 程序开发中文分词库

软件简介

NChinese 是一套用來處理中文字詞的函式庫,使用 C# 和 C 编写。目前具備的功能,主要是反查一串中文字的注音或拼音。

安裝

使用 Nuget 套件管理員來安裝,或執行下列命令:

Install-Package NChinese -Version 0.3.3
Install-Package NChinese.Imm -Version 0.3.3

簡介

NChinese 包含兩個套件:

  • NChinese - 包含內建中文注音詞庫與相關 API,例如反查一串中文字的注音字根。

  • NChinese.Imm - 此套件會用到 Windows 底層的 Imm.dll 與 IFELanguage COM API,所以只適用於 Windows 作業環境。

兩個套件都有提供反查注音字根的函式,但由於 NChinese.Imm 只能運行於 Windows 環境,故建議盡量使用 NChinese。

範例:反查注音字根

using NChinese;

// 取得一串中文字的注音字根
var zhuyinProvicer = new ZhuyinReverseConversionProvider();
string[] zhuyinArray = zhuyinProvicer.Convert("便宜又方便得不得了");

foreach (var s in zhuyinArray)
    Console.Write($"{s} ");

執行結果:

ㄆㄧㄢˊ "ㄧˊ ㄧㄡˋ ㄈㄤ ㄅㄧㄢˋ ㄉㄜ˙ ㄅㄨˋ ㄉㄜˊ ㄌㄧㄠˇ

中文詞庫與注音字根的資料,是以 libchewing 的檔案(tsi.src)為藍本,再經過工具加工之後所產生的。所以透過上述方法所取得的注音字根,在讀音方面比較符合台灣的發音習慣。

範例:反查拚音字根

如果要取得拼音字根,目前可以用的是 ImmPinyinReverseConversionProvider。此類別與上例的 ZhuyinReverseConversionProvider 都實作了  IReverseConversionProvider,故用法雷同。如下:

using NChinese.Imm;

// 取得一串中文字的拼音字根
var pinyinProvicer = new ImmPinyinReverseConversionProvider();
string[] pinyininArray = zhuyinProvicer.Convert("便宜又方便得不得了");

foreach (var s in zhuyinArray)
    Console.Write($"{s} ");

執行結果:

pián yi yòu fāng biàn de bù dé liǎo

如果仔細比較,就可以發現此範例所取得的拼音,和上一個範例所取得的注音,在讀音方面有小差異:「便宜」的「宜」,在拼音裡面是讀作輕聲,而注音則是二聲。

另外要注意的是,用來取得拼音字根的 ImmPinyinReverseConversionProvider 是隸屬於 NChinese.Imm 套件。此類別是利用 IFELanguage COM API 來取得注音字根,所以只能運行於 Windows 作業環境。

NChinese.Imm 套件裡面還有一個 ImmZhuyinReverseConversionProvider,用途跟 NChinese.ZhuyinReverseConversionProvider一樣是反查注音字根,但是它在內部實作上,其實是先用 ImmPinyinReverseConversionProvider 取得拼音字根,然後再使用 PinyinToZhuyin 類別來把拼音轉換成注音符號。

 

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

评论(0)
发评论

下载排行榜

全部0条评论

快来发表一下你的评论吧 !