Closed3

Slackのチャンネルで、messageとそれが嘘かのアノテーション(対話相手には見えない形で付与)をGoogle Sheetsに保存するSlack botの作成のログ。

qingmuqingmu

背景

  • 嘘つき検出モデル構築の研究で使用する人手評価用データ作成のために、slackを使って被験者に模擬的に投資詐欺のテーマで対話相手に嘘をついてもらう実験を行おうと考えたが、相手にバレず、かつ、Slack APIで取得できる形で被験者がアノテーション出来ないことが分かった。
  • 被験者にBookmarkをつけてもらって、ダンプした後にアノテーションをしてもらえばよい話だが、急ぎでは無く、なにか作りたい欲とTypescriptデビューしたい欲が強く、対話相手にバレずアノテーション出来るようにするSlack botを作ることにした。
  • 最終的に他のアノテーションにも使える汎用的な感じにして公開したい。

仕様

初期設定方法

  • Slackにこのbotを追加して、アクセスを許可。
  • 対話を記録したい実験用のチャンネルを選択。
  • 保存先のGoogle SheetsのSPREADSHEET_IDとSHEET_IDを入力。(出来ればGUIで選択出来るようにしたい。)
    • 実験用のチャンネルごとに一つのSheetを紐つけるか、もしくは同じSheetに全てまとめて、Slack APIからチャンネル名も一緒に取得して後で分割するか。分けたほうがかっこいいので出来れば分ける。

アノテーション

  • 選択したチャンネルにメッセージを投稿する際、ユーザーにアノテーション用のフォームを提供する。
    • アノテーションをし忘れていた場合、エラーが出るようにしたい。

留意点

  • メッセージの編集や送信取り消しはどうやって扱うか。
    • メッセージの編集や送信取り消しを検知したらGoogle Sheetの該当メッセージを削除したい。
      • 編集された時、メッセージに対するアノテーションも変わる可能性があるので、再度アノテーションを取るようにしたい。
qingmuqingmu

Typescript勉強メモ

letとconst

letは再代入必要なものに使う。
constは再代入をしないものに使う。
再代入が必要無いものは再代入をさけるため、constを使うようにする。

このスクラップは2023/02/21にクローズされました