일본어 데이터

일본어 데이터가 AI에 어려운 이유

영어를 전제로 만들어진 NLP 파이프라인의 가정을 무너뜨리는 일본어의 일곱 가지 성질 — 그리고 각각에 대해 어노테이션 가이드라인이 내려야 하는 결정.

이 페이지는 일본어 데이터셋의 사양을 정해야 하는 분, 그리고 앞으로 어떤 결정을 요구받게 될지 미리 가늠해 보려는 분을 위해 썼습니다.

실패는 오류가 아니라 침묵의 형태로 나타납니다

일본어 데이터셋은 요란하게 실패하는 일이 드뭅니다. 같은 질문에 대한 두 개의 타당한 답이 마치 같은 답인 것처럼 기록되면서 실패합니다. 한 어노테이터는 회사명 개체 스팬에 株式会社를 포함하고 다른 어노테이터는 뺍니다. 한 전사자는 ありがとう로 쓰고 다른 전사자는 有難う로 씁니다. 한 평가자는 それはちょっと難しいです를 어려움에 대한 진술로 읽고 다른 평가자는 거절로 읽습니다. 파이프라인의 어느 지점에서도 문제가 제기되지 않습니다. 그 비일관성은 그대로 모델이 배우는 내용의 일부가 됩니다.

그래서 일본어 어노테이션 작업은 노동보다 사양 정의가 지배합니다. 아래의 거의 모든 어려움에는 유일한 정답이 없습니다 — 선택하고, 문서로 적고, 그다음 만 번을 똑같이 적용해야 하는 답이 있을 뿐입니다. 그 선택을 명시적으로 하는 팀이, 그러지 않는 더 큰 팀을 이깁니다.

아래는 프로젝트 초기에 저희가 함께 짚어 가는 목록이며, 각 항목이 강제하는 결정을 함께 적었습니다. 의도적으로 구체적으로 썼습니다. 저희가 실제로 여쭤볼 질문들입니다.

한눈에 보기

문자 체계
네 가지가 동시에 쓰입니다 — 한자, 히라가나, 가타카나, 로마자. 한 문장 안에서도 섞입니다.
단어 경계
없습니다. 분절은 형태소 분석기가 만들어 내며, 분석기마다 결과가 다릅니다.
정중함
문법적으로 필수입니다. 모든 문장의 종결이 사회적 관계를 담습니다.
주어
일상적으로 생략되고 맥락에서 복원되며, 때로는 몇 문장 앞으로 거슬러 올라갑니다.
실무적 귀결
일본어 데이터 결함의 대부분은 어노테이터의 실수가 아니라 내려지지 않은 결정입니다.

어려움

영어 중심의 가정을 무너뜨리는 일곱 가지 성질

하나하나가 특정 데이터셋의 특이점이 아니라 언어 자체의 성질입니다. 어떤 일본어 프로젝트에서도 나타납니다.

네 가지 문자 체계가 동시에

같은 단어를 한자, 히라가나, 가타카나, 로마자로 쓸 수 있고 네 가지가 한 문장에 모두 나타날 수 있습니다. 卵, たまご, タマゴ는 같은 단어이지만 어감이 다릅니다. コンピュータ와 コンピューター는 한 글자 차이이며 둘 다 표준입니다.

대응 방식 정규화 규약이 자주 쓰이는 단어의 표기를 지정하고, 나머지에 대한 기본 규칙을 정하며, 장음과 전각 · 반각 처리를 확정합니다. 그 밖의 모든 것은 이 문서를 따릅니다.

단어 사이에 공백이 없음

일본어 텍스트는 끊기지 않은 문자열입니다. 단어 경계는 형태소 분석기가 만들어 내며, MeCab과 Sudachi, Juman++는 같은 문장을 다르게 분절합니다 — 그래서 한 분석기 기준으로 붙인 스팬이 다른 분석기에는 맞지 않을 수 있습니다.

대응 방식 어노테이션 전에 분석기와 사전을 확정하고, 토크나이저가 바뀌어도 살아남도록 스팬을 문자 오프셋으로 저장하며, 토큰 내부에서 끝나는 스팬이 없는지 검증합니다.

필수인 정중함

일본어 문법은 거의 모든 문장에서 정중함의 선택을 강제합니다. 尊敬語는 상대를 높이고, 謙譲語는 화자를 낮추며, 丁寧語는 중립적인 정중체입니다. 올바른 선택은 내용이 아니라 관계에 달려 있습니다.

대응 방식 제품 접점마다 기본 문체를 하나 정하고 예외를 목록화하며, 검수에서 문체를 별도 기준으로 채점해 내용은 충실하지만 문체가 어긋난 답변이 통과하지 못하게 합니다.

주어와 목적어의 생략

일본어는 맥락으로 복원 가능한 것은 무엇이든 생략합니다. 따로 떼어 놓고 작성한 답변은 엉뚱한 지시 대상에 걸리기 쉽고, 멀티턴 대화에서는 진짜 지시 대상이 여러 턴 앞에 있을 수 있습니다.

