• 沒有找到結果。

系統設計

在文檔中 透過聊天機器人技術建立 (頁 47-85)

第四章 系統建置與評估

第一節 系統設計

本節共分為四個段落,分別為建立族語辭典與資料庫、自動化拆解音節、族 語語音合成以及族語教材閱讀等,內容將依序說明設計與製作方法。此外,本節 所製作之流程圖將依照表4-1 流程圖圖形說明表內說明之圖形進行流程設計。

表4-1

流程圖圖形說明表

功能 圖形

開始或結束 資料輸入 資料處理 決策判斷

迴圈 連接 資料庫 資料來源:研究者自行整理

36

37

根據建和卑南族語千詞表為基礎,本研究保留資料中級別為初級的單字,並 留下中文、族語、級別三種資料,再加上中文例句、族語例句、字根三種資料,

呈現方式如族語辭典資料表,在資料完整的彙整後,總共有254 個初級單字,本 研究依序整理並加上新編輯的資料後放置附錄二。

表4-3

族語辭典資料表

中文 族語 中文例句 族語例句 字根 級別

豬 lriyung 我的豬喜歡吃地瓜 nanku lriyung sahar mekan

da vurasi. lriyung 初級 狗 suwan 他的工寮有四隻狗 nantu taluan ulra papata a

suwan. suwan 初級 羊 takulris 山上有五隻黑色的羊 i henan mu ulra lruwaca

a ’ude’udem na takulris. takulris 初級 貓 ngiyaw 我的貓喜歡吃魚 nanku ngiyaw sahar mekan

na vulraw. ngiyaw 初級 資料來源:研究者自行整理

38

(一) 畫面設計

由於LINE 上可呈現的畫面有多種形式與型態,本研究將透過 LINE Bot Designer 先行設計資料呈現畫面,再透過 LINE Bot Designer 所產生的 JSON 資料 修改為實際呈現畫面,如圖4-1LINE Bot Designer 設計畫面圖所示。

圖4-1 LINE Bot Designer 設計畫面圖

39

(二) 設計查詢單字功能流程圖

圖4-2 查詢功能流程圖 開始

輸入 族語單字

變數Temp 加入 符號「'」AND 族語單字AND

符號「'」

產生SQL 語法 使用SELECT 查詢

變數Temp

將資料儲存在 變數Data

A 資料庫連接

取得資料

40

圖4-3 續查詢功能流程圖 將族語、中文、

族語例句、中文例句 以及字根取出 並分別儲存在變數中

A

將資料放置在 設計好的JSON 資料中

結束 關閉資料庫 變數Data 中的資

料尚未讀取完畢

是 否

41

二、自動化拆解音節

本段落實作之功能為此次研究最重要的部分,必須先實現族語單字音節拆解 之功能,才能夠接續族語語音合成的內容,因此,在本段落將會先分析族語音節 規則,透過了解族語音節的組成,在進入撰寫音節拆解的程式時才能夠順利設計 出符合的邏輯。

(一) 分析族語音節規則

根據族語單字書寫方式可以分析出下列族語單字組成方式,以下將分別透過 幾個族語單字舉例並且分析其組成方式:

1. 子音 + 母音

(1) yawa 根據音節拆解後可書寫為 ya-wa,其結構為子音 + 母音 - 子音 + 母音。

(2) vuyu 根據音節拆解後可書寫為 vu-yu,其結構為子音 + 母音 - 子音 + 母音。

(3) suku 根據音節拆解後可書寫為 suku,其結構為子音 + 母音 - 子音 + 母音。

2. 子音 + 母音 + 子音

(1) niwas 根據音節拆解後可書寫為 ni-was,其結構為子音 + 母音 - 子音 + 母音 + 子音。

(2) ruvic 根據音節拆解後可書寫為 ru-vic,其結構為子音 + 母音 - 子音 + 母音 + 子音。

(3) sinsi 根據音節拆解後可書寫為 sin-si,其結構為子音 + 母音 + 子音 - 子音 + 母音。

(4) nanta 根據音節拆解後可書寫為 nan-ta,其結構為子音 + 母音 + 子音 - 子音 + 母音。

(5) dingwa 根據音節拆解後可書寫為 ding-wa,其結構為子音 + 母 音 + 子音 - 子音 + 母音。

42

43

44

(8) 如果 ng 為最後一個符號,則直接併入前項,否則在 kivangavang 拆解時會出現va-ng 的情形,正確應為 ki-va-nga-vang。

(三) 設計自動化拆解音節功能流程圖

