hubotから利用するスクリプトを書きました。knjcode/hubot-word-vector-scriptWord2VecとはWord2Vecというのは予め構築したモデル内で各単語を多次元のベクトルとして定義し、単語同士のベクトルの近似度や単語間のベクトルの近似度を求める手法です。詳細はgoogleの公式サイト等を御覧ください。いう表現は、NintendoにおけるSONYのPlayStationに相当するものを表現します。Wii、ゲームボーイアドバンス、ニンテンドーDS、...と、かなり妥当な出力を返します。(とはいえ単語によってはおかしな場合もありますが)word-vector-web-apiとは名前のとおりWord2VecをWebAPIとして利用可能にするものです。特徴として、日本語Wikipediaのデータを元にした構築済みモデルが付属しており、このモデルをもとにWord2Vecを試せます。Dockerのコンテナとして利用できるように設計されており、dockerと1.5GByte程度のメモリがあれば手軽に利用できます。Word2Vecの日本語モデルを構築する際には、mecab等で分かち書き処理をしたデータを利用するため、分かち書きの精度がモデルの精度に影響するようです。使うことで、普通のmecabとipadicを利用するよりも精度のよいモデルとなっているようです。mecab-ipadic-NEologdについても、overlastさんが開発公開されており、便利に使わせて頂いています。hubotから利用するword-vector-web-apiを使って構築したWebAPIのURLを仲間内に共有して、Slack上で遊んでいたんですが、そもそも、hubotのコマンドとして利用できれば便利かと思い実装したのが、以下のスクリプトです。word-vector-web-apiのURLを環境変数に設定することでhubotからWord2Vecを利用できるようになります。knjcode/hubot-word-vector-scriptスクリプトの導入は、以下のとおりです。ラッパーになっており、distanceとanalogyコマンドを利用できます。(0.6766645312309265)(参考)hubotもコンテナで起動してコンテナ同士をリンクするword-vector-web-apiはdockerコンテナとして起動します。同一ホストでhubotも起動するのであれば、hubotもコンテナとして起動してコンテナ同士をリンクすると便利です。リンクしたコンテナのIPアドレスが追加されます。w2v-web-api:W2Vのようにオプションを追加することで、コンテナ同士をリンクすることができます。W2Vという名前でリンクしたコンテナのIPアドレスが追加されていることが分かります。表示した後に終了して無くなりますこれを利用して、hubotコンテナ起動時に環境変数を設定しておくことで、hubotがword-vector-web-apiを参照できるようになります。word-vector-web-apiはデフォルトで22670ポートをpublishするので、以下の様にhubotのコンテナを起動します。yourDockerImage謝辞word-vector-web-apiやmecab-ipadic-NEologd等々の、簡単に利用できる構築済みのモデルや辞書を公開して頂いているoverlastさんに感謝します。設定することで、プロキシ含む通信経...記事を読むWordPressテーマSimplicityにアイキャッチ画像非表示オプションが追加されていた以前、WordPressテーマSimplicityをアイキャッチ画像無しで使うと題して、Simplicityのソースコードを変更してアイキャ...記事を読むNode.jsでmecab-ipadic-NEologdを使うkuromoji.jsを使ってみたに引き続き、Node.jsでmecab-ipadic-NEologdを使ってみた際のメモです。システム...記事を読むNode.jsでmecab-unidic-NEologdを使う最近、ボットに漢字を含む日本語の「読み」を解析させて遊んでいます。Containers」を使うまでのメモです。