テキストを単語で分けるFacebookの「fastText」の仕組み

fastTextの取り組み

fastTextの取り組みを大きく分けると、

・ベクトルによる表現の構築
・分類
・推薦

の3に絞ることができます。

■ベクトル表現の構築

ベクトル表現の構築は、分類や推奨の実用に向けたファーストステップです。対象の単語や文章におけるベクトル表現をつくっておくことで、分類や推薦に応用させていきます。

■分類

分類は、「釣り記事」とされるクリックベイドの撲滅などに活用されます。コンテンツの内容に対し誇張したタイトルなどにより、クリックを誘発させ期待にそぐわないコンテンツがユーザーの目に触れることを、facebookは懸念しています。

現に、fecebookの方針で

・続きが気になるタイトルをつける記事
・誇張したタイトルでクリックさせ、期待したコンテンツではない記事

を排除対象としている。

■推奨

アプリなどのレコメンドサービスで導入されています。単語のベクトル表現を学習し、類似度を計算することで、ユーザーへのレコメンド精度が向上し満足度に繋げているようです。またユーザーの行動履歴データとも合算できるため、よりニーズに直接的なサービス展開ができているということです。

fastTextでの単語の扱い

fastTextでは、単語にIDを符号させて管理しています。IDへの変換にかかる時間を短縮するため採用されているのが、「ハッシュトリック」という方法です。具体的には、単語のバイト列と考え、数値の列へと変化し、関数を用いてひとつの値のIDを作成するということです。

この工程の中で既存のIDを重複することもありますが、その場合はひとつずつずらすという処理を行っています。IDの探す際は、ハッシュの計算をすることになります。加えてfastTextは負荷情報として切り出した単語の一部分についてもハッシュトリックでのID管理を行っているようです。

活用は簡単!一度試してみよう

fastTextの公式ページに明記してある使い方に従えば、簡単にfastTextを試すことができます。といってもその使い方は簡単そのもの。文書データを渡せば、すぐにモデルのデータが返ってきます。手間といえば日本語化することぐらいでしょう。

既に、小説から言語学習をさせるなど面白い使い方をしているユーザーもいるようです。みなさんもまずはfaxtTextに触れて、その使用感を確かめてみてはいかがでしょうか。何かいい運用方法が思いつくかもしれません。

関連する記事

facebook

案件情報や最新記事をお届けします。
ぜひチェックしてみてください。

geechs

ChatBot

《1分で登録できる!》
Facebook Messengerを使って
最新記事を受け取れます。

利用する