ベクトル検索ソフトNGTのインストール

NGTってご存知ですか?
Yahooが出している高次元ベクトルデータ検索技術のことです.
詳しくはHP(英語)紹介記事をどうぞ.

対象はUbuntu14.04です.

Cmakeのインストール

ビルドにCMake3.2以上が必要なのですが,Ubuntu14.04のデフォルトのリポジトリだとapt-getで入りません.
自分はこれに気付かず,ビルドエラーに暫く悩まされました…

リポジトリを追加してインストールします.(既に入っている場合は更新)

$ sudo apt-get install software-properties-common
$ sudo add-apt-repository ppa:george-edison55/cmake-3.x
$ sudo apt-get update
$ sudo apt-get install cmake 
or
$ sudo apt-get upgrade

NGTのインストール

ソースからインストールします.

$ wget https://github.com/yahoojapan/NGT/archive/v1.2.0.zip
(バージョンは2017年10月13日時点での最新を使用)
$ unzip v1.2.0.zip
$ cd NGT-1.2.0
$ mkdir build
$ cd build
$ cmake ..
$ make
$ sudo make install
$ sudo vim ~/.bashrc
(以下追記,NGTのサイトではlib64になっているが,libにインストールされるのでlib指定)
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib
$ source ~/.bashrc

確認

以下コマンドで確認.(ヘルプオプションとか無いので…)

$ ngt
Usage : ngt command database data
           command : create search remove append export import

使ってみた感想

使い方はまた別に記事を書こうと思っていますが,先に使ってみた感想だけ.

コマンドの選択肢が少ないのでシンプルに使いやすいです.
ngtコマンドを実行した結果(↑の確認のやつ)にも書いてある通りのコマンドだけです.
公式のサイトも割と親切なので,使い方で困ったことはないですね.
あとは,公式が言っている通り検索が早いです.びっくりするぐらい早いです.
1000次元とか2000次元なら.0X秒くらいで結果が返ってきます.
不満を言うとしたらPythonから使うのに自前で書かないといけないってことくらいですかね.
便利にするためにもっと色々と付加できそうですが,最低限のシンプルさで良いです.

doc2vecだったりの特徴ベクトルを検索するのにもってこいだと思います.
ぜひ使ってみてください~

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です