カテゴリー
ネットのサービス

Phonetic Bad Word Filter – 読むと不適切に聴こえる文章をフィルタしてくれるAPI

Phonetic Bad Word Filter API は、字面では一見問題なさそうに見えるが、声に出して読み上げるとヤバイ単語に聴こえてしまう文章や、スペルをわざと間違えることでテキスト合致によるフィルタをすり抜けようとする侮辱語などを発見してブロックするための API です。

API は RapidAPI のサービスで提供されていて、無料枠の利用でもクレジットカードの登録が必要です。

APIの呼び出しサンプルでは、実際のヘイトな単語を使うわけにはいかないので “car” という単語がまずい単語だと見立てて、”kar” という似たような発音になる綴りで置き換えても”car”を検知できますよ、というものになっています。

実際にはここに、いわゆるNワードなどを検知するように指定するということですね。

APIの使い道

APIの作者はもともと、Talking Banana(話すバナナ)というアイデアで、バナナの形の人形に YouTube や Twitch での中継中に視聴者のコメントを自動読み上げさせていたようです。

しかし、入力した結果が大勢の人に見られているライブ動画ですぐ読み上げられるとなると、出てくるのがイタズラ。特に侮辱後や人種差別にあたる言葉をわざと打ち込むというイタズラが登場してしまいました。

ヘイトスピーチにあたるような単語をブラックリスト登録することで、元の文に問題のある単語が直接含まれている場合は読み上げがされないよう対処できたのですが、イタズラする方に「機械に喋らせたら、問題のある単語に聴こえるような別の単語の組み合わせ」を入れてくる人が現れたんだそう。

単語一つだけでも、機械に合成させたら禁止ワードに聴こえる組み合わせをリスト化するのは大変そうです。さらに、単語単位での置き換えではなく、ひとつながりの複数の単語の並びの中に、喋ってみたら禁止ワードが聴こえてしまう、というようなものについて、事前にブロックリストを作るのはかなり難しいことでしょう。

喋らせてみたらまずいかも、という入力を実際に合成させた音をチェックさせるというアイデア、誤検出もありそうには思いますが前記のような用途であれば、ファンの入れた単語が間違って読み上げられなくてもそこまで大きな問題ではないのでしょう。

ユーザー入力をそのまま使うサービスというのは攻撃の対象になりやすいもので、できれば作らない方が楽だとは思います。しかし参加者のフィードバックが表示されることの価値も多いんでしょうね。今回の話は、技術と工夫で一旦はイタズラに勝った、という話で、いつもこういう勝ち筋があるといいのですが。

via reddit