株式会社スマレジの開発部でスマレジのサーバサイドを作っています

チケットの見える化にチャレンジしてみる(準備編の参考文献)

こんばんは!株式会社スマレジ 、開発部のmasaです。

今回は、BM25の説明をしようかと思っていたのですが、前にも紹介したクラメソさんの記事をほぼ丸コピになってしまう内容だったので、理論編はなしで実装だけ紹介しようかと思います。クラメソさんのナイスな記事は↓を参照ください。

dev.classmethod.jp

参考文献

理論編の代わりに、というわけではないですが、シリーズが長くなってきたので、このシリーズに関連するmasaが使ってきた参考文献を紹介します。

情報検索のアルゴリズム

ここで紹介している内容は実装で必要な部分にフォーカスしていますが、tf-idfやBM25以外にも文書情報の類似性を評価する手法は、情報検索の分野には存在します。

そういった、情報検索については下記の本が網羅的に記載されていて、おすすめです。

www.kyoritsu-pub.co.jp

非常にボリュームが多いのですが、数学モデルとその説明が丁寧なので、ネットの説明だけでピンとこないときは、こちらを見るのがおすすめです。

グラフライブラリ(JS)

今、準備編では文書そのものの評価をしていますが、実際は出たスコアを見える化する作業があります。

今回はWebアプリとして作成する予定なので、JSのライブラリで見える化をします。

このブログで扱うのは、D3.jsです。

d3js.org

Data Driven DocumentのイニシャルをとってD3.jsと呼ぶのですが、これはmasaが学生の頃からある息の長いライブラリです。 データ可視化用ライブラリのイメージが強いですが、実際はjQueryと同じく、セレクタによるDOM操作も可能かつ、jQueryと異なり、SVGも操作できる汎用ライブラリだったりします。

こちらは公式のドキュメントが結構丁寧なので、参考書を見る必要はあまりないかなとも思うのですが、 D3.jsを用いてデータマイニングをするための入門書がありますので、紹介します。

D3.jsの使い方だけではなく、データを可視化するまでのプロセスについても事例ベースで説明があるので、これからデータ可視化を扱うプログラミングをやろうという方にはとっつきやすくていいかなと思います。 ただ、この本少し古いため、Alt JSとしてCoffee Scriptを採用しています。今はTypeScriptもありますから、ご自身の環境に合わせて取捨選択してもらえればと思います。