대응 방식 대화는 턴 단위가 아니라 전체를 하나의 단위로 어노테이션하고 검수하며, 지시 대상을 정말로 복원할 수 없는 경우는 추측할 대상이 아니라 그 항목의 결함으로 처리합니다.

거절의 문법이 된 완곡함

거절은 어려움이나 사정에 대한 진술로 표현되는 경우가 많습니다. それはちょっと難しいです는 거절이고, ちょっと考えさせてください도 대개 거절입니다. 문자 그대로 읽으면 의미가 뒤집힙니다.

대응 방식 거절 범주와 의도한 강도를 예시와 함께 정의하고, 부정 표현이 들어 있는지가 아니라 일본어 화자가 거절로 읽는지를 기준으로 채점합니다.

읽기가 여럿인 고유명사

한자로 쓴 일본 인명이나 지명은 가능한 읽기가 여러 개인 경우가 많고, 올바른 읽기는 규칙이 아니라 그 개인에 관한 사실입니다. 東海林은 Shoji일 수도 Tokairin일 수도 있으며, 둘 다 실제 성씨입니다.

대응 방식 읽기를 추론하지 않고 별도 필드로 기록하며, 출처로 검증하고, 검증할 수 없는 읽기는 가장 흔한 것을 고르는 대신 미검증으로 표시합니다.

일상 일본어와 다른 전문 영역의 문체

법률, 세무, 의료, 행정 일본어는 각자의 어휘와 문장 구조, 관용 표현을 씁니다. 계약 조항이나 세무 설명이 올바르게 쓰였는지 판단하는 데에는 유창한 일상 일본어만으로는 충분하지 않습니다.

대응 방식 데이터가 쓰인 문체에 맞는 어노테이터를 배치하고, 내려야 할 판단이 언어적 판단이 아니라 전문적 판단인 경우에는 도메인 전문가를 투입합니다.

예시로 풀어 보기

한 표현, 다섯 가지 의미

아래 표현은 평범하고 정중하며 매우 흔합니다. 다섯 가지 읽기 중 어느 것이 적용되는지는 오로지 주변 상황이 결정합니다 — 그리고 그 상황 정보야말로 어노테이션 가이드라인이 제공해야 하는 것입니다.

Daijōbu desu.

하나의 표현, 여러 개의 의미.

의미 위에 마우스를 올리면 그 의미를 결정하는 맥락이 나타납니다.

홈페이지에서 쓰인 것과 같은 예시입니다. 일본어 어노테이션의 어려운 부분이 어휘가 아니라 맥락이라는 점을 가장 명확하게 보여 주는 하나의 사례이기 때문에 여기에도 실었습니다.

사양

시작 전에 문서로 적어 둘 만한 결정들

적어 두지 않으면, 데이터를 만지는 사람마다 암묵적으로 그리고 제각각 결정하게 됩니다.

  • 자주 쓰이는 단어를 각각 어떤 표기로 쓸지, 그리고 목록에 없는 단어에 적용할 기본 규칙.
  • 숫자를 아라비아 숫자로 쓸지 한자로 쓸지, 그리고 조수사와 날짜, 금액, 시각의 표기 방식.
  • 스팬 경계의 기준이 되는 형태소 분석기와 사전.
  • 株式会社 같은 법인격 표시를 조직 스팬 안에 넣을지 밖에 둘지.
  • 복합 명사에 최대 스팬 정책을 쓸지 최소 스팬 정책을 쓸지, 그리고 중첩을 어디까지 허용할지.
  • 기본 정중함 수준과 그 예외, 그리고 올바른 거절이 어떤 모습인지.
  • 전각 · 반각 정규화 — 무엇을 변환하고 무엇을 그대로 보존할지.
  • 연호 날짜를 어떻게 기록할지, 그리고 서기 환산값을 함께 저장할지.
  • 정말로 모호한 항목을 어떻게 처리할지 — 표시할지, 상위로 올릴지, 제외할지.

용어집

일본어 어노테이션 가이드라인에 나오는 용어

일본어 데이터 사양서에서 만나게 될 어휘를, 어노테이션 실무에서 실제로 쓰이는 의미로 정의했습니다.

