Skip to content

Latest commit

 

History

History
456 lines (318 loc) · 15 KB

README-cmn.md

File metadata and controls

456 lines (318 loc) · 15 KB

台語 | English


Logo

Taibun

Contributions Live Demo Tests Release Licence LinkedIn Downloads

臺灣話音譯器和標記器

它具有允許自定義音譯,和檢索有關臺灣話發音的任何必要信息的方法
包括臺灣話的單詞標記器

報告軟件缺陷PyPI


目錄
  1. 版本
  2. 安裝
  3. 用法
  4. 例子
  5. 數據
  6. 致謝
  7. 執照

版本

JavaScript Version

安裝

Taibun 可以通過 pypi 安裝

$ pip install taibun

用法

Converter

Converter 類別使用開發人員指定的參數將中文字音譯為所選的音譯系統。適用於繁體和簡體字符。

# 建構子
c = Converter(system, dialect, format, delimiter, sandhi, punctuation, convert_non_cjk)

# 音譯中文字
c.get(input)

System

system String - 音譯系統。

文本 Tailo POJ Zhuyin TLPA Pingyim Tongiong IPA
台灣 Tâi-uân Tâi-oân ㄉㄞˊ ㄨㄢˊ Tai5 uan5 Dáiwán Tāi-uǎn Tai²⁵ uan²⁵

Dialect

dialect String - 首選發音。

文本 south north singapore
五月節我啉咖啡 Gōo-gue̍h-tseh guá lim ka-pi Gōo-ge̍h-tsueh guá lim ka-pi Gōo-ge̍h-tsueh uá lim ko-pi

Format

format String - 轉換後的句子中表示聲調的格式。

  • mark (預設) - 每個音節都使用變音符號。不支持拼音
  • number - 添加一個代表音節末尾聲調的數字
  • strip - 刪除任何音調標記
文本 mark number strip
台灣 Tâi-uân Tai5-uan5 Tai-uan

Delimiter

delimiter String - 設定放置在單詞音節之間的分隔符。

預設值取決於所選的 system:

  • '-' - 對於 Tailo, POJ, Tongiong
  • '' - 對於 Pingyim
  • ' ' - 對於 Zhuyin, TLPA, IPA
文本 '-' '' ' '
台灣 Tâi-uân Tâiuân Tâi uân

Sandhi

sandhi String - 應用臺灣話變調規則

由於編碼所有變調規則困難,Taibun 提供多種模式變調轉換以支援自訂變調處理。

  • none - 不執行任何變調
  • auto - 最接近臺灣話的正確音調變音,包括代詞、後綴和帶有「仔」詞的音調變音
  • exc_last - 除了最後一個音節之外,每個音節都變調
  • incl_last - 包括最後一個音節在內,每個音節都變調

預設值取決於所選的 system:

  • auto - 對於 Tongiong
  • none - 對於 Tailo, POJ, Zhuyin, TLPA, Pingyim, IPA
文本 none auto exc_last incl_last
這是你的茶桌仔無 Tse sī lí ê tê-toh-á bô Tse sì li ē tē-to-á bô Tsē sì li ē tē-tó-a bô Tsē sì li ē tē-tó-a bō

變調規則也會根據所選擇的方言而變化。

文本 沒有變調 south north / singapore
台灣 Tâi-uân Tāi-uân Tài-uân

Punctuation

punctuation String

  • format (預設) - 將中文標點符號轉換為英文標點符號,並將每個句子開頭的單詞大寫
  • none - 保留中文風格的標點符號,並且新句子開頭的單詞不大寫
文本 format none
這是臺南,簡稱「南」(白話字:Tâi-lâm;注音符號:ㄊㄞˊ ㄋㄢˊ,國語:Táinán)。 Tse sī Tâi-lâm, kán-tshing "lâm" (Pe̍h-uē-jī: Tâi-lâm; tsù-im hû-hō: ㄊㄞˊ ㄋㄢˊ, kok-gí: Táinán). tse sī Tâi-lâm,kán-tshing「lâm」(Pe̍h-uē-jī:Tâi-lâm;tsù-im hû-hō:ㄊㄞˊ ㄋㄢˊ,kok-gí:Táinán)。

Convert non-CJK

convert_non_cjk Boolean - 定義是否轉換非中文單詞。可用於將臺羅拼音轉換為其他羅馬拼音系統。

  • True - 轉換非中文字詞
  • False (預設) - 僅轉換中文字詞
文本 False True
我食pháng ㆣㄨㄚˋ ㄐㄧㄚㆷ˙ pháng ㆣㄨㄚˋ ㄐㄧㄚㆷ˙ ㄆㄤˋ

Tokeniser

Tokeniser 類別對臺灣話句子執行類似 NLTK wordpunct_tokenize 的標記化。

# 建構子
t = Tokeniser(keep_original)

# 標記臺灣語句
t.tokenise(input)

Keep original

keep_original Boolean - 定義是否保留輸入的原始字符。

  • True (預設) - 保留原始字符
  • False - 使用資料集中定義的字符替換原始字符
