SNS上の有害テキストを評価するGoogle Perspective APIを体験できる簡単なWebアプリを作ってみた

に公開

はじめに


先月の投稿でSNS等のデジタル言論空間における誤情報・偽情報、誹謗中傷に関する課題感について
触れました。

今月の投稿では、実際に公開されているオープンソースツールを使って簡単なWebアプリケーションを作ってみました!

使用した分析ツール(API)

テキストの毒性(有害性)を分析可能なGoogle Cloud の Perspective API を利用。
入力されたテキストに対して、以下の観点から分析を行います。

  • 毒性 (TOXICITY)
  • 重度の毒性 (SEVERE_TOXICITY)
  • アイデンティティ攻撃 (IDENTITY_ATTACK)
  • 侮辱 (INSULT)
  • 冒涜 (PROFANITY)
  • 脅威 (THREAT)

※Perspective APIについては、別の方が、以下の記事で詳しく解説されてますので、ご関心ありましたら、参照ください。
https://zenn.dev/taro_tenugui/articles/3d318410dc7a1e

Webアプリケーションの機能

  • テキスト入力フォームによる簡単な分析
  • リアルタイムでの分析結果表示
  • 6つの異なる評価基準による分析

📊 分析スコアの解釈

各評価基準のスコアは、0-1の範囲で評価され、概ね以下のように解釈できます:

  • 0.0-0.3: 低リスク
  • 0.3-0.7: 中程度のリスク
  • 0.7-1.0: 高リスク

試行

相手を冒涜するような記述を入れて見ました。

確かに個人名や、厳しい表現にするほど、アイデンティティや毒性の数値が上がるようです。
微妙な変化の違いや、Perpsective で処理している裏のロジックが分からないですが、
投稿情報のスクリーニングや既存のアプリに組み込んで使えそうです。

技術スタック

  • フロントエンド

    • HTML/CSS
    • JavaScript
    • Bootstrap 5
  • バックエンド

    • Python 3.8+
    • Flask
    • Google Cloud Perspective API

使用方法

  1. テキスト入力欄に分析したいテキストを入力
  2. 「分析」ボタンをクリック
  3. 各評価基準のスコアが表示されます
    • スコアは0-1の範囲で表示
    • 1に近いほど、その特性が強く検出されたことを示します

ソースコードとローカルでの実行方法

ソースコードは以下のGithubレポジトリにあげてあります。
https://github.com/moch127/Perspective

  1. 必要な環境の準備

    • Python 3.8以上
    • pip(Pythonパッケージマネージャー)
  2. リポジトリのクローン

    git clone [your-repository-url]
    cd [repository-name]
    
  3. 仮想環境の作成と有効化

    python -m venv .venv
    # Windows
    .venv\Scripts\activate
    # macOS/Linux
    source .venv/bin/activate
    
  4. 依存パッケージのインストール

    pip install -r requirements.txt
    
  5. 環境変数の設定

    • .env.example.env にコピー
    • Perspective API キーを取得(Google Cloud Console
    • .env ファイルにAPIキーを設定
  6. アプリケーションの起動

    python app.py
    
  7. ブラウザでアクセス

    http://localhost:5000
    

参考リンク

Discussion