基本物件¶
上手¶
字
、詞
、組
、集
、句
佮章
是臺灣言語工具
操作的基本物件。若初次使用,推薦直接使用句
物件
>>> from 臺灣言語工具.解析整理.拆文分析器 import 拆文分析器
>>>
>>> 拆文分析器.建立句物件('Ta̍k-ke gâu-tsá') # 全羅馬字(全羅)
句:[集:[組:[詞:[字:Ta̍k , 字:ke ], 詞:[字:gâu , 字:tsá ]]]]
>>>
>>> 拆文分析器.建立句物件('逐家 gâu早') # 漢羅
句:[集:[組:[詞:[字:逐 , 字:家 ], 詞:[字:gâu , 字:早 ]]]]
>>>
>>> 拆文分析器.建立句物件('逐家gâu早', 'Ta̍k-ke gâu-tsá') # 漢羅 kah 全羅
句:[集:[組:[詞:[字:逐 Ta̍k, 字:家 ke], 詞:[字:gâu gâu, 字:早 tsá]]]]
介紹¶
章
包含許多
句
句
包含許多
集
集
包含許多
組
,這些組
是代表這個語句在這個集
,有多個組
可以選,但是整個語句只能用其中一個組
組
包含許多
詞
詞
包含許多
字
字
字
裡面含型
及音
兩個變數若是漢語語系,
型
用來存漢字,音
用來存音標。若是只有漢字或音標,則都存在型
內底若是南島語系,則都存在
型
裡面
建立物件¶
拆文分析器
是建立基本物件
的主要工具,可以處理大多數情形的語料,使用拆文分析器.建立句物件(語句)
函式
>>> from 臺灣言語工具.解析整理.拆文分析器 import 拆文分析器
>>>
>>> 拆文分析器.建立句物件('臺語工具') # 全漢字
章:[句:[集:[組:[詞:[字:臺 ], 詞:[字:語 ], 詞:[字:工 ], 詞:[字:具 ]]]]]
>>>
>>> 拆文分析器.建立句物件('tai5-gi2 kang1-ku7') # 全羅馬字音標
章:[句:[集:[組:[詞:[字:tai5 , 字:gi2 ], 詞:[字:kang1 , 字:ku7 ]]]]]
>>>
>>> 拆文分析器.建立句物件('臺語工ku7') # 漢字音標混合
章:[句:[集:[組:[詞:[字:臺 ], 詞:[字:語 ], 詞:[字:工 ], 詞:[字:ku7 ]]]]]
>>>
若是同時有漢字和音標,則可以傳兩ê參數拆文分析器.建立句物件(語句, 羅馬字)
>>> from 臺灣言語工具.解析整理.拆文分析器 import 拆文分析器
>>>
>>> 拆文分析器.建立句物件('臺語工具', 'tai5-gi2 kang1-ku7') # 有全部的漢字和羅馬字對應
章:[句:[集:[組:[詞:[字:臺 tai5, 字:語 gi2], 詞:[字:工 kang1, 字:具 ku7]]]]]
>>>
>>> 拆文分析器.建立句物件('臺語工ku7', 'tai5-gi2 kang1-ku7') # 漢羅OK
章:[句:[集:[組:[詞:[字:臺 tai5, 字:語 gi2], 詞:[字:工 kang1, 字:ku7 ku7]]]]]
>>>
>>> 拆文分析器.建立句物件('tai5-gi2 kang1-ku7', 'tai5-gi2 kang1-ku7') # 羅馬字對應羅馬字嘛ē-sái
章:[句:[集:[組:[詞:[字:tai5 tai5, 字:gi2 gi2], 詞:[字:kang1 kang1, 字:ku7 ku7]]]]]
其中語句
佮羅馬字
的字數要相同,否則會擲出解析錯誤
例外。
拆文分析器
還有建立章物件
、建立集物件
、建立組物件
、建立詞物件
跟建立字物件
函式。詳細行為可以參考單元試驗。
分詞物件¶
基本物件
會當輸出做分詞
字串形態,方便tī資料庫等處理。用物件.看分詞()
得著分詞
,拆文分析器.分詞句物件(分詞)
載入分詞
。
>>> from 臺灣言語工具.解析整理.拆文分析器 import 拆文分析器
>>>
>>> 句物件 = 拆文分析器.建立句物件('逐家gâu早', 'Ta̍k-ke gâu-tsá')
>>> 句物件.看分詞()
'逐-家|Ta̍k-ke gâu-早|gâu-tsá'
>>> 拆文分析器.分詞句物件(句物件.看分詞()) == 句物件
True
拆文分析器
還有分詞章物件
、分詞集物件
、分詞組物件
、分詞詞物件
跟分詞字物件
函式。詳細行為可以參考單元試驗。
輸出¶
物件會使照需要拿出型
、音
和分詞
>>> from 臺灣言語工具.解析整理.拆文分析器 import 拆文分析器
>>>
>>> 漢字 = '臺語工具'
>>> 音標 = 'tai5-gi2 kang1-ku7'
>>> 章物件 = 拆文分析器.對齊章物件(漢字, 音標)
>>> 章物件.看型()
'臺語工具'
>>> 章物件.看音()
'tai5-gi2 kang1-ku7'
>>> 章物件.看分詞()
'臺-語|tai5-gi2 工-具|kang1-ku7'
方便複製
from 臺灣言語工具.解析整理.拆文分析器 import 拆文分析器
漢字 = '臺語工具'
音標 = 'tai5-gi2 kang1-ku7'
章物件 = 拆文分析器.對齊章物件(漢字, 音標)
章物件.看型()
章物件.看音()
章物件.看分詞()
分詞
包含漢字和音標,而且分詞
能夠經由拆文分析器
再轉成物件
from 臺灣言語工具.解析整理.拆文分析器 import 拆文分析器
章物件 = 拆文分析器.對齊章物件('臺語工具', 'tai5-gi2 kang1-ku7')
分詞 = 章物件.看分詞()
分詞章物件 = 拆文分析器.分詞章物件(分詞) # 分詞章物件 == 章物件
函式定義¶
元素.看型(物件分字符號='', 物件分詞符號='', 物件分句符號='')
回傳元素的全部型。參數會當設定字
、詞
跟句
中的分隔符號,預設不分隔。
元素.看音(物件分字符號=分字符號, 物件分詞符號=分詞符號, 物件分句符號=分詞符號)
回傳元素的全部音。參數會當設定字
、詞
跟句
中的分隔符號。分字符號
是-
,分詞符號
是
。
元素.看分詞(物件分型音符號=分型音符號, 物件分字符號=分字符號, 物件分詞符號=分詞符號, 物件分句符號=分詞符號):
回傳元素的分詞,這個分詞可以被拆文分析器
的轉做
。參數會當設定字
、詞
跟句
中的分隔符號。分字符號
是-
,分詞符號
是
。
處理¶
基本物件的函式,函式回傳皆是新的物件,原本的物件並不會改變。
斷詞¶
部份漢語語料是漢字佮羅馬字混雜,為了讓語料能更一致,斷詞有兩種方法
兩步斷詞¶
先用辭典切出對應的斷點,才閣揀出其中一個當結果
a='11'
函式定義¶
def 揣詞(self, 揣詞方法, *參數陣列, **參數物件):
def 揀(self, 揀集內組方法, *參數陣列, **參數物件):
直接斷詞¶
仝款用辭典佮語言模型,辭典語言模型斷詞
會試逐種組合,毋過速度較慢
華語斷詞¶
中研院斷詞
函式定義¶
def 斷詞(self, 斷詞方法, *參數陣列, **參數物件):
翻譯¶
def 翻譯(self, 翻譯方法, *參數陣列, **參數物件):
其他處理¶
為了介面清楚,一些不常用、不通用的功能就不另外包函式。像是要使用閩南語變調.變調(cls, 物件)
就可以用做
函式
物件.做(閩南語變調, '變調')
而要參數的集內組照排.排(cls, 排法, 物件)
可以用
物件.做(集內組照排, '排', 排法=lambda 物件:str(物件))
函式定義¶
def 做(self, 模組, 函式名, *參數陣列, **參數物件):
預處理(deprecated)¶
因為閩南語語料的-
,有斷詞意義,所以拆文分析器
對-
限制較濟。語句在分析前建議都先用文章粗胚
預處理
漢語¶
親像閩南語有輕聲--
,文章粗胚
會先轉做-0
>>> from 臺灣言語工具.解析整理.文章粗胚 import 文章粗胚
>>> from 臺灣言語工具.解析整理.拆文分析器 import 拆文分析器
>>> from 臺灣言語工具.音標系統.閩南語.臺灣閩南語羅馬字拼音 import 臺灣閩南語羅馬字拼音
>>>
>>> 原來語句 = '人莫走boo5--ki3。'
>>> 處理好語句 = 文章粗胚.建立物件語句前處理減號(臺灣閩南語羅馬字拼音, 原來語句) # --輕聲轉成-0
# 處理好語句 == '人莫走boo5-0ki3。'
>>> 加空白後語句 = 文章粗胚.符號邊仔加空白(處理好語句) # 句號旁加空白
# 加空白後語句 == '人莫走boo5-0ki3 。 '
>>> 拆文分析器.建立章物件(加空白後語句)
章:[句:[集:[組:[詞:[字:人 ], 詞:[字:莫 ], 詞:[字:走 ], 詞:[字:boo5 , 字:0ki3 ], 詞:[字:。 ]]]]]
南島語¶
目前拆文分析器
還不能正確處理'
,不過流程大致如下
from 臺灣言語工具.解析整理.文章粗胚 import 文章粗胚
from 臺灣言語工具.解析整理.拆文分析器 import 拆文分析器
from 臺灣言語工具.音標系統.閩南語.臺灣閩南語羅馬字拼音 import 臺灣閩南語羅馬字拼音
原來語句 = "Nga'ay ho?"
處理好語句 = 文章粗胚.建立物件語句前減號變標點符號(原來語句)
加空白後語句 = 文章粗胚.符號邊仔加空白(處理好語句)
拆文分析器.建立章物件(加空白後語句)