경어
존경 · 겸양 · 정중 표현을 아우르는 일본어 경어 체계 전반. 선택이 아니라 문법적으로 필수이므로, 모든 문장이 사회적 태도를 담게 됩니다.
존경어
언급 대상을 높이는 표현. 고객이나 거래처, 윗사람에 대해 쓰며 자기 자신에 대해서는 결코 쓰지 않습니다.
겸양어
청자에 대해 화자 또는 화자 측을 낮추는 표현. 자기 쪽의 행위를 서술할 때 일본 비즈니스 커뮤니케이션의 표준입니다.
정중어
주로 ですます 종결로 표시되는 평이한 정중체. 일본어로 소비자를 대하는 AI 출력의 통상적인 기본값입니다.
띄어쓰기
단어 사이에 공백을 넣어 쓰는 방식. 일본어에서는 표준이 아니며, 그래서 분절을 텍스트에서 읽어 낼 수 없고 형태소 분석기로 만들어 내야 합니다.
형태소 분석기
일본어 텍스트를 형태소로 분절하고 품사 태그를 붙이는 도구. MeCab, Sudachi, Juman++가 흔히 쓰이며, 결과가 항상 일치하지는 않습니다.
후리가나 · 루비
한자의 읽기를 나타내기 위해 위나 옆에 작게 적는 가나. 내용이 아니라 발음 주석이므로, 어노테이션된 텍스트에서 별도의 표현 방식이 필요합니다.
오쿠리가나
활용을 나타내기 위해 한자 뒤에 붙여 쓰는 가나. 같은 단어에 여러 표기가 허용되는 경우가 많아, 표면형 변이의 흔한 원인입니다.
표기 흔들림
표기의 변이 — 같은 단어가 코퍼스 전반에서 다른 문자나 철자로 나타나는 현상. 사양이 정해지지 않은 일본어 데이터셋에서 가장 흔한 결함입니다.
전각 · 반각
전각과 반각 문자 형태. A와 A는 거의 똑같아 보이지만 다른 문자이므로, 정규화 방침을 명시해야 합니다.
조수사
숫자에 붙는 단위 명사로, 세는 대상의 종류에 따라 달라집니다. 읽기가 불규칙해 특히 음성 데이터에서 중요합니다.
제로 대명사
맥락에서 복원해야 하는 생략된 주어나 목적어. 일본어 전반에 퍼져 있으며, 생성 텍스트에서 지시 대상이 잘못 연결되는 잦은 원인입니다.
구자체
옛 문서와 법적 기록, 일부 인명에 아직 남아 있는 개정 이전의 한자 자체. 사람이나 등기된 법인을 특정하는 경우에는 정규화하지 않고 보존해야 합니다.
일본 연호
令和6年처럼 연호를 기준으로 하는 일본식 날짜 표기. 공문서와 서식에 흔하며, 같은 지면에 서기 날짜와 나란히 나타나는 경우가 많습니다.

FAQ

일본어 데이터에 대하여

첫 일본어 데이터셋을 만드는 팀에게서 받는 질문들.

프롬프트와 과제 아이디어 수준에서는 번역이 합리적인 발판입니다. 답변에 대해서는 그렇지 않습니다. 번역된 일본어는 영어의 문장 구조와 영어식 정중함의 전제, 영어식 서식 습관을 그대로 옮겨 오고, 그것으로 학습한 모델을 원어민 독자는 번역투라고 표현합니다. 또한 번역은 경어의 일관성, 완곡한 거절, 표기 변이처럼 일본어에만 존재하는 현상을 만들어 내지 못하는데, 바로 그것이 가르치려는 행동입니다.

문체나 거절의 강도, 화용적 의미가 걸린 작업에서 원어민의 판단은 있으면 좋은 수준이 아닙니다. それはちょっと難しいです가 거절로 읽히는지는 그 문장이 원어민 청자에게 어떻게 닿는지에 관한 사실이며, 아주 능숙한 비원어민도 분석은 정확히 하면서 강도는 잘못 판단할 수 있습니다. 가이드라인이 촘촘한 기계적인 작업이라면 고급 숙련도로 충분한 경우가 많습니다.

라벨이 스팬인 경우에는 언제나 중요합니다. 분석기마다 경계를 다르게 잡으므로, 한 분절 기준으로 붙인 스팬이 다른 분절에서는 토큰 내부에 걸릴 수 있고 BIO 태깅은 그것을 조용히 옮겨 버립니다. 태그 형식과 함께 문자 오프셋을 저장해 두는 것이, 나중에 토크나이저를 바꿔도 재어노테이션 없이 데이터를 살리는 방법입니다.

건당으로 보면 대체로 그렇습니다 — 사양 정의 작업이 더 크고, 어노테이터 풀이 더 작으며, 두 번째 원어민의 검수가 필요한 작업이 더 많습니다. 이를 상쇄하는 요인은, 잘 정의된 일본어 데이터가 건당 더 멀리 간다는 점입니다. 모델이 배우는 것의 상당 부분이 일관된 문체이고, 일관성은 물량이 아니라 사양으로 달성되기 때문입니다.

지저분하다고 여기시는 부분까지 포함한 실제 데이터 샘플과, 모델이 그것으로 무엇을 해야 하는지에 대한 설명입니다. 그것만 있으면 위에 적은 결정 사항의 초안을 만들고 소규모 파일럿을 어노테이션해서, 합리적인 두 어노테이터의 판단이 갈리는 지점을 보여 드릴 수 있습니다 — 사양에서 무엇이 빠졌는지 알아내는 가장 빠른 방법입니다.

일본어 데이터

어려운 것은 사양입니다. 거기서 시작하세요.

데이터 샘플과 모델이 무엇을 하기를 원하시는지 보내 주세요. 가이드라인이 내려야 할 결정들과, 그것을 검증하는 파일럿을 정리해 회신드립니다.

데이터를 공유하시기 전에 NDA를 체결합니다. 파일럿 범위 산정은 무료입니다.