「人工知能(AI)で何かやって」――そんな無茶振りをされた場合、何をどこまでやれば「人工知能で」何かやったことになるのでしょうか。前回も「人工知能って何? 」と問い掛けましたが、こうした問いに回答するのは非常に難しいです。なぜなら、どこからどこまでが人工知能なのか、明確な基準がないからです。それでもあえて答えるならば、私は「教えた以上のことができる」ことだと回答します。これはすなわち「自分で考えて判断ができる」ことだとも言えるでしょう。
では今、身近なところにはどんな人工知能があるでしょうか。文字を打つ際の予測変換機能や英語を日本語に翻訳してくれる機能、写真を撮影する際の顔認識機能、自然な言葉で機械を操作できる機能、インターネットショッピングをした際のレコメンド機能など、私たちの生活に欠かせないさまざまなものが思い浮かびます。
ただし、それらの機能も厳密には中身を見てみなければ、自分で考えて判断しているコンピュータなのかどうかはわかりません。非常に簡単なルールで実現されている可能性もあるからです。
今回はインターネットショッピングのレコメンド機能を例に、人工知能とはどういったものかについてお話ししたいと思います。
「コンピュータが判断する」ための方法
ある日、Aさんが牛乳とメロンパンを買いました。翌日、Bさんは牛乳を買いました。このとき、コンピュータがBさんにメロンパンを推薦する行為は、人工知能と呼べるでしょうか。
答えは「ノー」です。これはここで言う人工知能には当たりません。なぜなら、単に先に牛乳を買った人(Aさん)が一緒に購入した物をBさんに紹介したに過ぎないからです。では、コンピュータが自分で考えて判断するとはどういうことでしょうか。新たにCさんも入れて考えてみましょう。
Aさん、Bさん、Cさんがそれぞれ以下の品物を購入したとします。
Aさん:牛乳、メロンパン
Bさん:牛乳
Cさん:牛乳、あんパン
この時、Bさんにはメロンパンとあんパンのどちらを推薦すべきでしょうか。両方を推薦することはできないとしたら、あなたならどちらを推薦しますか?
どちらが正解という絶対的な回答はありませんが、なるべくBさんが買う確率の高いほうのパンを推薦しなければなりません。ここでコンピュータに判断させるには、さまざまな方法があります。例えば、購入履歴を見て判断する方法です。
Aさん、Bさん、Cさんのパンの購入履歴が、以下のようなものだったとします。
Aさん:焼きそばパン、ジャムパン、ソーセージパン
Bさん:チョコチップパン、シナモンロール、シナモンロール
Cさん:クリームパン、メロンパン、ジャムパン
3人の購入履歴を見て、どちらかと言えばAさんは辛党、BさんとCさんは甘党であると判断することができれば、コンピュータはBさんと味覚が似ているCさんの購入履歴を元に、Bさんにあんパンを推薦するでしょう。
それではどうすれば、BさんとCさんの味覚が近いことをコンピュータに推測させられるでしょうか。これにもさまざまな方法が考えられますが、その1つとしては、コンピュータに「甘いパン」と「甘くないパン」に関する知識をあらかじめ持たせておくことです。
甘いパン:ジャムパン、クリームパン、メロンパン、チョコチップパン、シナモンロール、あんパン
甘くないパン:焼きそばパン、ソーセージパン
このような知識を持っていれば、コンピュータは自分でBさんと味覚の近い人物がどちらなのかを判断することができます。
知らないパンが出てきたらどうするの?
ただし、このままだとあらかじめ与えられた知識にないパンが購入されたときに判断できません。では、さらに複雑なパターンを考えてみましょう。
仮に、コンピュータにシナモンロールが甘いパンかどうかの知識が与えられていなかったとします。このままではBさんは甘いパンをたくさん買ったのか、甘くないパンをたくさん買ったのかコンピュータにはわかりません。そこで、まずは「シナモンロールは甘いパンなのかどうか」を判断する必要があります。この推定方法として、例えば以下のようなやり方が考えられます。
これまでにシナモンロールを買ったことがあるSさん、Tさん、Uさんがいたとします。彼らがシナモンロール以外に買ったものは以下のとおりです。
Sさん:焼きそばパン、ジャムパン、クリームパン
Tさん:クリームパン、ソーセージパン、メロンパン、チョコチップパン
Uさん:ジャムパン、メロンパン、チョコチップパン
このとき、全体的にSさんもTさんもUさんも、甘いパンをより多く買っています。これを見て、コンピュータは「甘いパンをたくさん買った人たちが買っているから、シナモンロールも甘いパンだろう」と推定するわけです。
こうした過程を経て、コンピュータは「シナモンロールを買ったBさんは甘党であり、Cさんと味覚が近いだろうからあんパンを勧めよう」と判断することができます。このように、未知の物とよく一緒に現れる既知の物から、未知の物の性質を推測することは、人工知能の世界で頻繁に用いられる重要な手法です。今回は簡易的な推薦機能を例に挙げましたが、次回以降でお話していく自然言語処理の世界でも、この考え方はよく用いられます。
人工知能は、目的に応じてさまざまな技術で成り立っています。見た目上は、最初に説明したBさんにメロンパンを勧める行為も、次に紹介したBさんにあんパンを勧める行為も、コンピュータが商品を推薦していることには違いありません。そして確かに、人工知能に明確な定義はないのですが、人工知能と呼ぶためには、未知の物にも対応できることが必要です。今回挙げた例のなかで言えば、あらかじめ与えられた情報にはなかったシナモンロールにも対応できた、最後のパターンは人工知能と呼んでも差し支えないでしょう。
ただし、最も重要なのは、使われている技術が複雑な人工知能なのかどうかではなく、より高い精度で目的が達成できているかどうかであることは忘れてはいけません。
次回は機械学習の概念について、またパンを例に用いて説明したいと思います。
著者紹介
![]() |
国立研究開発法人 情報通信研究機構
ユニバーサルコミュニケーション研究所
データ駆動知能システム研究センター 専門研究員
大西可奈子
2012年お茶の水女子大学大学院博士後期課程修了。
博士(理学)。同年、大手通信会社に入社。2016年より現職。
一貫して自然言語処理、特に対話に関する研究開発に従事。
人工知能(主に対話技術)に関する講演や記事執筆も行う。
twitter:@WHotChocolate