ニュース

ヤフー、ビッグデータ分析の高速化を実現する高次元データ検索技術「NGT」をOSSとして公開

 ヤフー株式会社は24日、ビッグデータ分析領域の技術として、高次元データの高速検索技術「NGT(Neighborhood Graph and Tree for Indexing)」を開発し、オープンソースソフトウェア(以下、OSS)として公開した。また、同技術に関係する特許の実施権を無償で提供する。

 NGTは、テキストや画像、商品、ユーザーデータなど、複数の特徴を持つデータ(高次元データ)を、大量のデータベースの中から、高速に検索・特定できる技術。AIやIoTの台頭により、さらに巨大化するビッグデータの分析の高速化を実現する。

 言語データにおいては、検索精度(適合率)90%として、200万件の言語データを対象に検索を行った場合、既存の類似技術の中で最も高速な技術「SASH」の検索時間が、およそ2.4ミリ秒かかるのに対して、NGTは最速でおよそ0.6ミリ秒と、約4.0倍の高速性を実現。既存の類似技術の中でも主流の技術「FLANN」と比べた場合には、約12.3倍(およそ7.4ミリ秒)も高速だった。

 また、画像特徴データにおいても、検索精度(適合率)90%として、1000万件の画像特徴データを対象に検索を行った場合、既存の類似技術の中で最も高速な技術「直積量子化手法(PQ : Product Quantization)」の検索時間が、およそ7.9ミリ秒かかるのに対して、NGTは最速でおよそ1.4ミリ秒と、約5.6倍の高速性を実現。同じく、既存の類似技術の中でも主流の技術であるFLANNとの比較では、約13.5倍(およそ18.9ミリ秒)も高速だった。

既存の類似技術との比較グラフ(1千万件の画像特徴データを対象に検索を行った場合)

 技術は、商用不可の研究用途に限定した形で、2015年9月から「Yahoo! JAPAN研究所」サイト上で公開していたが、さらに多くのデータサイエンティストと技術を発展させていくため、特許実施権を無償提供の上、OSSとして「GitHub」上での公開を開始した。

 ヤフーでは、高次元データの高速検索が可能になることの応用例として、テキストや画像、商品、ユーザーデータなどの高次元データにおいて、近似したデータのマッチングの高速化を通じて、AI技術のさらなる精度向上に貢献することを挙げている。Yahoo! JAPANにおいては、まだ実用化にはいたっていないが、機械学習やディープラーニングを活用している、スマートフォン用のYahoo! JAPANアプリのニュースなどコンテンツのパーソナライズ配信や、運用型ディスプレイ広告(Yahoo!ディスプレイアドネットワーク)における広告配信のさらなる精度向上への応用が考えられるとしている。

 2つ目の応用例としては、多くの項目があり、フォーマットも入力方法もバラバラな大量のデータを高速に照合することを通じて、データの名寄せなど、企業内にたまっているが活用しきれないビッグデータを、活用しやすい形に置き換えるといった、AI活用に求められる質の高いビッグデータ生成に貢献することを挙げている。

 また、NGTを活用したスマートフォンアプリとして、スマートフォンのカメラを任意の商品に向けてかざすだけで、「Yahoo!ショッピング」内のさまざまなストアで取り扱われている複数の商品ページの中から、最安値で扱うストアの商品ページを特定できる「サイヤスカメラ」(iOSアプリのみ)を開発。11月18日から「Yahoo!ラボ」のスマートフォンアプリとして実験的に公開している。

 ヤフーでは、提供する多数のサービスから発生する「マルチビッグデータ」を保持するだけでなく、その利活用のために「技術で世界TOP10」を掲げ、データサイエンス領域における研究開発を推進していると説明。研究開発では、大学や研究機関との共同研究や、OSSコミュニティへの貢献強化など「オープン」なコラボレーションを推進しており、今回のOSS公開もその流れをふまえた、さらなる先端研究の発展のために行う取り組みのひとつだとして、公開後もOSSコミュニティのコミッターとして、コミュニティ活性化に向けてノウハウの提供などを行う予定としている。