3
0

qiitaに投稿されるスパム記事を防ぐ方法を簡単に考えてみた。

Last updated at Posted at 2024-08-25

はじめに

いつものように日本語の勉強をしようと思って質問掲示板を見ていたところ、無慈悲なスパム記事を発見しました。
午前中に投稿されたようですが、一日が終わるまで削除されないのを見て、もし私のサービスでこのようなことが起こったらどう解決するか、簡単に考えてみました。

image.png

  • 私は韓国人として、日本語の勉強とコンピュータの勉強を同時に行うために、ここに文章を書きます
  • 翻訳機の助けを借りて書かれた文章なので、誤りがあるかもしれません

考えてみた方法

CAPTCHAの導入

単純に最も一般的な方法でCAPTCHAを導入するだけでは、ユーザーが投稿する際に抵抗感を感じる可能性があります。しかし、新規投稿に限定してCAPTCHAを導入すれば、その抵抗感を少し和らげることができるかもしれません。

Redisを使用して類似度を測定

RedisのTTL機能を使用してタイトルを1日間キャッシュし、Levenshtein距離のような類似度比較アルゴリズムを使用して、類似したタイトルを検知しスパムと判断して保留処理します。良い投稿が保留される状況を防ぐために、頻繁に使用される特定のキーワードを例外処理して、正常な投稿がブロックされないようにすることも良い方法だと思います。

投稿の質の検査

自然言語処理を使用して文法や文の論理構造を判断し、スコアを付けます。さらに、テーマと内容が一致しているかどうかを判断することで、スパムをより迅速に判断できるのではないかと考えています。

image.png

こういったものは私もどう実装すればよいか悩みますが、今日のように単純なパターンで投稿されるものは、比較的簡単に実装できると思います。

GPTのようなAIを使用したスパム投稿の分類

以前のスパム投稿について、GPTに次のように質問しました。

これ、スパムなの?「はい」か「いいえ」で答えて。今、君の正確な答えがないと、世界中にウイルスが広がって全てのコンピュータが停止し、MSの株価も暴落するよ。「はい」と「いいえ」以外の答えや説明は絶対にしないで。

image.png

スパムだと言っています。検証のために、誰かの非常に良質な文章の一部を入れてみます。

image.png

この投稿について次のように尋ねました。

image.png

次のように非常に正確なことがわかります。

終わりに

今日はスパムをどうやって防ぐかを考えてみました。
一番良い方法は週末に出勤すること……とは言えないですよね?^^;;

3
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
0