日文語言資料

日文資料為何對 AI 特別困難

日文的七項特性會擊破以英文為先的 NLP 管線內建的假設——而針對每一項,我們也列出標註規範必須為它做出的決策。

這一頁是寫給必須訂定日文資料集規格、並試圖釐清自己將被要求決定哪些事情的人。

失效的方式是沉默,不是報錯

日文資料集很少會大聲地出錯。它們出錯的方式,是對同一個問題收錄了兩個都說得通的答案,卻當成同一個答案記錄下來。一位標註人員把株式会社放進公司名的實體範圍裡,另一位把它排除在外;一位轉寫人員寫ありがとう,另一位寫有難う;一位評測人員把それはちょっと難しいです讀成在陳述困難,另一位讀成拒絕。管線中沒有任何一環會提出異議,這些不一致就這樣直接成為模型學到的東西的一部分。

這正是為什麼日文標註工作的主軸是規格制定,而不是人力投入。底下幾乎每一項困難都沒有唯一正確的解法——它有的是一個必須被選定、寫下來,然後一模一樣地套用一萬次的解法。明確做出這些選擇的團隊,會贏過沒有這麼做的更大團隊。

以下是我們在專案開始時會逐項走過的清單,並附上每一項所迫使的決策。它刻意寫得很具體:這些就是我們實際會問您的問題。

重點速覽

文字系統
四套同時使用——漢字、平假名、片假名與拉丁字母——而且常常出現在同一個句子裡。
詞的邊界
沒有。切分由形態素分析器產生,而各家分析器彼此不一致。
禮貌程度
文法上是強制的。每一個句尾都編碼了一層社會關係。
主詞
經常被省略,靠脈絡還原,有時要回溯好幾句之前。
實務後果
多數日文資料缺陷源自「沒做的決策」,而不是標註人員的疏失。

困難所在

擊破「英文為先」假設的七項特性

每一項都是這個語言本身的性質,不是某份資料集的怪癖。您執行的任何日文專案都會遇上它們。

四套文字系統同時運作

同一個詞可以寫成漢字、平假名、片假名或拉丁字母,而且四種可以出現在同一個句子裡。卵、たまご與タマゴ是同一個詞,語感卻不同;コンピュータ與コンピューター只差一個字元,兩者都是標準寫法。

我們的處理方式 正規化慣例列出高頻詞必須採用的寫法,其餘設一條預設規則,並固定長音與全形/半形的處理方式。其他一切都從這份文件延伸而來。

詞與詞之間沒有空格

日文文本是一串不間斷的字元。詞的邊界由形態素分析器產生,而 MeCab、Sudachi 與 Juman++ 對同一個句子的切分結果並不相同——因此依某一套切分標註的範圍,可能對不上另一套。

我們的處理方式 在標註前先固定分析器與字典,範圍以字元位移儲存,讓它在更換斷詞器後仍然成立,並驗證沒有任何範圍結束於詞元內部。

強制性的禮貌表達

日文文法幾乎在每個句子都強迫做出禮貌程度的選擇。尊敬語抬高對方,謙譲語壓低己方,丁寧語則是中性的禮貌語體;選哪一種取決於關係,而不是內容。

我們的處理方式 為每個產品介面選定一種預設語體、列出例外,並在審查時把語體當成獨立的計分標準,讓內容紮實但語體失當的回應無法過關。

省略的主詞與受詞

凡是脈絡可以還原的成分,日文都會省略。孤立撰寫的回應經常掛錯指涉對象,而在多輪對話中,真正的指涉對象可能在好幾輪之前。

我們的處理方式 以整段對話為單位標註與審查,而不是逐輪處理;當指涉對象確實無法還原時,把它當成該筆項目的缺陷,而不是可以用猜的東西。

把間接表達當成拒絕的文法

拒絕常常以陳述困難或狀況的形式表達。それはちょっと難しいです是拒絕;ちょっと考えさせてください通常也是拒絕。照字面理解會使意思完全顛倒。

我們的處理方式 以實作範例定義拒絕的類別與各自的強度,並依「日文母語者是否會把它讀成拒絕」來計分——而不是看句中有沒有否定詞。

有多種有效讀法的名字

以漢字書寫的日本人名或地名,往往有好幾種可能的讀法,而正確的那一種是關於該個體的事實,不是可推導的規則。東海林可以讀作 Shoji,也可以讀作 Tokairin,兩者都是真實存在的姓氏。

我們的處理方式 把讀音當成獨立欄位記錄下來,而不是用推的;並對照來源查證,若無法查證則標記為未查證,而不是選一個最常見的讀法。

與日常日文不同的領域語體

法律、稅務、醫療與行政日文各有自己的詞彙、句構與慣用表達。日常日文再流利,也不足以判斷一則契約條款或一段稅務說明的措辭是否正確。

我們的處理方式 讓標註人員的背景與資料所使用的語體相符;當所做的判斷屬於專業判斷而非語言判斷時,就引入領域專家。

實例解析

一句話,五種意思

下面這句話再普通不過,既禮貌又極為常見。五種讀法中哪一種成立,完全由它周圍的情境決定——而這正是標註規範必須提供的資訊。

Daijōbu desu.

一句話,多種意思。

將游標移到任一語意,即可看到決定它的語境。

這與首頁使用的是同一個例子。放在這裡,是因為它最能清楚說明:日文標註真正困難的是脈絡,而不是詞彙。

規格制定

開始之前值得寫下來的決策

