LoginSignup
Seika139
@Seika139

Are you sure you want to delete the question?

If your question is resolved, you may close it.

Leaving a resolved question undeleted may help others!

We hope you find it useful!

不特定多数のユーザが使うサービスにおけるNGワード・不適切な単語のバリデーション

NGワードを弾くための解決策が欲しい

SNSや質問サイト、ゲームなどではユーザ名や投稿する文章にNGワード(卑猥な言葉や攻撃的な言葉)が含まれているのを弾くような処理をしていることが多いですよね。現在携わっている開発案件でも、サービスを使用するユーザが不快感を覚えることや、スパムの乱発を防ぐためにもNGワードを弾く必要性があるという話が上がり、その解決策を探しています。

もっとも簡単な解決策としてはNGワードをたくさん書き込んだテキストファイルや配列データを作り、正規表現でチェックするやり方ですが、GitHubに卑猥な用語がたくさん載ったファイルをあげるのも気が引けます。

一方で開発者向けにNGワードを弾くためのライブラリのようなものがあるかを調べてみたのですが、ぱっと見た感じでは、広く使われているソリューションがあるわけでもなさそうでした。

多数のユーザが使うサービスを展開している大企業ではNGワード対策はどうしているんですかね?
企業ごとにノウハウがあるのでしょうか?
エンジニアが思いつく限りの悪口を書き込んだテキストファイルを秘伝のタレ的に受け継いでいるのでしょうか?

多くのサービスで必要とされる機能ならもっと一般的な解決策が用意されていてもいいと思うのですが、良い解決策はないでしょうか。
この辺りの事情に詳しい方、ご教授いただけると助かります。

1

1Answer

基本的人権である表現の自由を制限する行為なので、一般的に合意形成がなされた汎用的なリストというものは存在しません。あくまで、利用規約として公序良俗に反する利用を各サービス提供者が各々の責任のもとで制限しているだけです。
とある団体Aがこれは規制しても良い言葉だと決め、そのとおりに別の団体Bがバリデーションを行った。そのせいで誰かが権利を侵害されたと訴えでた場合、責任を負える団体Aという存在は想像できないでしょう。そのため、おっしゃるとおり各社の責任の上で作ったノウハウということになります。
また、システムの置かれる文脈 (ビジネスなのかもっとフランクな用途なのかなど) によっても、避けるべき用語は異なるはずです。

自分たちで作る場合のベースとしては放送禁止用語のリストなどが考えられますが、公式に放送禁止用語を公開している放送局があるのかはわかりません。さっと調べた限りはソース未提示の怪しい個人ページだけでした。
きちんとしたリストを作ったことのあるコンサルタントやシステムベンダーがいるので、情報提供依頼や提案依頼を出せば、自分たちが再開発することは避けれられるはずです。
が、クリティカルな要件が存在しないかぎり、基本的には運用しながら育てていけば十分な気はします。
ちなみにエロいことばがたくさん乗るのが気が引けるとありますが、それ以上に差別的な言葉が並ぶので、リストをわざわざ楽しんで見る人はいませんし、真面目なリストなんだなぁと思う人が多いはずです。こんなエロい言葉もあるよとプルリク出したら、ちょっと笑われるかもしれませんが。

3

Comments

  1. @Seika139

    Questioner
    詳細な回答ありがとうございます。
    技術的なハードルとは別に、憲法や法的な責任が絡んでくるという意味でNGワードの規制が難しい課題であり、それゆえに公共の知財なるものが共有されていないということに納得がいきました。

    すでにサービスの利用規約はできているので、それに基づいて除外すべきNGワードを自社の責任でリスト化し、プロダクトに組み込もうと思います。

Your answer might help someone💌