フィルタリング機能の仕組み - 不適切な質問を自動検出する技術
更新日: 2026-03-19 · 約 5 分で読めます
なぜ自動フィルタリングが必要なのか
質問箱のオーナーが管理画面を開いたとき、最初に目に入るのが届いた質問の一覧です。大多数は善意の質問ですが、中には誹謗中傷、脅迫、性的な表現を含む不適切な質問が混じっていることがあります。
これらの不適切な質問をオーナーが目にすること自体が、心理的なダメージを与えます。特に、質問箱を開くたびに攻撃的な文面が目に飛び込んでくる状態が続くと、質問箱の運用自体が苦痛になります。
フィルタリング機能は、不適切な質問に自動で警告マークを付けることで、オーナーが不意打ちで攻撃的な文面を目にするリスクを軽減します。警告マークが付いた質問は、オーナーが心の準備をした上で確認するか、確認せずに削除するかを選べます。
重要な設計思想として、フィルタリング機能は「自動削除」ではなく「警告」方式を採用しています。自動削除にすると、文脈によっては問題のない質問が誤って消されてしまいます。最終判断はオーナーに委ね、フィルタリングはあくまで「注意を促す」役割に徹しています。
キーワードマッチングの基本と限界
フィルタリングの最も基本的な手法は、キーワードマッチングです。あらかじめ定義された不適切な単語やフレーズのリスト (ブラックリスト) と、投稿された質問のテキストを照合し、一致するものがあれば警告を付けます。
例えば、「死ね」「殺す」「ブス」のような明らかに攻撃的な単語は、キーワードマッチングで高精度に検出できます。実装もシンプルで、処理速度も速い。
しかし、キーワードマッチングには根本的な限界があります。第一に、言い換えや隠語に対応できません。攻撃者は「し ね」のようにスペースを挿入したり、「タヒね」のように文字を置き換えたりして、キーワードマッチングを回避します。第二に、文脈を考慮できません。「死ぬほど面白かった」は攻撃的な表現ではありませんが、「死ぬ」というキーワードに一致するため誤検知されます。
これらの限界に対処するため、キーワードマッチングだけでなく、より高度な分析手法を組み合わせています。
文脈を考慮した分析
キーワードマッチングの限界を補うために、文脈を考慮した分析を行います。単語単体ではなく、文全体の意味やトーンを評価する手法です。
パターンマッチングの拡張として、単語の組み合わせを評価します。「死ね」単体は攻撃的ですが、「死ぬほど」「死ぬ気で」のような慣用表現は攻撃的ではありません。これらの慣用表現をホワイトリストに登録し、誤検知を減らします。
文の構造も手がかりになります。「お前は○○だ」「○○しろ」のような命令形や断定形は、攻撃的な文脈で使われやすい構造です。一方、「○○について教えてください」「○○はどう思いますか」のような疑問形は、通常は攻撃的ではありません。
スコアリング方式も採用しています。1 つのキーワードに一致しただけでは警告を付けず、複数の指標 (攻撃的なキーワードの数、文の構造、感嘆符の多用など) を総合的にスコアリングし、閾値を超えた場合にのみ警告を付けます。これにより、「死ぬほど面白かった」のような誤検知を大幅に減らしつつ、「お前なんか死ねばいい」のような明確な攻撃は確実に検出できます。
誤検知と見逃しのトレードオフ
フィルタリングの精度を議論する際、2 種類のエラーを区別する必要があります。
「誤検知 (False Positive)」は、問題のない質問を不適切と判定してしまうエラーです。「死ぬほど笑った」に警告が付くケースがこれに該当します。誤検知が多いと、オーナーは警告を信頼しなくなり、フィルタリング機能自体を無効にしてしまいます。
「見逃し (False Negative)」は、不適切な質問を検出できないエラーです。巧妙に言い換えられた誹謗中傷や、文脈依存の攻撃的表現がすり抜けるケースです。見逃しが多いと、フィルタリングの存在意義が薄れます。
誤検知を減らそうとすると見逃しが増え、見逃しを減らそうとすると誤検知が増える。これはフィルタリングの本質的なトレードオフです。
本サービスでは、「見逃しよりも誤検知を許容する」方針を採用しています。理由は、誤検知の場合はオーナーが「問題なし」と判断して回答すればよいだけですが、見逃しの場合はオーナーが不意打ちで攻撃的な文面を目にしてしまうからです。オーナーの心理的安全を優先し、多少の誤検知は許容する設計です。
フィルタリングの限界と人間の判断の重要性
どれだけ高度なフィルタリング技術を使っても、人間の言語の複雑さを完全に捉えることはできません。皮肉、暗喩、文化的な文脈に依存する表現は、技術的な分析だけでは正確に判定できません。
「頑張ってね (笑)」という質問は、文面だけ見れば応援のメッセージです。しかし、文脈によっては嘲笑を含む攻撃的な表現になりえます。この判断は、オーナーと質問者の関係性、過去のやり取り、SNS 上の文脈を理解している人間にしかできません。
だからこそ、フィルタリング機能は「自動削除」ではなく「警告」方式を採用しています。技術は「注意すべき質問」を効率的にピックアップし、最終判断は文脈を理解できる人間 (オーナー) が行う。この人間と技術の協働が、フィルタリングの最適な運用形態です。
フィルタリング機能はデフォルトでは無効になっています。質問箱を公開する前に、管理ページの設定から有効にすることを推奨します。有効にしても、正当な質問が自動削除されることはありません。警告マークが付くだけで、すべての質問はオーナーの管理画面に表示されます。
テキスト分類や自然言語処理の技術に興味がある方は、自然言語処理の関連書籍も参考になります。