Sansan Tech Blog

Sansanのものづくりを支えるメンバーの技術やデザイン、プロダクトマネジメントの情報を発信

遂に念願の「異体字入力」を開始しました

DSOC Data Management Group*1 の三原です。
2020年2月4日、多くのご要望をいただき個人的にも念願であった、Sansanサービスにおける「氏名の異体字入力」がついにリリースされたため、ご紹介させていただきます。

Sansanではこれまで、スキャンされた名刺の氏名に異体字*2が含まれていた場合、該当する文字は「●」と表示される仕様となっていました。たとえば、はしごだかを含んだ「髙橋たろう」という氏名であれば「●橋たろう」となります。それが今回のリリースにより氏名がそのまま「髙橋たろう」と表示できるようになりました。
以下で詳しく説明していきます。

異体字対応の背景

前述したとおり、これまでは氏名の異体字に該当する文字は「●」で表示するというサービス仕様になっていました。

f:id:juri20m:20200114181527p:plain
土に口のいわゆるこの つちよし は「●田」に置き換えていたわけです。

「●」と表示する仕様だと、ユーザーがメール配信や名刺検索などを行う際に利便性が落ちる為、定期的に改善の要望が上がっており、これまでも何度も対応しようとしてきました。
しかし、様々なシステムに関わる改善となるため、かなり影響範囲が大きく、なかなか手が付けられずにいました。(ほんとにごめんなさい。)

「異体字を表示できないのなら常用漢字に置き換えて欲しい」という声を頂いたこともあり、それなら影響も大きくないのですぐに対応できる...と飛びつきそうになったこともあったのですが、「御礼状などをお送りする際に本来と異なる漢字の宛名では失礼にあたる。それであれば●のままにして、手動で修正できる方が良い」というご意見を頂き、何とか踏み止まったこともあります。
あの時、「常用漢字に置き換える」という対応をしていたら、恐らく異体字入力への対応は先延ばしになった可能性が高かったと思います。(ご意見に感謝!)


異体字対応のゴール

今回の我らのゴールは 入力出来ない文字をゼロにすることです。
記載してある文字をそのまま入力する。という、言葉にするとシンプルな話なのですが、漢字は世界に 85,000文字存在すると言われており、入力出来ない文字をゼロにすることは簡単ではありません。
Sansan はデータ化の精度 99.9% を強みとしているサービスであるため、ただ「やってみます!」と挑戦するのではなく、精度を担保できる仕組みを考える必要がありました。

異体字に関わる3つの分類

異体字に向き合う中で、異体字に見えてもそうではない文字があることが分かりました。それぞれについて紹介します。

・ザ異体字

「高」→「髙」や「吉」→「𠮷」など、一般的に異体字と呼ばれる文字です。
今回はここにあたる文字を正しくとデータ化しようという企画です。

・Glyph違い文字

文字コードは同じだけれども、フォントの種類やデザインによって、異なる漢字に見える文字が存在します。
ここではその文字を Glyph違い文字 と呼びます。

f:id:juri20m:20200114181407p:plain
例えばこの文字、一点しんにょうで一見異体字かな? と思う文字なのですが、実は [HGPゴシックM] や [HG正楷書体] などの一部のフォントでは「辻」ではなく、一点しんにょうの文字(上記画像)として表示されます。

・異体字っぽいけど異体字ではない文字

「冉」や「𣷓」など、一見「再」や「和」など形が似ており、異体字なのかな?と勘違いし易い文字も存在します。ただ、実態としてはそれぞれ関連のない通常変換も出来る文字です。

精度・スピードをバランスした入力を実現する

異体字対応に欠かせないのが、オペレーターによる入力です。異体字対応を開始するには、まずオペレーターが正しく異体字を入力できるよう教育する必要がありました。
しかし、全ての異体字を正しく記憶し入力していくのは現実味がなく、かと言って手書きパッドなどのツールを利用して入力していくには時間・コストが掛かりすぎます。
そして「Glyph違い文字」も厄介で、オペレーターは「記載通り正しく入力しなきゃ!」と入力出来ない文字を永遠に探すことになります。名刺に記載されている文字が異体字なのか、それともデザインが違うだけで同じ文字なのか、入力中瞬時に判断してもらう必要がありました。
しかし、オペレーターの習熟度によって入力にムラが出るとデータ化がスケールしていきません。誰でも簡単、かつ高精度に入力できる仕組みを模索していきました。

結果、今回のリリースでは、人名に利用される漢字・異体字を収集しマスタとなる漢字の対応表を作成して、入力時にそのマスタデータを利用できる仕組みとしました。
かなりシンプルな仕様ですが、一文字一文字漢字を確認し、マスタとなるデータを構築するという泥臭い作業のたまものです。特に 「Glyph違い文字」に関しては情報が少なく一つ一つ名刺データを確認してマスタに落とし込み、異体字と区別できる仕様にする必要がありました。
「ザ異体字」「Glyph違い文字」「異体字っぽいけど異体字ではない文字」それぞれを、地道に収集・確認し、DSOC 独自の漢字マスタを完成させました。そしてようやく、入力中瞬時にオペレーターがその文字が何であるかを判断でき、正しく入力できる現在の機能が出来上がりました。
ユーザーの方たちに、使いやすくなったと思っていただければ幸いです。

最後に

Data Management Group の立場から紹介させて頂きましたが、DSOCの開発サイドも今回のリリースについて各所へ連携・調整を行ってくれ、本当に色んな人の力があってこの機能が実現しました。やっぱり世界を変えていく*3のは地道な一歩一歩だと実感しています。この異体字入力も確実にユーザーの体験を変えるものであり、DSOC がまた一つデータの分野で進化できた出来事です。

DSOC では色々なプロジェクトが動いておりこれもその中の一つなのですが、サービスを通してビジネスをより良い形に変えられる、この環境が私は楽しくて仕方ありません。



buildersbox.corp-sansan.com
buildersbox.corp-sansan.com

*1:Data Management Group は、DSOCで唯一フロント職のメンバーで構成されているグループです。

*2:異体字については様々な見解があり、明確に定義づけはされていません。ですが、ここでは「同じ意味・発音であり、対となる常用漢字が存在する文字」と定義したいと思います。そして異体字の中には、旧字・略字・俗字 が存在するとされていますが、それをひっくるめてここでは 異体字 と呼びます。

*3:https://jp.corp-sansan.com/company/

© Sansan, Inc.