否則以下每一項,都會由每個經手資料的人各自隱性地、而且各不相同地決定。

  • 每個高頻詞採用哪一套文字書寫,以及清單外詞彙的預設規則。
  • 數字用阿拉伯數字還是漢字,以及量詞、日期、金額與時間的寫法。
  • 範圍邊界所依據的形態素分析器與字典。
  • 株式会社這類法人格式的前綴與後綴,放在組織實體範圍之內還是之外。
  • 複合名詞採最長範圍或最短範圍政策,以及哪些情況允許巢狀。
  • 預設的禮貌語體、它的例外,以及一則正確的拒絕該長什麼樣子。
  • 全形與半形的正規化:哪些會被轉換,哪些原樣保留。
  • 年號日期如何記錄,以及是否同時保存西元換算值。
  • 確實有歧義的項目該怎麼處理——標記、上呈,還是排除。

詞彙表

日文標註規範中會出現的術語

您在日文資料規格中會遇到的詞彙,按它們在標註工作中的實際用法定義。

敬語
日文敬語的整體系統,涵蓋尊敬、謙讓與禮貌三類形式。它的使用在文法上是強制而非可選的,因此每個句子都編碼了一種社會姿態。
尊敬語
抬高所指稱對象的敬語形式。用於談及顧客、客戶或上位者——絕不用於自己。
謙讓語(kenjougo)
相對於聽話者而壓低說話者或說話者一方的謙遜語。在日本商務溝通中,描述自己這一方的行為時是標準用法。
丁寧語
一般的禮貌語體,主要以ですます句尾標示。這是面向消費者的日文 AI 輸出通常採用的預設語體。
分寫(wakachigaki)
在詞與詞之間插入空格的書寫方式。這在日文中並非標準做法,因此切分必須由形態素分析器產生,而無法直接從文字讀出。
形態素分析器
把日文文本切分成形態素並標上詞性的工具。MeCab、Sudachi 與 Juman++ 是常見選擇,而它們的結果並不總是一致。
注音假名(furigana/ruby)
印在漢字上方或旁邊、用來標示讀音的小假名。它是讀音註記而非內容,因此在標註後的文本中需要自己的表示方式。
送假名(okurigana)
寫在漢字之後用以表示活用變化的假名。同一個詞往往允許數種寫法,這是表層變異的常見來源。
表記歧異(hyoukiyure)
正字法上的變異——同一個詞在整個語料庫中以不同文字或不同寫法出現。這是未訂規格的日文資料集中最常見的單一缺陷。
全形/半形(zenkaku/hankaku)
全形與半形的字元形式。A與 A 是看起來幾乎相同的不同字元,因此正規化必須明文規定。
量詞(josuushi)
附在數字之後的計數單位詞,會隨所數事物的種類而改變。它們的讀法不規則,這對語音資料尤其重要。
零照應(zero anaphora)
被省略、必須靠脈絡還原的主詞或受詞。在日文中無所不在,也是生成文本中指涉對象掛錯的常見原因。
舊字體(kyuujitai)
字體改革前的漢字寫法,至今仍見於較舊的文件、法律紀錄與部分人名。當它們用於辨識個人或已登記的法人時,必須原樣保留而不得正規化。
和曆(wareki)
日本的年號紀年,例如令和6年。常見於官方文件與表單,且經常與西元日期同時出現在同一頁上。

常見問題

關於日文語言資料

正在建置第一份日文資料集的團隊所提出的問題。

就提示與任務發想而言,翻譯是合理的鷹架。就回應而言則不行:翻譯而來的日文帶著英文的句構、英文的禮貌預設與英文的排版習慣,母語讀者會說用它訓練出來的模型「聽起來像翻譯」。翻譯也產生不出只存在於日文中的現象——敬語一致性、間接拒絕、文字變異——而這些恰恰是您想教會模型的行為。

凡是牽涉語體、拒絕強度或語用意義的判斷,母語者的判斷不是加分項而是必要條件。それはちょっと難しいです讀起來是不是拒絕,是關於這句話落在母語聽者耳中會產生什麼效果的事實;一位程度極高的非母語者可以正確分析它,卻仍然誤判它的強度。至於規格明確的機械性任務,高階程度往往就足夠了。

只要標籤是範圍,就很重要。不同分析器切出的邊界不同,因此依某一種切分標註的範圍,在另一種切分下可能落在詞元內部,而 BIO 標記會默默把它挪位。在標記格式之外同時保存字元位移,才能讓資料在日後更換斷詞器時不必重新標註。

以每筆計算通常是的——規格制定的工作量更大、可用的標註人力池更小,也有更多任務需要第二位母語者複審。抵銷這一點的因素是:規格訂得好的日文資料,每一筆的效益更高,因為模型學到的有很大一部分是一致的風格,而一致性靠的是規格,不是數量。

一份真實資料的樣本,包含您自己覺得雜亂的部分,再加上一段說明模型該拿它做什麼。這就足以讓我們草擬上述那些決策、標註一批小規模試辦,並讓您看到兩位講理的標註人員會在哪裡分歧——這是找出您的規格漏了什麼的最快方式。

日文語言資料

困難的是規格。就從那裡開始。

請提供一份資料樣本,以及您希望模型做到什麼。我們會回覆貴團隊的標註規範必須做出的決策,以及一個用來檢驗這些決策的試辦專案。

在您提供任何資料前先簽署保密協議。試辦範圍的界定不收費。