圖4-4 自動化拆解音節流程圖 開始

輸入族語

字串為符號

「-」開頭 離開

移除符號「-」

For I = 0 to <字串長度

第I 個字 為母音

將字串拆解 儲存在陣列

是 1

A

45

圖4-5 續自動化拆解音節流程圖 A

2 否

第I 個字為 l 且下個字是 r

第I 個字為 l 且下個字是 h

第I 個字為 n 且下個字是 g

第I 個字 為符號「'」

是 3

是 4

是 5

B

46

4-6 續自動化拆解音節流程圖

是 否 暫存在 字串Temp 中

B

第I+1 個字

為母音 是 6

I

字串Temp 第一個 字是符號「-」

刪除字串 Temp 的 第一個符號「-」

結束

47

圖4-7 續自動化拆解音節流程圖

字串Temp 加入 第I 個字 AND

第I+1 個字 並讓迴圈Break

將第I 個字 儲存在字串Temp

第 I+1 個字 為母音

字串Temp 加入 第I 個字 AND 符號「-」AND

第I+1 個字 並讓變數I+1

是 1

是 否

I 第 I+1 個字

為字串中 倒數第二個字

離開

48

49

50

51

圖4-11 續自動化拆解音節流程圖 字串Temp 加入

第I 個字 第 I 個字 為符號「'」

字串Temp 加入 符號「-」 AND 第I 個字 AND

第I+1 個字 並讓變數I+1 是

5

I

52

圖4-12 續自動化拆解音節流程圖 字串Temp 加入

第I 個字 AND 符號「-」

字串Temp 加入 第I 個字 第 I+1 個字

為母音

字串Temp 加入 符號「-」AND

第I 個字

是 6

是 否

I 第 I-1 個字

為母音

53

54

在語音錄製上,會先根據表4-4 族語符號發音表上的發音分別錄製語音,錄 製方式為一個子音配上五個母音,如圖4-13 子音 p 發音錄製圖就是先錄製 pa、

pi、pu、po、pe,並在錄製完成後裁減編輯為一個音一個檔案,如圖 4-14 族語發 音pa 裁切圖所示,檔案名稱儲存為該發音之書寫方式,如:pa.mp3、pi.mp3、

pu.mp3、po.mp3、pe.mp3。

圖4-13 子音 p 發音錄製圖

55

圖4-14 族語發音 pa 裁切圖

根據上述方式錄製完90 個族語發音後,可將聲音放置於 Audacity 內組合,

透過組合單字發音,測試聲音是否能夠正常播放,本研究使用六個族語單字進行 組合,分別是musavak、sinsi、ruma’、semuhesuh、’apuc 及 seru’,在語音組合播 放後發現下列三個問題:

1. 子音 + 母音 + 子音結構發音不正確

子音 + 母音 + 子音結構的問題,如第一個詞 musavak 在拆解完後 的音節為mu-sa-vak,但在上述 90 個族語發音中並沒有 vak 的組合,其 發音會變成mu-sa-va-k,如第二個詞 sinsi 及第四個詞 semuhesuh 也有此 情況發生,正確拆解完後應唸sin-si 及 se-mu-he-suh,但透過 90 個族語 發音僅能組合成si-n-si 及 se-mu-he-su-h。

2. 喉塞音組合不正確

56

第三個詞ruma’在拆解過後應唸 ru-ma’,但透過 90 個族語發音後僅 能組合成ru-m-’a,第六個詞 seru’在拆解後也會出現不能正確發音的問 題,但此情況在第五個詞’apuc 並未發生此問題。

3. 組合後發聲不自然

由於族語發音是由pa、pi、pu、po、pe 此種方式錄製,在錄製並裁 切後組合,其發音會非常的死板且不自然。

(二) 解決族語語音組合問題

在經由初步的族語發音錄製以及測試後發現有幾點問題,經研究後發現這幾 點問題均可以解決,下列將敘述如何解決:

1. 解決子音 + 母音 + 子音結構發音不正確之問題

在經由多個詞的拆解後,本研究發現此情況會發生於子音 + 母音+

子音相接發音時,因此本研究將會找出所有子音 + 母音 + 子音結構的 發音,並且錄製下來。

2. 解決喉塞音組合不正確之問題

本研究發現喉塞音組合有兩種,第一種是喉塞音 + 母音,

如:’a、’i、’u、’o、’e,另一種是搭配子音發聲,且組合方式為子音 + 母音 + 喉塞音,如:ma’、ru’、ve’等發音組合,因此,只要找出子音 + 母音 + 喉塞音的組合方式即可解決此問題。

