Skip to content

Commit

Permalink
Merge ca5d91e into 117359c
Browse files Browse the repository at this point in the history
  • Loading branch information
sih4sing5hong5 committed Jul 17, 2018
2 parents 117359c + ca5d91e commit 57af041
Show file tree
Hide file tree
Showing 3 changed files with 112 additions and 103 deletions.
137 changes: 67 additions & 70 deletions 文件/基本物件.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,21 @@
# 基本物件

## 上手
`````````````臺灣言語工具`操作的基本物件。若初次使用,推薦直接使用``物件
```python3
>>> 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á]]]]
```

## 介紹
`````````````臺灣言語工具`操作的基本物件。若初次使用,推薦直接使用``物件
* ``
* 包含許多``
* ``
Expand All @@ -18,102 +32,52 @@
* 若是南島語系,則都存在``裡面


## 建立
### 語句轉物件
`拆文分析器`是建立`基本物件`的主要工具,可以處理大多數情形的語料,使用`拆文分析器.建立章物件(語句)`函式
## 建立物件
`拆文分析器`是建立`基本物件`的主要工具,可以處理大多數情形的語料,使用`拆文分析器.建立句物件(語句)`函式
```python3
>>> from 臺灣言語工具.解析整理.拆文分析器 import 拆文分析器
>>>
>>> 拆文分析器.建立章物件('臺語工具') # 全漢字
>>> 拆文分析器.建立句物件('臺語工具') # 全漢字
章:[句:[集:[組:[詞:[字:臺 ], 詞:[字:語 ], 詞:[字:工 ], 詞:[字:具 ]]]]]
>>>
>>> 拆文分析器.建立章物件('tai5-gi2 kang1-ku7') # 全羅馬字音標
>>> 拆文分析器.建立句物件('tai5-gi2 kang1-ku7') # 全羅馬字音標
章:[句:[集:[組:[詞:[字:tai5 , 字:gi2 ], 詞:[字:kang1 , 字:ku7 ]]]]]
>>>
>>> 拆文分析器.建立章物件('臺語工ku7') # 漢字音標混合
>>> 拆文分析器.建立句物件('臺語工ku7') # 漢字音標混合
章:[句:[集:[組:[詞:[字:臺 ], 詞:[字:語 ], 詞:[字:工 ], 詞:[字:ku7 ]]]]]
>>>
```
方便複製版本
```python3
from 臺灣言語工具.解析整理.拆文分析器 import 拆文分析器

拆文分析器.建立章物件('臺語工具') # 全漢字
拆文分析器.建立章物件('tai5-gi2 kang1-ku7') # 全羅馬字音標
拆文分析器.建立章物件('臺語工ku7') # 漢字音標混合
```
`拆文分析器`還有`建立句物件(語句)``建立集物件(語句)``建立組物件(語句)``建立詞物件(語句)``建立字物件(語句)`函式。詳細行為可以參考[單元試驗](https://github.com/sih4sing5hong5/tai5-uan5_gian5-gi2_kang1-ku7/blob/master/%E8%A9%A6%E9%A9%97/%E8%A7%A3%E6%9E%90%E6%95%B4%E7%90%86/Test%E6%8B%86%E6%96%87%E5%88%86%E6%9E%90%E5%99%A8%E5%BB%BA%E7%AB%8B%E5%96%AE%E5%85%83%E8%A9%A6%E9%A9%97.py)

若是同時有漢字和音標,則可以使用`拆文分析器.對齊章物件(型, 音)`
若是同時有漢字和音標,則可以傳兩ê參數`拆文分析器.建立句物件(語句, 羅馬字)`
```python3
>>> from 臺灣言語工具.解析整理.拆文分析器 import 拆文分析器
>>>
>>> 拆文分析器.對齊章物件('臺語工具', 'tai5-gi2 kang1-ku7') # 有全部的漢字和音 標對應
>>> 拆文分析器.建立句物件('臺語工具', 'tai5-gi2 kang1-ku7') # 有全部的漢字和羅馬字對應
章:[句:[集:[組:[詞:[字:臺 tai5, 字:語 gi2], 詞:[字:工 kang1, 字:具 ku7]]]]]
>>>
>>> 拆文分析器.對齊章物件('臺語工ku7', 'tai5-gi2 kang1-ku7') # 漢字部份沒全部音標也沒關係
>>> 拆文分析器.建立句物件('臺語工ku7', 'tai5-gi2 kang1-ku7') # 漢羅OK
章:[句:[集:[組:[詞:[字:臺 tai5, 字:語 gi2], 詞:[字:工 kang1, 字:ku7 ku7]]]]]
>>>
>>> 拆文分析器.對齊章物件('tai5-gi2 kang1-ku7', 'tai5-gi2 kang1-ku7') # 音標對應音標也可以
>>> 拆文分析器.建立句物件('tai5-gi2 kang1-ku7', 'tai5-gi2 kang1-ku7') # 羅馬字對應羅馬字嘛ē-sái
章:[句:[集:[組:[詞:[字:tai5 tai5, 字:gi2 gi2], 詞:[字:kang1 kang1, 字:ku7 ku7]]]]]
```
方便複製版本
```python3
from 臺灣言語工具.解析整理.拆文分析器 import 拆文分析器

拆文分析器.對齊章物件('臺語工具', 'tai5-gi2 kang1-ku7') # 有全部的漢字和音標對應
拆文分析器.對齊章物件('臺語工ku7', 'tai5-gi2 kang1-ku7') # 漢字部份沒全部音標也沒關係
拆文分析器.對齊章物件('tai5-gi2 kang1-ku7', 'tai5-gi2 kang1-ku7') # 音標對應音標也可以
```
其中````的字數要相同,否則會擲出`解析錯誤`例外。

`拆文分析器`還有`對齊句物件(型, 音)``對齊集物件(型, 音)``對齊組物件(型, 音)``對齊詞物件(型, 音)``對齊字物件(型, 音)`函式。詳細行為可以參考[單元試驗](https://github.com/sih4sing5hong5/tai5-uan5_gian5-gi2_kang1-ku7/blob/master/%E8%A9%A6%E9%A9%97/%E8%A7%A3%E6%9E%90%E6%95%B4%E7%90%86/Test%E6%8B%86%E6%96%87%E5%88%86%E6%9E%90%E5%99%A8%E5%B0%8D%E9%BD%8A%E5%96%AE%E5%85%83%E8%A9%A6%E9%A9%97.py)
其中`語句``羅馬字`的字數要相同,否則會擲出`解析錯誤`例外。

會當參考`python 範例/基本物件.py`
`拆文分析器`還有`建立章物件``建立集物件``建立組物件``建立詞物件``建立字物件`函式。詳細行為可以參考[單元試驗](https://github.com/sih4sing5hong5/tai5-uan5_gian5-gi2_kang1-ku7/blob/master/%E8%A9%A6%E9%A9%97/%E8%A7%A3%E6%9E%90%E6%95%B4%E7%90%86/)

### 預處理
因為閩南語語料的`-`,有斷詞意義,所以`拆文分析器``-`限制較濟。語句在分析前建議都先用`文章粗胚`預處理

#### 漢語
親像閩南語有輕聲`--``文章粗胚`會先轉做`-0`
### 分詞物件
`基本物件`會當輸出做`分詞`字串形態,方便tī資料庫等處理。用`物件.看分詞()`得著`分詞``拆文分析器.分詞句物件(分詞)`載入`分詞`
```python3
>>> from 臺灣言語工具.解析整理.文章粗胚 import 文章粗胚
>>> from 臺灣言語工具.解析整理.拆文分析器 import 拆文分析器
>>> from 臺灣言語工具.音標系統.閩南語.臺灣閩南語羅馬字拼音 import 臺灣閩南語羅馬字拼音
>>>
>>> 原來語句 = '人莫走boo5--ki3。'
>>> 處理好語句 = 文章粗胚.建立物件語句前處理減號(臺灣閩南語羅馬字拼音, 原來語句) # --輕聲轉成-0
# 處理好語句 == '人莫走boo5-0ki3。'
>>> 加空白後語句 = 文章粗胚.符號邊仔加空白(處理好語句) # 句號旁加空白
# 加空白後語句 == '人莫走boo5-0ki3 。 '
>>> 拆文分析器.建立章物件(加空白後語句)
章:[句:[集:[組:[詞:[字:人 ], 詞:[字:莫 ], 詞:[字:走 ], 詞:[字:boo5 , 字:0ki3 ], 詞:[字:。 ]]]]]
```
方便複製版本
```python3
from 臺灣言語工具.解析整理.文章粗胚 import 文章粗胚
from 臺灣言語工具.解析整理.拆文分析器 import 拆文分析器
from 臺灣言語工具.音標系統.閩南語.臺灣閩南語羅馬字拼音 import 臺灣閩南語羅馬字拼音

原來語句 = '人莫走boo5--ki3。'
處理好語句 = 文章粗胚.建立物件語句前處理減號(臺灣閩南語羅馬字拼音, 原來語句) # --輕聲轉成-0
加空白後語句 = 文章粗胚.符號邊仔加空白(處理好語句) # 句號旁加空白
拆文分析器.建立章物件(加空白後語句)
>>> 句物件 = 拆文分析器.建立句物件('逐家gâu早', 'Ta̍k-ke gâu-tsá')
>>> 句物件.看分詞()
'逐-家|Ta̍k-ke gâu-早|gâu-tsá'
>>> 拆文分析器.分詞句物件(句物件.看分詞()) == 句物件
True
```


#### 南島語
目前`拆文分析器`還不能正確處理`'`,不過流程大致如下
```python3
from 臺灣言語工具.解析整理.文章粗胚 import 文章粗胚
from 臺灣言語工具.解析整理.拆文分析器 import 拆文分析器
from 臺灣言語工具.音標系統.閩南語.臺灣閩南語羅馬字拼音 import 臺灣閩南語羅馬字拼音

原來語句 = "Nga'ay ho?"
處理好語句 = 文章粗胚.建立物件語句前減號變標點符號(原來語句)
加空白後語句 = 文章粗胚.符號邊仔加空白(處理好語句)
拆文分析器.建立章物件(加空白後語句)
```
`拆文分析器`還有`分詞章物件``分詞集物件``分詞組物件``分詞詞物件``分詞字物件`函式。詳細行為可以參考[單元試驗](https://github.com/sih4sing5hong5/tai5-uan5_gian5-gi2_kang1-ku7/blob/master/%E8%A9%A6%E9%A9%97/%E8%A7%A3%E6%9E%90%E6%95%B4%E7%90%86/)

## 輸出
物件會使照需要拿出`````分詞`
Expand Down Expand Up @@ -211,3 +175,36 @@ a='11'
```python3
def 做(self, 模組, 函式名, *參數陣列, **參數物件):
```


### 預處理(deprecated)
因為閩南語語料的`-`,有斷詞意義,所以`拆文分析器``-`限制較濟。語句在分析前建議都先用`文章粗胚`預處理

#### 漢語
親像閩南語有輕聲`--``文章粗胚`會先轉做`-0`
```python3
>>> from 臺灣言語工具.解析整理.文章粗胚 import 文章粗胚
>>> from 臺灣言語工具.解析整理.拆文分析器 import 拆文分析器
>>> from 臺灣言語工具.音標系統.閩南語.臺灣閩南語羅馬字拼音 import 臺灣閩南語羅馬字拼音
>>>
>>> 原來語句 = '人莫走boo5--ki3。'
>>> 處理好語句 = 文章粗胚.建立物件語句前處理減號(臺灣閩南語羅馬字拼音, 原來語句) # --輕聲轉成-0
# 處理好語句 == '人莫走boo5-0ki3。'
>>> 加空白後語句 = 文章粗胚.符號邊仔加空白(處理好語句) # 句號旁加空白
# 加空白後語句 == '人莫走boo5-0ki3 。 '
>>> 拆文分析器.建立章物件(加空白後語句)
章:[句:[集:[組:[詞:[字:人 ], 詞:[字:莫 ], 詞:[字:走 ], 詞:[字:boo5 , 字:0ki3 ], 詞:[字:。 ]]]]]
```

#### 南島語
目前`拆文分析器`還不能正確處理`'`,不過流程大致如下
```python3
from 臺灣言語工具.解析整理.文章粗胚 import 文章粗胚
from 臺灣言語工具.解析整理.拆文分析器 import 拆文分析器
from 臺灣言語工具.音標系統.閩南語.臺灣閩南語羅馬字拼音 import 臺灣閩南語羅馬字拼音

原來語句 = "Nga'ay ho?"
處理好語句 = 文章粗胚.建立物件語句前減號變標點符號(原來語句)
加空白後語句 = 文章粗胚.符號邊仔加空白(處理好語句)
拆文分析器.建立章物件(加空白後語句)
```
8 changes: 8 additions & 0 deletions 文件/安裝.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,14 @@
* 母語parser、寫法轉換、…功能。
* 翻譯、語音辨識、語音合成等工具整合。

## Docker
- 安裝 [docker](https://docs.docker.com/engine/installation/linux/docker-ce/ubuntu/)
- 安裝 [docker-compose](https://docs.docker.com/compose/install/)
- 設定docker權限`sudo usermod -aG docker $USER`
```
docker run -ti --rm i3thuan5/tai5-uan5_gian5-gi2_kang1-ku7
```

## 快速安裝
```bash
sudo apt-get install -y python3 virtualenv g++ python3-dev zlib1g-dev libbz2-dev liblzma-dev libboost-all-dev # Ubuntu/Mint 安裝指令
Expand Down
70 changes: 37 additions & 33 deletions 文件/常見情境.md
Original file line number Diff line number Diff line change
@@ -1,50 +1,54 @@
# 常見情境
建議先簡單看一下`基本物件`才閣來看~~

## 白話字轉臺羅
## 白話字臺羅轉換
```python3
from 臺灣言語工具.解析整理.羅馬音仕上げ import 羅馬音仕上げ
from 臺灣言語工具.解析整理.拆文分析器 import 拆文分析器
from 臺灣言語工具.解析整理.文章粗胚 import 文章粗胚
from 臺灣言語工具.音標系統.閩南語.臺灣閩南語羅馬字拼音相容教會羅馬字音標 import 臺灣閩南語羅馬字拼音相容教會羅馬字音標
from 臺灣言語工具.音標系統.閩南語.臺灣閩南語羅馬字拼音 import 臺灣閩南語羅馬字拼音
from 臺灣言語工具.基本物件.公用變數 import 分字符號
from 臺灣言語工具.基本物件.公用變數 import 分詞符號

白話字 = 'pe̍h-oē-jī tī chia'
臺羅 = 羅馬音仕上げ.輕聲佮外來語(
拆文分析器
.建立句物件(文章粗胚.建立物件語句前處理減號(臺灣閩南語羅馬字拼音相容教會羅馬字音標, 白話字)) # 先預處理減號
.轉音(臺灣閩南語羅馬字拼音相容教會羅馬字音標) # 先全部轉做臺羅數字調
.轉音(臺灣閩南語羅馬字拼音, '轉閏號調') # 才閣轉做臺羅閏號調,調號佇韻面頂
.看型(物件分字符號=分字符號, 物件分詞符號=分詞符號) # 因為毋是對齊物件,所以愛用`看型`
)
print(臺羅) # pe̍h-uē-jī tī tsia
>>> from 臺灣言語工具.解析整理.拆文分析器 import 拆文分析器
>>> from 臺灣言語工具.音標系統.閩南語.臺灣閩南語羅馬字拼音相容教會羅馬字音標 import 臺灣閩南語羅馬字拼音相容教會羅馬字音標
>>> from 臺灣言語工具.音標系統.閩南語.臺灣閩南語羅馬字拼音 import 臺灣閩南語羅馬字拼音
>>> from 臺灣言語工具.基本物件.公用變數 import 分字符號
>>> from 臺灣言語工具.基本物件.公用變數 import 分詞符號
>>>
>>> 臺羅 = 'Pe̍h-uē-jī tī tsia'
>>> 白話字物件 = (
... 拆文分析器.建立句物件(臺羅)
... .轉音(臺灣閩南語羅馬字拼音, '轉白話字')
... )
>>> print(白話字物件.看語句())
Pe̍h--jī tī chia
>>>
>>> 白話字 = 'Pe̍h-oē-jī tī chia'
>>> 臺羅物件 = (
... 拆文分析器.建立句物件(白話字)
... .轉音(臺灣閩南語羅馬字拼音相容教會羅馬字音標) # 先全部轉做臺羅數字調
... .轉音(臺灣閩南語羅馬字拼音, '轉閏號調') # 才閣轉做臺羅閏號調,調號佇韻面頂
... )
>>> print(臺羅物件.看語句())
pe̍h--jī tī tsia
```

### 通用拼音轉臺羅拼音
### 通用拼音轉臺羅
```python3
from 臺灣言語工具.解析整理.拆文分析器 import 拆文分析器
from 臺灣言語工具.音標系統.閩南語.通用拼音音標 import 通用拼音音標

通用組物件 = 拆文分析器.對齊組物件('臺語語言來講古', 'dai5-qi4 qi4-qen5 lai5 gong2-go4')
通用組物件 = 拆文分析器.建立句物件('臺語語言來講古', 'dai5-qi4 qi4-qen5 lai5 gong2-go4')
臺羅組物件 = 通用組物件.轉音(通用拼音音標) # 會轉成臺羅數字調音標
print(臺羅組物件.看型()) # 臺語語言來講古
print(臺羅組物件.看音()) # tai5-gi2 gi2-gian5 lai5 kong7-koo2
```

## 檢查音標有合法無
```
from 臺灣言語工具.音標系統.閩南語.臺灣閩南語羅馬字拼音相容教會羅馬字音標 import 臺灣閩南語羅馬字拼音相容教會羅馬字音標
from 臺灣言語工具.解析整理.拆文分析器 import 拆文分析器
from 臺灣言語工具.音標系統.閩南語.臺灣閩南語羅馬字拼音 import 臺灣閩南語羅馬字拼音
音標 = 臺灣閩南語羅馬字拼音相容教會羅馬字音標('pe̍h')
print(音標.音標) # peh8
音標 = 臺灣閩南語羅馬字拼音相容教會羅馬字音標('piet')
print(音標.音標) # None
拆文分析器.建立句物件('peh8', 'peh8').音標敢著(臺灣閩南語羅馬字拼音) # True
拆文分析器.建立句物件('piet', 'piet').音標敢著(臺灣閩南語羅馬字拼音) # False
```
目前支援的[音標系統](https://github.com/sih4sing5hong5/tai5-uan5_gian5-gi2_kang1-ku7/tree/master/%E8%87%BA%E7%81%A3%E8%A8%80%E8%AA%9E%E5%B7%A5%E5%85%B7/%E9%9F%B3%E6%A8%99%E7%B3%BB%E7%B5%B1)

* 閩南語/臺語
* 台語
* 臺灣閩南語羅馬字拼音(臺羅)
* 教會羅馬字音標(白話字)
* 臺灣閩南語羅馬字拼音相容教會羅馬字音標
Expand Down Expand Up @@ -82,15 +86,15 @@ from 臺灣言語工具.斷詞.拄好長度辭典揣詞 import 拄好長度辭
from 臺灣言語工具.斷詞.語言模型揀集內組 import 語言模型揀集內組

辭典 = 型音辭典(4) # 一个詞上濟四个字
辭典.加詞(拆文分析器.對齊詞物件('', 'tsit8'))
辭典.加詞(拆文分析器.對齊詞物件('', 'e5'))
辭典.加詞(拆文分析器.對齊詞物件('', 'e5'))
辭典.加詞(拆文分析器.對齊詞物件('花車', 'hue1-tshia1'))
辭典.加詞(拆文分析器.對齊詞物件('火車頭', 'hue2-tshia1-thau5'))
辭典.加詞(拆文分析器.建立詞物件('', 'tsit8'))
辭典.加詞(拆文分析器.建立詞物件('', 'e5'))
辭典.加詞(拆文分析器.建立詞物件('', 'e5'))
辭典.加詞(拆文分析器.建立詞物件('花車', 'hue1-tshia1'))
辭典.加詞(拆文分析器.建立詞物件('火車頭', 'hue2-tshia1-thau5'))

語言模型 = 實際語言模型(2) # 參考前後文,連紲2个詞為單位
語言模型.看(拆文分析器.對齊句物件('我的', 'gua2 e5'))
語言模型.看(拆文分析器.對齊句物件('一个', 'tsit8 e5'))
語言模型.看(拆文分析器.建立句物件('我的', 'gua2 e5'))
語言模型.看(拆文分析器.建立句物件('一个', 'tsit8 e5'))

揣詞結果 = (
拆文分析器.建立句物件('tsit8 e5 hue2 tshia1 thau5')
Expand Down

0 comments on commit 57af041

Please sign in to comment.