以下の内容はhttps://theoria.hatenablog.com/entry/2022/03/27/052035より取得しました。


mastodon bot 『DajareDetector』 説明書

この記事は拙作のmastodon bot 『DajareDetector』(@DajareDetector)の説明書です。

social.timespiral.co.jp

DajareDetector とは何か

フォローしているユーザーのトゥート本文*1に含まれるダジャレを検出して指摘するmastodon上で動作するbotです。

mastodon上に存在していますので、mastodonmastodonと疎通できるソフトウェア(pleromaやmisskeyなど)から使用できるはずです。

やっていること

  1. ストリーミングAPIによりホームタイムラインを監視
    API的には /api/v1/streaming/user を見ていますので、通知も取得できます。
  2. 取得した投稿本文にダジャレが含まれているか評価
    kurehajime/dajarep というルールベースのダジャレ検索ライブラリを改造したものを使っています。
  3. ダジャレが含まれていたらリプライを送る
  4. 新規ユーザーにフォローされたらフォローを返す

Go言語を使っています。Go書いたことないのでよくわかっていませんが、動いています。

注意点

  •  ダジャレの判定がルールベースなので、なかなか難しいです。
    • これは 検出したほうが/しないほうが 良いというのがありましたら教えて下さい(@theoria@wug.funにリプライとかで)
      • 検出ライブラリはGitHubで公開しているので、直して Pull Request を送ってくれても良いです
      • 最悪テストファイルにダジャレを書き込んでプルリクとかでも良いです
  • 検出されるのは3文字以上の単語、もしくは複数単語がヒットした場合になっています
    • 2文字1つだとダジャレとも言えないレベルの引っかかり方をするため
  • 単語の読み単位で検索しているので複数単語にまたがる掛りが検出できない
    • 単語判定をなくして読みだけでやると『人民の人民による人民のための政治』とかもダジャレとみなされてしまうため、単語の判定をしています
  • 公開範囲が未収載以上の投稿のみに反応します
    • 非公開投稿に反応するのはマズそうなので
  • フォロー解除機能が未実装
    • ウザくなったらブロックでbotからのフォローを解除してください。ユーザーがフォローを解除するだけでは検出されるのでご注意ください。
    • キーワードでフォロー解除のような仕組みは将来的には実装予定です

その他(お願い)

ルールベースの検出のため、ルールを手探りでいじっています。これは検出されてほしい、みたいなのがあったら教えていただけるとありがたいです。検出しないほうが良いやつも。

よろしくお願い致します。

*1:正確にはCWのspoiler_textも検出対象です




以上の内容はhttps://theoria.hatenablog.com/entry/2022/03/27/052035より取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14