KNOWLEDGE - COLUMN ナレッジ - コラム

身近なAI ~検索の裏側にある技術~

メインビジュアル

関連するソリューション

AI

先端技術部
エバンジェリスト・フェロー 玉越 元啓

Cutting-Edge Technology Department / Motohiro Tamakoshi

今回のテーマは、「検索の裏側の技術」についてです。
AIの技術は、翻訳・手書き入力・音声認識・自動運転・掃除ロボットなどすでに身近なものになっています。今回は検索の裏側で使われているAI技術の紹介と、この技術を使ったシステムの展示会出展(技術協力)の案内をさせていただきます。
- 展示会のご案内
- 検索エンジンの仕組み
- tf/idfとは
- tf/idfの実装
- 検索精度を上げる工夫
- 画像検索
- 画像検索技術の応用例
- 人とAIの違い

デモ展示のご案内

今回ご紹介する文章・画像の検索技術を活用したシステムの展示を予定しています。近くなりましたらご案内させていただきます。

検索エンジンの仕組み

検索エンジンとは、www.yahoo.co.jpやwww.google.comなどのwebサイトの検索や、windows explorerのファイル検索などの、何か条件に合致した情報を探す技術をさします。ファイル検索では、ファイル名やタグや日付などの情報をもとに探すことが多いです。webサイトの検索では、情報量の増加にともない、少ない検索キーワードから適切なwebサイトや文章をみつけることは難しくなってきました。ここで、キーワードに代わり文章の特徴をあらわす方法として考案されたのが、tf-idfという指標です。

tf-idfとは

tf-idfとは、「文書に含まれる単語の重要度」をもとに文章の特徴をとらえる考え方です。ある文章において、「何回もでてくる」「レアな(=他の文章ではみられない)」単語は、その文章を特徴づける単語として重要度があがる仕組みになっています。
「tf」は「Term Frequency(単語の出現頻度)」の略で、ある単語が何回登場するかを計算する指標です。
数式
「青は藍より出でて藍より青し」という故事の漢字に着目して考えてみます。全単語は5個、「藍」という単語は、2回出現しているので、tfは2/5=0.4となります。文章が長くなっても同じ考え方で計算できます。

単語 出る
出現回数 2 2 1
tf 0.4 0.4 0.2
「idf」は「Inverse Document Frequency(逆文書頻度)」の略で、単語のレア度を表す指標です。あまり出現しない単語は高く、色々な文書に出現する単語は低い値を示すものです。
数式
幾つかの文章をもとにidfを求めてみます。

文章例


出る
写真
青は藍より出でて藍より青し 2 2 1 0
青写真を描く 1 0 0 1
瓢箪から駒が出る 0 0 1 0
買って出る 0 0 1 0
単語が出現する文書数 2 1 3 1
idf (少数第2位まで) 0.30 0.60 0.12 0.60
藍という単語は、1文書にしか登場しないため、idfが大きくなり、「出る」という単語は3文書に登場するため、idfは小さくなっていることがわかります。
このようにして求められる指標であるtfとidfを掛け合わせて求めるtf-idfという指標は、「多くの文書に出現する単語は下がり、特定の文書にしか出現しない単語はあがる」「何度も出現する単語は上がり、あまり出現しない単語は下がる」という性質をもつため、単語の文書における重要度とみなすことができます。
「青は藍より出でて藍より青し」の各単語のtf-idfを求めると、「藍」という語のtf-idfが最も高く、一般的な動詞である「出る」の値は低くなっていることがわかります。

指標 出る
tf 0.4 0.4 0.2
idf 0.3 0.6 0.12
tf-idf 0.12 0.24 0.024

tf/idfの実装

Tf-idfを実装する際には、ゼロによる除算・ゼロによる積算を考慮する必要があります。

数式

青色の+1の意味は、全ての単語が載っている辞書をつくり追加することに等しく、これにより割り算の分母がゼロになることを防げます。
赤色の+1の意味は、idfの計算結果がゼロになることを防ぐことにあります。ゼロになるケースとは、logの計算結果がゼロになる、つまり、単語Xが全ての文書に含まれるケースです。全ての文書に登場する単語とはいえ、文書のなかに登場する回数(tfとして指標値化されます)は異なるので、文書におけるその単語の重要度は異なります。こうした場合においてtf値を無視しないようにidfがゼロにならないよう考慮しています。
検索対象の文書により、片方のみ採用する場合や、どちらも採用しないこともありえます。tf-idfを計算できるツールの一つである、scikitlearnでは、上の二つとも採用されています。

検索精度を上げる工夫