文本 True False
臺灣火鸡肉饭 ['臺灣', '火鸡肉饭'] ['台灣', '火雞肉飯']

其他函式

實用的臺灣話 NLP 助手函式。

to_traditional 函式將輸入轉換為繁體字元以便於資料集使用。也可應對繁體字符變體。

to_simplified 函式將輸入轉換為簡體字元。

is_cjk 函式檢查輸入字串是否完全由中文字符組成。

to_traditional(input)

to_simplified(input)

is_cjk(input)

例子

# Converter
from taibun import Converter

## System
c = Converter() # system 預設值: Tailo
c.get('先生講,學生恬恬聽。')
>> Sian-sinn kóng, ha̍k-sing tiām-tiām thiann.

c = Converter(system='Zhuyin')
c.get('先生講,學生恬恬聽。')
>> ㄒㄧㄢ ㄒㆪ ㄍㆲˋ, ㄏㄚㆶ˙ ㄒㄧㄥ ㄉㄧㆰ˫ ㄉㄧㆰ˫ ㄊㄧㆩ.

## Dialect
c = Converter() # dialect 預設值: south
c.get("我欲用箸食魚")
>> Guá beh īng  tsia̍h 

c = Converter(dialect='north')
c.get("我欲用箸食魚")
>> Guá bueh īng  tsia̍h 

c = new Converter({ dialect: 'singapore' });
c.get("我欲用箸食魚");
>>  bueh ēng  tsia̍h 

## Format
c = Converter() # 在 Tailo 中,format 預設值: mark
c.get("生日快樂")
>> Senn-ji̍t khuài-lo̍k

c = Converter(format='number')
c.get("生日快樂")
>> Senn1-jit8 khuai3-lok8

c = Converter(format='strip')
c.get("生日快樂")
>> Senn-jit khuai-lok

## Delimiter
c = Converter(delimiter='')
c.get("先生講,學生恬恬聽。")
>> Siansinn kóng, ha̍ksing tiāmtiām thiann.

c = Converter(system='Pingyim', delimiter='-')
c.get("先生講,學生恬恬聽。")
>> Siān-snī gǒng, hág-sīng diâm-diâm tinā.

## Sandhi
c = Converter() # 在 Tailo 中,sandhi 預設值: none
c.get("這是你的茶桌仔無")
>> Tse   ê -toh-á 

c = Converter(sandhi='auto')
c.get("這是你的茶桌仔無")
>> Tse  li ē -to-á 

c = Converter(sandhi='exc_last')
c.get("這是你的茶桌仔無")
>> Tsē  li ē --a 

c = Converter(sandhi='incl_last')
c.get("這是你的茶桌仔無")
>> Tsē  li ē --a 

## Punctuation
c = Converter() # punctuation 預設值: format
c.get("太空朋友,恁好!恁食飽未?")
>> Thài-khong pîng-, lín-! Lín tsia̍h- buē?

c = Converter(punctuation='none')
c.get("太空朋友,恁好!恁食飽未?")
>> thài-khong pîng-lín-lín tsia̍h- buē## Convert non-CJK
c = Converter(system='Zhuyin') # convert_non_cjk 預設值: False
c.get("我食pháng")
>> ㆣㄨㄚˋ ㄐㄧㄚㆷ˙ pháng

c = Converter(system='Zhuyin', convert_non_cjk=True)
c.get("我食pháng")
>> ㆣㄨㄚˋ ㄐㄧㄚㆷ˙ ㄆㄤˋ


# Tokeniser
from taibun import Tokeniser

t = Tokeniser()
t.tokenise("太空朋友,恁好!恁食飽未?")
>> ['太空', '朋友', ',', '恁好', '!', '恁', '食飽', '未', '?']

## Keep Original
t = Tokeniser() # keep_original 預設值: True
t.tokenise("爲啥物臺灣遮爾好?")
>> ['爲啥物', '臺灣', '遮爾', '好', '?']

t.tokenise("为啥物台湾遮尔好?")
>> ['为啥物', '台湾', '遮尔', '好', '?']

t = Tokeniser(False)
t.tokenise("爲啥物臺灣遮爾好?")
>> ['為啥物', '台灣', '遮爾', '好', '?']

t.tokenise("为啥物台湾遮尔好?")
>> ['為啥物', '台灣', '遮爾', '好', '?']


# 其他函式
from taibun import to_traditional, to_simplified, is_cjk

## to_traditional
to_traditional("我听无台语")
>> 我聽無台語

to_traditional("我爱这个个人台面")
>> 我愛這个個人檯面

to_traditional("爲啥物")
>> 為啥物

## to_simplified
to_simplified("我聽無台語")
>> 我听无台语

## is_cjk
is_cjk('我食麭')
>> True

is_cjk('我食pháng')
>> False

數據

致謝

執照

因為 Taibun 是 MIT 許可的,所以任何開發人員基本上都可以用它做任何他們想做的事情,只要他們在源代碼的任何副本中包含原始版權和許可聲明。 請注意,該包使用的數據已獲得不同版權的許可。

數據已獲得 CC BY-SA 4.0 許可