- - PR -
文字列のチェックに関しまして
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2006-01-18 16:58
みなさま、こんにちは。
どんたくおです。 現在掲示板チックなWEBアプリケーションを作成しております。 そこで、皆様にご質問です。 掲示板などの不特定多数の人から書き込まれるものに関しては、 あんまり良くない言葉を処理する必要があるかと思います。 // 便宜上、放送禁止用語とよばさていただきます。 僕が今考えているのは、「,」で区切ったCSVを用意して、それを 読み込み、合うものがあるか判断する方法です。
といった感じです。 ただこの場合ですと、例えば 「あ ん な こ と」 とか入力された場合、スルーしてしまいます。 こういう放送禁止用語の処理などは皆さんどのように行われている のでしょうか。 効率的な方法をご存知の方がおいでましたら、ご教授いただえける と幸いです。 よろしくお願いします。 | ||||
|
投稿日時: 2006-01-18 17:06
これに関してだけ言えば、文字を 1 文字ずつ取って、 スペースを無視した状態で結合した String で検証すれば良いでしょう。 ただ、 「こ−ん−な−こ−と」とか、 「す!ご!い!こ!と」とか、 言い出したらキリがないですので、根本的な解決は難しいと思います。 (さらに言えば、同じ文字が間に入るとも限りませんし) _________________ C# と VB.NET の入門サイト じゃんぬねっと日誌 | ||||
|
投稿日時: 2006-01-18 17:21
正規表現を使って
あ\s*ん\s*な\s*こ\s*と\s* |こ\s*ん\s*な\s*こ\s*と\s* とすればある程度は防げるかな? \s*を(\s|ー|-)* とかに変更すれば区切り文字を変更できます | ||||
|
投稿日時: 2006-01-18 17:24
問題のない表現までヒットするかも。 _________________ C# と VB.NET の入門サイト じゃんぬねっと日誌 | ||||
|
投稿日時: 2006-01-18 17:32
みなさん、ご返信いただきまして、ありがとうございます。
やはり、ある程度は仕方ないかなと、思っております。 皆さんの意見を参考にさせていただきまして、こんな感じにしようかと思います。
制御文字を排除して、処理を行おうかなと思いました。 う〜ん。確かに、考えれば考えるほどきりがなさそうですね・・・。 | ||||
|
投稿日時: 2006-01-18 19:47
2chでの表現のように、誤字脱字で書かれた場合、
きりがないと思いますよ。 たとえば、NGワードが「死ね」として、 2chで有名な「死ね」を「氏ね」と表現されると、チェックできません。 逆に、「死ねというような内容で、中傷されました・・・」 みたいな書き込みも弾いてしまいます。 質問に対してこんな回答では大変失礼ですが、 チェックしないというのが一番いいと思います。 但し、書き込み者のIPなどの証拠物は残したほうがいいでしょう。 | ||||
|
投稿日時: 2006-01-19 09:39
かつのりさんの言われているように、実効的な自動的なチェックは
たぶん、不可能だと思います。できるとしたら、よほど高度な 日本語解析能力を備えたAIのようなものになるんじゃないでしょうか。 もし、どうしてもチェックしなければならない、というのであれば、 利用者の書き込みをすぐに反映させず、管理者の内容確認を経由してから、 掲示板に反映させる、というような手段しかないのでは? | ||||
|
投稿日時: 2006-01-21 00:04
かつのりさん、flatlineさん、ご返信いただきまして、ありがとうございます。
皆様のアドバイスを参考にさせていただきまして、ある程度しか防げないことを、ご説明させていただこうと思います。 皆様、ありがとうございました。m(_|_)m |
1