「日本、アメリカ、旅行」と検索したとき、日本からアメリカに旅行に行きたいのか、アメリカから日本に旅行に行きたいのか、によって必要な情報が変わってくるはずです。tf-idfやコサイン類似度の他に、近い意味を持つ言葉の検索結果を反映させたり、単語の出現順を考慮した文書の類似度を測るなど、より調べたい結果が表示されるような技術が組み込まれています。調べたいことを上手く検索できないとき、一度、調べたい内容をそのまま文章にして検索してみてください。

画像検索

画像検索といっても、単語から画像を検索する場合と、画像をつかって検索する場合の、二つの意味がありますが、ここでは後者の画像をつかった検索について考えます。
 
参考:画像で検索できるサイトのイメージ
参考:画像で検索できるサイトのイメージ
文章の検索においては、単語の重要性をはかることで文章の特徴を捉えていました。画像においては、色を表す情報をもとに比較する方法が主流です。デジタル画像における色は、基本的に、RGB(赤、緑、青)の3色の濃さによって表現されています。この「濃さ」は数値で表現されているため、二つの画像の一部を取り出して、RGBごとの濃さを表す数値の差を計算することにより、画像の近さを計算することができます。
赤色と青色・オレンジ色を比べた場合、赤色とオレンジ色の方が似ていることを計算して求めることができます。

検索精度を上げる工夫

近年の画像検索ではディープラーニングをとりいれて、同じ特徴をもつ画像を探す・画像のカテゴリーを特定するなどの手法を採用して、画像検索の精度を上げる工夫がされています。特徴が同じ画像を探す場合は、拡大縮小や回転に強い比較ができます。画像のカテゴリーを特定する手法では、画像の主なテーマに着目して比較することで、その他の背景に左右されない比較ができます。
 
主要なテーマに着目した画像比較の例

画像検索技術の応用例

上の画像検索の技術をつかって、モザイク画像をつくってみました。モザイク画像とは、複数の写真や絵をくみあわせて別の画像を作成するものです。今回は、五輪マークを、「国旗 青 赤 黒 黄 緑」で検索してでてくる画像を使って再現してみました。

五輪マークとは青・黄色・黒・緑・赤の輪が組み合わさった下のマークです。
五輪マーク


そして、作成したモザイク画像がこちらです。
元の画像を格子状のブロックに切り分けて、切り分けたブロックごとに、似ている画像を探して当てはめていく手法で作成しました。
1、元の画像から一部を切り取ります。
 
2、切り取った画像に似た画像を探します。
3、見つかった画像で元の画像を置き換えます。
1~3を繰り返すことで、モザイク画像を作ることができます。画像の一部を拡大した様子です。様々な画像をつかっていることがわかります。
モザイク画拡大

同じ画像は極力使わないように制御したのですが、左上から右下にかけて画像の入れ替えを行ったため、白い画像が早く消費されることとなりました。結果、下に行くにしたがって白地が少なくなる傾向があります。十分大量の画像を用意する、ランダムな場所から画像の比較をする、などの工夫をすると、よりバランスのとれたモザイク画像にすることができそうです。入れ替える画像の縦横の比率を変えないように入れ替えると、拡大した時にも綺麗な画像をつくることができます。

人とAIの視覚の違い

人ならではの視覚の能力として、錯視があります。人は、周りの色の状況から色の認識をしているそうです。その結果、一部を切り取ると同じ色にもかかわらず、違う色と脳では認識しています。「錯視」とはいえ、ヒトが進化の過程で獲得した能力ですので、目でみたものを判断・活動するために必要な能力だと考えています。コンピュータでは、画像上の同じ色は同じ色として認識されているので、錯視のようなヒトがもつ一見役に立たない能力の解明が、自動運転などの画像を活用したAIのブレークスルーに繋がるのではないか、と期待しています。
 
モンドリアン錯視の例:中央の上から2番目と上から4番目のマス目の灰色は違う色に見えるが、実際は同じ色です。

当サイトの内容、テキスト、画像等の転載・転記・使用する場合は問い合わせよりご連絡下さい。

エバンジェリストによるコラムやIDグループからのお知らせなどを
メルマガでお届けしています。

メルマガ登録ボタン

玉越 元啓

株式会社インフォメーション・ディベロプメント フェロー

この執筆者の記事一覧

関連するソリューション

AI

関連するナレッジ・コラム

サイバーセキュリティと政府施策 ~サイバー警察局とサイバー特別捜査隊~

仮想世界だけではない! メタバース実現に必要な技術を紹介

インターネット利用の新しい潮流「WEB3.0」とは何か?