![]() |
|
|||||
![]() |
前回は人工知能(AI)の歴史と近年の成果についてお伝えしました。 今回は、人工知能についてもう少し掘り下げた内容をお伝えしようと思います。
人工知能には多くの種類があります。 Microsoft社が提供する人工知能サービス[1]の分類がその種類を上手く表しているため、表1で紹介します。
| 対話型 | 自然言語処理、推論・探索 |
|---|---|
| 予測型 | 機械学習 |
| 認知型 | ディープラーニング |
対話型は会話やパズルゲームなど入力パターンが多数あり、入力パターンに応じて適切な回答を出力するものです。 例えば、自然言語処理という技術で人間の質問を理解して、適切な回答を出力するために推論やデータベース探索を行います。
予測型は過去のデータを元に今後どうなるかを予測します。 機械学習で、数ヶ月間の交通量をコンピュータに学習させて、明日の交通量を予測することが一例として挙げられます。
認知型は音や物の特徴を自動で抽出して学習することで、入力されたものが何なのかを認識します。 今話題のディープラーニングの登場により、認識率は実用的なレベルに引き上げられました。
このような人工知能を利用することで様々なことが自動化できます。
身近なものとして、迷惑メールのフィルタリング機能が挙げられます。 迷惑メールの単語や内容は似たようなものであるため、その傾向をつかむことができれば、コンピュータは人間のように自動で迷惑メールと判断できます。
ここで注目すべき点は傾向をつかむ作業です。 例えば、「お母さん急にお金が必要になりました!至急親友の口座に500万円振り込んでください!」というメールを受信しました。 人間が見たら「親友の口座に500万円振り込んでください!」という文章から怪しいメールだと判断できます。
では、どのようにすればコンピュータに怪しいメールだと自動で判断させることができるでしょう?
迷惑メールのフィルタリング開発者が「親友の口座に500万円振り込んでください!」という文章がある場合は迷惑メールと判断するようにプログラミングするのでしょうか?
この場合、「親友の口座に5万円振り込んでください!」(500万から5万に変更)や「親友の口座に500万円振り込んで!」(”ください”を削除)と微妙に数値やニュアンスが異なる文章には対応できません。確かに、これらを1つ1つプログラミングすることで迷惑メールの自動振り分けは可能ですが、何億、何百億、何千億と天文学的なパターンをプログラミングする必要があります。
そこで、人工知能の出番です!
対話型の自然言語処理によって、これまでに得られた迷惑メールの内容を抽象化して解釈します。 具体的には、初めに文章を名詞、形容詞、副詞、動詞や助動詞などに細かく分割して、品詞の繋がりや辞書から内容を解釈します。これが傾向をつかむ作業となります。
そして、受信したメールに対しても同様に内容の抽象化と解釈を行い、過去の傾向を参考に、受信したメールが迷惑メールに似ているかを自動で判断します。
業務メールが迷惑メールと判断されてしまった経験をしたことがある方もいるのではないでしょうか?これは文章や添付画像などの何かしらが迷惑メールに類似していたためです。
[1] Microsoft Azure,https://azure.microsoft.com/ja-jp/services/cognitive-services/
[2] NVIDIA,https://developer.nvidia.com/digits(英語)
[3] NVIDIA GitHub,https://github.com/NVIDIA/DIGITS/blob/master/docs/GettingStarted.md(英語)
[4] NVIDIA GitHub,https://github.com/NVIDIA/DIGITS/tree/master/examples/object-detection(英語)
[5] Max Planck Research Group for Autonomous Vision,http://yann.lecun.com/exdb/mnist(英語)
[6] THE MNIST DATABASE of handwritten digits,http://www.cvlibs.net/datasets/kitti(英語)

