Upgrade to Pro — share decks privately, control downloads, hide ads and more …

健全な投稿専用クライアントを作ってみた

Hakkadaikon
September 03, 2023

 健全な投稿専用クライアントを作ってみた

Bluesky勉強会#2 にて発表したスライド。

Bluesky/ATProtocol 勉強会 #2
~闇の奥深く、魂の叫びを聞け~
https://428lab.connpass.com/event/293255/

Hakkadaikon

September 03, 2023
Tweet

More Decks by Hakkadaikon

Other Decks in Programming

Transcript

  1. “健全”な
    投稿専用クライアントを
    作ってみた
    Bluesky勉強会 #2
    2023/09/02 発火大根

    View Slide

  2. 自己紹介
    名前 : 発火大根
    本業 : インフラエンジニア
    Bluesky歴 : 約4か月(2023/05/01 開始)
    登壇歴 :
    - 初登壇 Nostr勉強会 #3 (2023/08/04)
    - 2回目 Bluesky勉強会 #2 (2023/09/02 この勉強会)
    その他 : 隔週でC#モブプログラミング会実施(主催:C#読書会)
    2

    View Slide

  3. 今日の内容
    “健全”なBlueskyの投稿専用クライアントを作ったので
    その話をします
    3

    View Slide

  4. 概要
    ・デスクトップマスコット型投稿アプリ
    ・ダブルクリックで投稿フォーム表示 -> Blueskyに投稿可能
    4

    View Slide

  5. 目玉(?)機能 1
    5
    不健全な投稿をさせないようブロックする機能あり!

    View Slide

  6. 目玉(?)機能 2
    6
    誤検知防止機能あり!
    “エロ” : NG ヒ”エロ”グリフ : OK イ”エロ”ーハット : OK

    View Slide

  7. 7
    Q.
    Q.どうやって
    判定しているんだ?

    View Slide

  8. 8
    A.
    A.
    形態素解析
    (けいたいそかいせき)

    View Slide

  9. 9
    ???
    ■形態素(けいたいそ)解析
    自然言語の文章を形態素(日本語では単語と同じ)に分割し
    品詞・読み・活用型などの素性情報の付与も行うこと。
    ※使用OSS(komutan/NMeCab)のREADME.mdより
    https://github.com/komutan/NMeCab

    View Slide

  10. 10
    形態素解析を使わない単語チェック
    投稿内容「ヒエログリフを見た」
    ・エロ
    ・XXX
    ・etc…
    不健全単語一覧
    不健全単語が”含まれているか”をチェック
    -> OKな文章もOUTになってしまう!

    View Slide

  11. 11
    形態素解析を使う単語チェック
    投稿内容「ヒエログリフを見た」
    ・エロ
    ・XXX
    ・etc…
    不健全単語一覧
    形態素単位に不健全単語と“完全一致”
    するかチェック-> OUTとならない!
    ヒエログリフ / を / 見た
    形態素に分解!

    View Slide

  12. 12
    開発環境
    ■言語 :
    - C#
    - Windowsフォームアプリケーション
    - .NET 7.0
    ■主な使用OSS :
    - LibNMeCab (形態素解析に使用)
    - LibNMeCab.IpaDicBin (形態素解析に使用する辞書データ)
    - Bluesky.Net (Blueskyへの投稿に使用)
    - MosasoM/inappropriate-words-ja (不適切表現単語をお借りした)

    View Slide

  13. 13
    ソースコード
    近日公開!
    ※突貫で作ったので、公開に向けた整理中

    View Slide

  14. 健全な
    Blueskyライフを!
    14

    View Slide