日语数据
为什么日语数据对 AI 特别难
日语的七项特性,会打破以英语为先的 NLP 流水线中内建的种种假设——并且针对每一项,说明标注规范必须就它做出什么决定。
这一页是写给那个必须去定义一份日语数据集、正在琢磨自己会被要求拍板哪些事情的人的。
它的失效方式是沉默,而不是报错
日语数据集很少会大张旗鼓地失败。它们的失败方式是:对同一个问题记录了两个都站得住脚的答案,却被当成同一个答案。一位标注员把 株式会社 算进公司名的实体区间,另一位没算;一位转写员写 ありがとう,另一位写 有難う;一位评测员把 それはちょっと難しいです 读成在陈述难度,另一位读成拒绝。流水线里没有任何环节会提出异议。这份不一致,就这样成了模型学到的东西的一部分。
这正是日语标注工作以“定义规格”而非“投入人力”为主的原因。下面几乎每一项难点都没有唯一正解——它有的是一个必须被选定、写下来,然后原样执行一万次的解法。把这些选择做显性化的团队,会胜过一个不这样做的更大团队。
以下就是我们在项目开始时逐条过一遍的清单,以及每一条所迫使的决定。它刻意写得很具体:这些就是我们真的会问您的问题。
要点速览
- 书写系统
- 四套同时使用——汉字、平假名、片假名与罗马字——而且常常出现在同一个句子里。
- 词边界
- 没有。切分由形态素分析器产生,而各家分析器彼此并不一致。
- 礼貌程度
- 语法上是强制的。每一个句尾都编码着一层社会关系。
- 主语
- 通常被省略,要从上下文还原,有时线索在好几句之前。
- 现实后果
- 日语数据的缺陷大多是没做的决定,而不是标注员的失误。
难点
打破“英语为先”假设的七项特性
每一项都是这门语言的属性,而不是某个数据集的怪癖。您做的任何日语项目都会碰上它们。
四套书写系统同时使用
漢字・ひらがな・カタカナ・ローマ字同一个词可以写成汉字、平假名、片假名或罗马字,而且四种可以出现在同一个句子里。卵、たまご 与 タマゴ 是同一个词,语感却不同;コンピュータ 与 コンピューター 只差一个字符,两种都是规范写法。
我们的处理方式 一份规范化约定列出高频词必须采用的写法,为其余情况设定默认规则,并定死长音以及全角、半角的处理方式。其他一切都继承自这份文档。
词与词之间没有空格
分かち書きがない日语文本是一串不间断的字符。词边界由形态素分析器产生,而 MeCab、Sudachi 与 Juman++ 对同一个句子的切分方式各不相同——所以依据其中一种标注出的区间,未必能对齐到另一种。
我们的处理方式 在标注前先定死分析器与词典,把区间存成字符偏移量,使其在更换分词器后依然成立,并校验没有任何区间结束于词元内部。
强制性的礼貌表达
敬語日语语法几乎在每一个句子里都强迫你做出礼貌程度的选择。尊敬語 抬高对方,謙譲語 压低说话人,丁寧語 是中性的礼貌语体;选哪一种取决于双方关系,而不是内容。
我们的处理方式 为每一个产品界面选定一种默认语体,列出例外情况,并在复核中把语体作为一项独立指标打分,这样一个内容扎实但语体失当的回答就无法蒙混过关。
主语与宾语的省略
主語省略・ゼロ代名詞凡是语境能还原的成分,日语都会省略。孤立撰写的回答经常挂到错误的指代对象上,而在多轮对话中,真正的指代对象可能在好几轮之前。
我们的处理方式 把对话作为整体来标注与复核,而不是逐轮处理;对确实无法还原的指代对象,视为该条目本身的缺陷,而不是一个可以靠猜的东西。
把间接表达当作拒绝的语法
断りの婉曲表現拒绝常常被表述成关于难度或处境的陈述。それはちょっと難しいです 是拒绝;ちょっと考えさせてください 多半也是拒绝。按字面理解会把意思弄反。
我们的处理方式 用实例定义拒答类别及其预期强度,并按“日语母语者读来是否是拒绝”来给拒答打分——而不是看它里面有没有否定词。
有多种有效读法的名字
固有名詞の読み用汉字书写的日本人名或地名,往往有好几种可能的读法,而正确的那一种是关于这个人的事实,不是一条规则。東海林 可能读 Shoji,也可能读 Tokairin;两个都是真实存在的姓氏。
我们的处理方式 把读音作为独立字段采集下来,而不是靠推断;对照信源核实;无法核实的读音标记为未核实,而不是选一个最常见的填上。
与日常日语不同的专业语体
専門用語・文体法律、税务、医疗与行政日语有自己的一套词汇、句式与惯用表达。日常日语说得流利,并不足以判断一条合同条款或一段税务说明的措辞是否正确。
我们的处理方式 让标注员与数据所使用的语体相匹配;当所要做的判断属于专业判断而非语言判断时,引入领域专家。
一个实例
一句话,五种含义
下面这句话平常、礼貌,而且极其常见。五种解读中哪一种成立,完全由它周围的情境决定——而这恰恰是标注规范必须提供的信息。
大丈夫です。
Daijōbu desu.
一句话,多重含义。
把光标悬停在某个含义上,即可看到决定它的语境。
这与首页用的是同一个例子。放在这里,是因为它最清楚地说明了:日语标注真正难的是语境,而不是词汇。
规格定义
开工前值得写下来的决定
如果不写下来,下面每一条都会被每个接触数据的人各自默默地、以不同方式决定掉。
- 每个高频词用哪种文字书写,以及清单之外的词按什么默认规则处理。
- 数字用阿拉伯数字还是汉字数字,以及量词、日期、金额与时间怎么写。
- 区间边界所依据的形态素分析器与词典。
- 像 株式会社 这样的法人形式前后缀,算在组织实体区间之内还是之外。
- 复合名词采用最大区间还是最小区间策略,以及哪些情况允许嵌套。
- 默认的礼貌语体、它的例外情况,以及一个正确的拒答应该是什么样子。
- 全角与半角的规范化:哪些被转换,哪些原样保留。
- 和历日期如何记录,以及是否同时存一份公历转换值。
- 确实存在歧义的条目该怎么办——标记、上报,还是排除。
术语表
日语标注规范中会出现的术语
您在日语数据规格中会遇到的词汇,按它们在标注工作中实际使用的含义给出定义。
- 敬语(Keigo) 敬語
- 日语敬语的整体系统,涵盖尊敬、谦让与礼貌三类形式。它的使用在语法上是强制的,而非可选,因此每个句子都编码着一种社会姿态。
- 尊敬语(Sonkeigo) 尊敬語
- 抬高所提及对象的敬语形式。用于谈及顾客、客户或上级——绝不用于自己。
- 谦让语(Kenjougo) 謙譲語
- 相对于听话人,压低说话人或说话人一方的谦逊表达。在日语商务沟通中描述己方行为时是标准用法。
- 礼貌语(Teineigo) 丁寧語
- 朴素的礼貌语体,主要以 ですます 句尾为标志。面向消费者的日语 AI 输出通常以此为默认。
- 分写(Wakachigaki) 分かち書き
- 在词与词之间插入空格的写法。这在日语中并非常规,所以切分必须由形态素分析器产生,而不能直接从文本上读出来。
- 形态素分析器 形態素解析器
- 把日语文本切分成形态素并标注词性的工具。MeCab、Sudachi 与 Juman++ 是常见选择,而它们并不总是一致。
- 振假名 / 注音(Furigana / Ruby) ふりがな・ルビ
- 印在汉字上方或旁边、用来标示读音的小号假名。它是读音注释而非内容,所以在标注文本中需要有自己的表示方式。
- 送假名(Okurigana) 送り仮名
- 写在汉字之后、用于表示词形变化的假名。同一个词往往允许多种写法,这是表层变体的常见来源。
- 表记不一(Hyoukiyure) 表記ゆれ
- 正字法上的变体——同一个词在整个语料中以不同文字或不同拼写出现。这是没有明确规格的日语数据集中最常见的缺陷。
- 全角 / 半角(Zenkaku / Hankaku) 全角・半角
- 全宽与半宽的字符形式。A 与 A 是看上去几乎相同的两个不同字符,所以规范化必须被明确写出来。
- 量词(Josuushi) 助数詞
- 附在数字后面的计数词,会随所计事物的类型而变化。它们的读法不规则,这一点对语音数据尤为要紧。
- 零代词 ゼロ代名詞
- 被省略、必须从上下文还原的主语或宾语。它在日语中无处不在,也是生成文本中指代挂错对象的常见原因。
- 旧字体(Kyuujitai) 旧字体
- 文字改革之前的汉字字形,至今仍见于较早的文档、法律记录与部分人名。当它用于标识某个人或某个登记主体时,必须原样保留而不能规范化。
- 和历(Wareki) 和暦
- 日本的年号纪年,例如 令和6年。常见于公文与表单,而且经常与公历日期出现在同一页上。
常见问题
关于日语数据
来自正在构建第一份日语数据集的团队的问题。
就提示词与任务构思而言,翻译是个合理的脚手架。就回答而言则不行:翻译出来的日语带着英语的句子结构、英语的礼貌预设与英语的排版习惯,用它训练出的模型,母语读者会说听起来像翻译。翻译也造不出那些只存在于日语中的现象——敬语一致性、间接拒绝、书写变体——而这些恰恰是您想教会模型的行为。
凡是涉及语体、拒绝强度或语用含义的,母语判断都不是锦上添花。それはちょっと難しいです 读来是不是一次回绝,是关于这句话落在母语听者耳中会产生什么效果的事实;一位水平极高的非母语者可能分析得完全正确,却依然会误判它的强度。至于规格写得很清楚的机械性任务,高级水平往往就够了。
只要标签是区间,它就重要。不同分析器切出的边界位置不同,所以依据一种切分标注的区间,在另一种切分下可能落在词元内部,而 BIO 标注会悄悄把它挪动。在标签格式之外一并存储字符偏移量,才能让数据在日后更换分词器时无需重新标注。
按条算,通常是的——规格定义的工作量更大,可用的标注员池子更小,需要第二位母语者复核的任务也更多。抵消这一点的是:规格定义得好的日语数据,每一条能走得更远,因为模型学到的很大一部分是一种一致的风格,而一致性靠的是规格,而不是数量。
一份您真实数据的样本,包括您自己觉得脏乱的那部分,再加上一段说明:您希望模型拿它做什么。这就足以让我们起草上面列出的那些决定、标注一小批试点数据,并让您看到两位讲道理的标注员会在哪里出现分歧——这是找出您的规格还缺什么最快的办法。