天風齋

天風齋 - 唐宗漢的網站
TaBE/Toke: 中文自然語言處理模組
這個有我所需要的東西~
把字詞分離. 而且字可以轉換成注音碼. 可以來做做很多怪事~ :p


以下轉載自 TaBE/Toke: 中文自然語言處理模組
libTaBE 函式庫是由 TaBE 計劃開發的中文句、詞、字、音處理模組。Lingua::ZH::TaBE 則是以物件導向方式,重新整理過的 Perl 界面。
libtabe 0.2.5 以上版本,方能安裝本模組。
使用範例如下:

use Lingua::ZH::TaBE;
my $tabe = Lingua::ZH::TaBE->new;
# 可以,輕易,解決,中文,的,斷詞,問題
print join(',', $tabe->split(
"可以輕易解決中文的斷詞問題"
));
# 取得句、段、詞、字、音、注音符號之間的關係
print $tabe->Chu("道可道,非常道。")    # 句
->chunks->[2]       # 非常道        # 段
->tsis->[0]         # 非常          # 詞
->zhis->[1]         # 常            # 字
->yins->[0]         # ㄔㄤˊ         # 音
->zuyins->[0];      # ㄔ            # 注音
除此之外,還有詞頻、複雜斷詞、Big5 碼判斷及轉換等功能,族繁不及備載。 :-)
另外,我還寫了 Lingua::ZH::Toke 這個模組,可以讓 Perl 5.6.1(最好是 5.8)以上的使用者,更方便地處理語句:
use Lingua::ZH::Toke;	# 若後面加上 'utf8' 即可處理萬國碼
# 建立 Lingua::ZH::Toke::Sentence「句子」物件(->Sentence 亦可)
my $token = Lingua::ZH::Toke->new( '那人卻在/燈火闌珊處/益發意興闌珊' );
# 利用陣列解參照,輕易達成分段功能
print $token->[0]		# 段   - 那人卻在
->[2]		# 詞   - 卻在
->[0]		# 字   - 卻
->[0]		# 音   - ㄑㄩㄝˋ
->[2];		# 注音 - ㄝ
# 利用雜湊解參照,計算出現次數
print $token->{'那人卻在'};	# 1 - 出現一次片段
print $token->{'意興闌珊'};	# 1 - 出現一次單詞
print $token->{'發意興闌'};	# undef - 不是一個詞
print $token->{'珊'};	# 2 - 出現兩次字
print $token->{'ㄧˋ'};	# 2 - 出現兩次字音:益意
print $token->{'ㄨ'};	# 3 - 出現三次注音:那火處
# 逐項處理「段」物件
while (my $fragment = <$token>) {
# 逐項處理「詞」物件
while (my $phrase = <$token>) {
# ...
}
}

歡迎批評指教。

作者: Tsung

對新奇的事物都很有興趣, 喜歡簡單的東西, 過簡單的生活.

發表迴響

這個網站採用 Akismet 服務減少垃圾留言。進一步了解 Akismet 如何處理網站訪客的留言資料