社内のチャット分析で誰に聞けばいいのかが分かる

Sharat Chinnapa
The HumAIn Blog
Published in
Jun 28, 2021

こんにちは、チナパです!

現在HumAInでやって見ている実験の一つについてシェアします。目的は「誰に聞けばいいのかが分かるアルゴリズム」です。まだ途中作業ではありますが、どんな理論があって、どんな結果が出るのかを説明します。

そもそもどうしてこれが重要かといいますか?

組織は人の集まりです。その組織の知識の大半はまだ暗黙知であります。研究によっては7割~9割の予測があります。でも自分の経験でも見てください。ドキュメントだけを読むか、その作った人と話すかどっちの方でよりわかりますか?

ドキュメントもとても重要ですが、人が他の人を持っている知識を速やかに取得できる環境を作るのが大事だと思います。

以下の内容はチャットデータを分析して、過去データの元誰が何について詳しいのかを理解した上、何かの話題に関して誰に聞けば分かるのかのを教えてくれるロジックについて軽く説明します。

こんな感じになります

・元データについて
・単語・時間分析で人の関係性を判定
・HumAIn/ゴーリストの環境での結果のデモ

になります。

元データについて

弊社でチャットワークを主に使っていて、前々から「日報」の文化があります。社員のみなさんは日報で現在やっていること・これからやること、などなどを共有しています。例えば、以下のような内容で投稿があります。(共有しない方がいい物は記号で置き換えてます)

ご覧の通りですが、「構造化」はされてはないが割と綺麗にトピックスが書かれています。そのため実験台としてよいかなと判断しました。このような日報は毎日50名ほどが投稿しているのでまーまーデータの量が集まってきました。

チャットワークのメッセージ歴をダウンロードして、日報っぽいメッセージだけを一旦元データとして使っています。

単語・時間分析で関係する人の判定

これを達成するのに、TF-IDFと内製のタイムシリーズ分析を利用しています。

TFIDFの技術的な面は前にも投稿がありましたので、気になる方は参考してください。コンセプトだけ説明するとある「単語」に対してある「ドキュメント」(ここはメッセージ)はどれぐらい重要なのかを測るアルゴリズムです。

今回の目的「誰に聞けばいいのかが分かるアルゴリズム」のためには一番関係の高いドキュメントではなく、一番関係性の高い「メッセージ投稿者」を見つける必要があります。

よくある考え方ですと、「話す頻度が一番高い人」で選ぶか、「最近話している人」を選ぶこともあります。どっちも問題があって、HumAInではドキュメントのTF-IDFの分析の上で、「各単語に関係性が高い日報を最近&継続的に書いている人」を判定してみています。その分析のコンセプトが以下のイメージです。

Y軸が関係性、X軸が時間です。このようなグラフを格単語と人の組み合わせで作っています。

赤い線が時間と共の人の関係性、青いXで話題が日報からでなくなる

人がマスターになるまで時間がかかる

説明のため、このグラフが田中さん(架空の社員)の「バックエンド開発」との関係性だとしましょう。田中さんは3年目の新卒としましょう。

スタート地点で初めて、「バックエンド開発」の研修を受けて「バックエンド開発」の話題が日報にでたことになります。「最近重視」ですとその段階でもう田中さんが「バックエンド開発に詳しい」となってしまうので、私たちの考えでまずは「ワームアップ期間」という時間をもたらし、その期間を通して「バックエンド開発」が継続的に出るのであれば、田中さんに「バックエンド開発」についての知識が深まっているともに関係性が上がっていきます。ワームアップ期間が終わったら、田中さんがバックエンド開発のトピックに関しては上位ランキングに出てくるようになります。なぜなら勉強期間を通して田中さんがバックエンド開発について「マスター」になりました。つまり、このタイミングで

「バックエンド開発についてアドバイスが欲しい!」という要望がチャットボットに来たら「田中さんが詳しいと思いますよ!」的な回答ができます。

理想的には、トピック別のワームアップ期間を難度によって変更する必要があります。ここはまだ取り組んでいるところです。

人がトピックから離れた時すぐには無関係にならない

色々学んだの後、田中さんが「 バックエンド開発」から離れ、デジタルマーケに写るとします(仮にですよ!)。このタイミングで「バックエンド開発」について日報であんまり書かなくなります。本業務ではなくなっているし自分のOKRからも離れている。ここはグラフの青い✖️のところです。
ただし、その段階ではまだ「バックエンド開発」については知っているし、引き継いだばかりの人よりはまだ詳しいかもしれないと考えています。田中さんの仕事内容は変わっていますが、可能性としては一時的な休憩してもどってくることもあったりまします。そのために関係性がすぐ減らさず「バッファー期間」を持っています。

この期間が終了して、田中さんがまだチャットで「バックエンド開発」についてまだ発信していない場合徐々に関係性が減っていきます。時間とともに、田中さんが忘れていくこともありますし、「バックエンド開発」の最新情報もゆっくり変わっていきますのでそれとともに田中さんに聞いて教えて貰える情報の質がゆっくり落ちていくはずなのでそれとともにアルゴリズムのランキングが減っていきます。

ただし、バックエンド開発の経験は実際ありますので田中さんが全く無関係になることはないです。

HumAIn/ゴーリストの環境での結果のデモ

例えば「バックエンド開発に困っている」や「play frameworkの環境構築に手伝って」のような自然言語でチャットボットに聞いたら適切な人に案内できます。

まだまだ課題はあります、例えば弊社でバックエンド開発はほとんどplay frameworkで行っているので単語としては別物であるが、実際弊社のコンテキストで「バックエンド開発」と「play framework」のスキルの類似性が高い。そのようなコンテキストも汲み取ったり、聞いている自信のスキルが高い時、やまだ初心者である時の聞き先を変えたりしていけると「人と人のナレッジマッチング」には最強じゃないかなと思います。

最後に

HumAInで知識の流れをどう改善できるかを真剣に考えているところです。あなたの経験で情報を求める時に何が一番めんどくさいと思いますか?人には簡単に聞けてますか?是非コメントで教えてください~~

--

--

Sharat Chinnapa
The HumAIn Blog

Programmer, writer, dancer, learning how to make the world a better place at HumAIn.