3. 解決組合後發聲不自然之問題

為解決組合後發聲不自然之問題,本研究將透過不同的錄製方式進 行錄製,原本的錄製方式是由表4-4 族語符號發音表推至單字組合發音,

為改善此問題,錄製方式轉為由單字推至族語符號發音,此方法不僅能 改善發音不自然,也能同時解決前兩項之問題。其錄製方式如:錄製 kasavakan,並將 ka、sa、va、kan 四個音節裁減、儲存並紀錄下來,透過 錄製下列72 個族語單字即可組合族語千詞表中大部分的族語發音,如表 4-5 所示,且很大程度地解決發音不自然之問題。

57

表4-5

族語單字錄音表

kasavakan ngulringulr ruma’ maakan kungkuwan yawa musavak ma’inay lralrak ising cau sinsi likudan vala’ ruvic timir visvis vira’

seru’ puran ’apuc tutur tutus mukecep kinsas ngayngay vangsaran kakiyas vuyu harang dindin dingwa tuktuk sadalran impic kucu dinanuman melaw tavu’ pangasip hinoki ’uras

tarawiri cima’ kociyo walru dawum ’emapiyar sayhuwan mipela’ ’ilrayi tokiso paduk ngiyaw

su’ang dogu niwas wu kinaveras kaduwan sadeku lataw liveng tutuluwa leman temenun veneliyas mureve’ ’alrecu ’ilrus semuhesuh kemucekuc 資料來源:研究者自行整理

(三) 設計自動化合成族語語音功能

此階段錄製的語音檔皆會放置於伺服器中,在程式設計方面會先由自動化拆 解音節的功能拆解單字音節,再輸入拆解後的訊息去找尋該檔案,並且在伺服器 上直接合併生成新檔案,檔案名稱將會使用該單字命名,設計自動化合成族語語 音功能流程圖如圖4-15 及圖 4-16 所示:

58

圖4-15 自動化合成語音流程圖 開始

輸入已拆解 族語音節

將字串 用符號「-」拆解

拆解

For I = 0 to < 變數 num

變數Cat 加入 資料夾位置AND

第I 個字 AND .mp3

I

變數num 紀錄 拆解幾個音節

變數FileName 加入 第I 個字

A

59

圖4-16 續自動化合成語音流程圖 變數Cat 加入

第I 個字 AND 資料夾位置AND 變數FileName AND

.mp3 A

執行CAT 指令

結束

60

四、自動化拆解音節

本段落將分為三個部分,第一部分會說明族語教材內容的挑選以及提供的內 容範圍,第二部分以及第三部分將會設計與撰寫提供教材閱讀的功能。

(一) 選定教材內容

原住名族委員會所製作的九階教材內涵九個階段,且每個階段又分別有十 課,其課文以各族的書寫符號為編寫內容,以卑南族語為例,教材分別以南王語 別、知本語別、建和語別以及西群語別等四大語言別作為區分,因此卑南族在教 材上共有四個版本,由於本研究以建和卑南族為例,本研究之學習系統在教材提 供及呈現上僅以建和語別為主。

九階教材的內容以課名、課文、生詞以及看圖說說看三大部分組成,本研究 將取第一階至第九階的課名、課文以及生字的部分作為教材提供範圍,而教材呈 現方式以圖片為主,因此本研究將收集第一階至第九階教材之pdf 檔,將其轉為 jpg 檔,並將檔名以階-課-內容為命名規則,以第一階第一課的課名為例,檔案將 命名為1-1-1.jpg,第五階第六課的課文則命名 5-6-2.jpg,以便後續系統製作與發 展,以第一階第一課為例,將取出內容如下列圖4-17、圖 4-18、圖 4-19 所示,

九階教材的內容以課名、課文、生詞以及看圖說說看三大部分組成,本研究 將取第一階至第九階的課名、課文以及生字的部分作為教材提供範圍,而教材呈 現方式以圖片為主,因此本研究將收集第一階至第九階教材之pdf 檔,將其轉為 jpg 檔,並將檔名以階-課-內容為命名規則,以第一階第一課的課名為例,檔案將 命名為1-1-1.jpg,第五階第六課的課文則命名 5-6-2.jpg,以便後續系統製作與發 展,以第一階第一課為例,將取出內容如下列圖4-17、圖 4-18、圖 4-19 所示,

在文檔中 透過聊天機器人技術建立 (頁 47-85)

相關文件