人工知能はどうやって文字を認識している?
まず、人工知能はどうやって文字を認識しているのでしょうか。コンピューターはモニター上に文字を表示することができるので、「書けるなら読めるだろう」と思いたくなりますが、実際にはコンピューターの中では文字を数値に変換し、数値に合わせた「点の集合」に変え、モニタ上に光の情報として表現しているだけです。
原理的にはマスを黒く塗って絵を作る「ピクロス」と同じで、コンピューターが「A」を「A」、もしくは「あ」は「あ」であると認識して表示しているわけではありません。この時点での文字は、コンピューターにとっては黒点の集まりに過ぎません。
また、ここでいう「文字認識」はいわゆる「光学文字認識」(OCR:Optical Character Recognition)のことです。紙や印刷物に書かれた文字をスキャンしてテキスト化する技術といえばピンと来るのではないでしょうか。
私たち人間が紙などに書かれた情報を理解できるのは、紙に反射した光の情報を見て「文字」「背景」「インクの染み」を認識しているわけで、実質的には光の情報です。それゆえに、光学文字認識が手書き文字を含めさまざまな文字認識技術の基礎になっています。
この光学文字認識では、文字の持つ「直線」「曲線」「交点」などの特徴を数学的な比率で表して理想的な文字と比較したり、ディープラーニングを応用したり、さまざまな形で捉えていきます。
簡単そうに聞こえますが、同じ文字であっても「インクの色」「紙の色」「電灯の色」で受け取る光が違います。光から得られる情報というのは0と1で扱えるデジタルデータではありません。それぞれにわずかな違いの存在するアナログデータなのです。
顔認証システムなどが明かりによって顔が認識できたりできなかったりするのはその典型です。さらにそれが、手書き文字ともなる厄介です。「文字の形」「文字の角度」はもちろんのこと、「インクの染み」「書き間違い」のほか、筆記体や行書体で見られる「線のつながり」が当たり前のように発生するため、簡単には行きません。
【次ページ】人工知能が文字の特徴を見つける方法