Skip to content

Latest commit

 

History

History
456 lines (318 loc) · 14.9 KB

README-oan.md

File metadata and controls

456 lines (318 loc) · 14.9 KB

國語 | English


Logo

Taibun

Contributions Live Demo Tests Release Licence LinkedIn Downloads

台語音譯器佮標記器

伊有允許自己設定音譯,佮揣出關於台語發音所需要的資料的方法
包括台語的單詞標記器

回報程式缺點PyPI


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

版本

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 許可