2017.04.25

【R&Dアーキテクト通信】第12回 OCR(光学文字認識)サーバー

こんにちは、R&Dの糟谷です。

Sansanの名刺の入力には様々な工程があります。例えば、外部のオペレーターさんが名刺を入力するのに、氏名をバラバラにして個人情報が漏洩しないようにしています。

 
氏名をバラバラにするためには、画像のある部分が氏名だとわからなければいけません。さらにそのためには、1枚の画像である名刺を部分、部分に切り分けておく必要があります。「切り分ける → 何の項目か判定する → 氏名などはさらに細かく切る」というような工程がありこれらは自動化されています。

 
人間はこれらの工程を頭の中で一瞬で行っているので、名刺を読むことができます。氏名だとわかっているから、「正義」と書いてあったら「まさよし」さんかな?と読むことができるわけです。しかし、氏名とわかるためには読む必要があります。「鈴木 正義」と書いてあると鈴木だから氏名だとわかるわけです。「Sansan株式会社 鈴木 正義」と書いてあったら、「Sansan株式会社」は会社名だから一つの部分、「鈴木 正義」は氏名だから別の部分とわかります。

 
このように読むという行為はあらゆる工程で発生します。Sansan株式会社のR&Dでは、文字認識を統括して行うためにOCRをサーバー上のAPIとして構築し、運用しています。OCRサーバーは色々な工程から呼ばれるため、これが止まってしまうと、自動化がすべてうまくいかなくなってしまうため責任重大です。

そこで、OCRサーバーには様々な運用上の工夫がされています。ちょっと専門的になってしまうのでそのあたりはまた今度紹介したいと思います。