業務のチャット化が、コミュニケーション履歴の活用を容易にした
2つ目のステップでは、チャットBOTに投稿されたメッセージをもとにユーザーのレコメンデーションを行う。チャットBOTに対してメッセージが送られると、その情報が知話輪のサーバーへ伝わり、Webhookを経由してFlaskサーバーに伝達される。
Flaskサーバー上ではPythonスクリプトが実行され、学習済みモデルからレコメンデーション対象となるユーザーを取得していく。この際、ユーザー情報だけではなく、入力したキーワードに対するユーザー情報とのベクトル類似度やコサイン類似度なども取得するという。
取得した情報を用いて、次はグラフデータベースにアクセスする。これは、学習済みのモデルから取得したユーザー情報と、メッセージ投稿者とのリレーションを計算するためだ。
プログラムからグラフデータベースを操作する際には、Gremlinというグラフ・トラバース言語を使う。Gremlinはさまざまなグラフデータベースで共通して採用されている言語のため、他のデータベースに移行しても同じクエリが使える。
また、Gremlinの記法は非常に直感的であるため、データ操作が簡単にできるのも大きなメリットだ。Gremlinによってグラフデータベースにアクセスすることで、ユーザー同士のコミュニケーションの多寡を確認していく。
本プロジェクトでは、メンションのつけ方などをもとに、チャット上でのコミュニケーションパターンを4種類に分類した。パターンごとに重みづけを行い、コミュニケーションの回数とかけ合わせて計算。そのうえで、計算結果の低い人を「これまであまり関わったことのない人」と判定したという。
この関係スコアと、チャットBOTに投稿されたメッセージとの類似スコアを使いて、「レコメンデーションすべきユーザー」の算出を行った。
最後に、一ノ瀬氏は本セッションをこう総括した。
「業務がチャットベースに変わったことで、メールによるコミュニケーションの時代と比べてコミュニケーション履歴の分析・活用が現実的になりました。機械学習やクラウド技術の発達も、それを後押ししています。世の中にすでにあるものを組み合わせるだけで、大きな成果を出せるようになりました。今後は、新たな価値を生み出すため、『既存のものをどう組み合わせるか?』といったアイデアがより重要になってくると考えています」
お問い合わせ
株式会社ドリーム・アーツ