본문 바로가기
개발/게임) 개발관련

개발지식) 금칙어/욕설/비속어 필터(Profanity filter,Expletive filter)

by 테샤르 2024. 1. 16.

 금칙어/욕설/비속어 필터(Profanity filter,Expletive filter)

 

금칙어 필터는 애플리케이션, 웹사이트, 또는 다른 소프트웨어에서 사용자가 입력하는 텍스트 중에 특정 단어나 구절을 차단하거나 필터링하는 기술이다.

이는 불쾌하거나 부적절한 내용을 방지하거나 관리하기 위해서 사용된다.

 

해당 특정 단어를 가지고 있는 데이터 리스트에 해당하는 항목이 있으면 

치환하는 형태이다. 

대체적으로 xxx 나 *** 형태로 표시 되거나 다른 언어로 대체된다.

 

반응형

 

< 금칙어 필터 방법 >

방법 설명
단어 기반 필터링 특정 단어나 구절을 사전에 정의된 목록에서 차단합니다. 이 목록은 미리 정의된 금칙어나 부적절한 표현을 포함합니다.
정규 표현식 정규 표현식을 사용하여 특정 패턴이나 규칙을 갖는 텍스트를 차단합니다. 이는 더 복잡한 필터링 규칙을 적용할 때 유용합니다.
텍스트 분석 및 자연어 처리 자연어 처리(NLP) 기술을 사용하여 텍스트의 의미를 분석하고 부적절한 내용을 탐지합니다. 머신러닝 모델이 학습된 데이터를 기반으로 예측을 수행합니다.
사용자 정의 필터링 개발자는 특정 상황이나 특별한 요구에 맞게 사용자 정의 필터링 규칙을 만들어 적용할 수 있습니다.
신고 및 모니터링 시스템 금칙어 필터 외에도 사용자들이 부적절한 내용을 신고할 수 있도록 하는 시스템을 도입하거나, 일정 기간 동안 특정 단어가 자주 사용되면 관리자에게 알림을 보내는 등의 모니터링 시스템을 구축할 수 있습니다.

 

< 금칙어 필터 예시 코드>

using System;
using System.Text.RegularExpressions;

class Program
{
    static void Main()
    {
        // 금지어 목록
        string[] forbiddenWords = { "금지어1", "금지어2", "금지어3" };

        // 입력 문장
        Console.WriteLine("문장을 입력하세요:");
        string input = Console.ReadLine();

        // 필터링
        foreach (string word in forbiddenWords)
        {
            // 대소문자를 구분하지 않고 일치하는 모든 단어를 찾기 위해 정규표현식 사용
            string pattern = @"\b" + Regex.Escape(word) + @"\b";
            input = Regex.Replace(input, pattern, m => new string('*', m.Length), RegexOptions.IgnoreCase);
        }

        // 필터링된 결과 출력
        Console.WriteLine("필터링된 결과:");
        Console.WriteLine(input);
    }
}

 

 

금칙어 필터를 통해 사용자 간의 상호작용을 개선하고 커뮤니티 또는 플랫폼에서 적절한 콘텐츠를 유지하는 필요하다.

요즘은 대부분의 텍스트에 적용되어야 한다.

사용되는곳으로는 닉네임, 길드명, 채팅, 등등이 포함된다.

 

읽을거리 : [NDC2018] "ㅅ111발" 도 잡아내는 욕설 탐지기, 딥러닝으로 만들기

 

"ㅅ111발" 도 잡아내는 욕설 탐지기, 딥러닝으로 만들기

게임을 하며 우리는 욕설과 마주한다. 때로는 상대방이, 때로는 본인이 채팅으로 내뱉기도 하는 욕설은 서로에게 상처가 된다. 그래서 게임사는 욕설을 최대한 막기 위한 방법들을 동원한다. 필

www.inven.co.kr

 

 

★☆☆☆☆

 

반응형

댓글