MMO 채팅을위한 비속어 필터


32

Smartfox 서버를 사용하여 MMO를 개발 중입니다. 대상 독자는 7-12 세의 어린이입니다.

이 MMO에는 글로벌 채팅 옵션이 있습니다.
텍스트 상자에 입력 한 사용자가 입력 한 후 사용자 아바타 옆에 표시됩니다.

이 채팅에서 욕설과 욕설을 필터링하고 싶습니다.
우리는 대화를 포착하고 텍스트를 읽을 수 있습니다. 문제는 욕설 자체 목록을 얻는 것입니다.

우리의 질문은

  1. 모든 욕설에 대한 철저한 목록을 어디에서 얻을 수 있습니까?
  2. 비슷한 시나리오에서 이러한 방법을 필터링하기 위해 어떤 방법을 채택합니까?

17
Scunthorpe 문제 와 함께 행운을 빈다 .
Cyclops

7
@ yetanothercoder, 내 요점은 필터링이 어려운 문제 입니다. 예를 들어 토요일에 게임에 이벤트가 있습니까? 플레이어 수 있을까요 입력 자신의 chatboxes에 "토요일"(주 가운데 네 글자) 단어를? (그리고 downvote도 이유를 모릅니다. 나쁜 질문 은 아니지만 간단한 대답이 없을 수도 있습니다).
Cyclops

6
더 많은 언어가 사용되면 더욱 복잡해집니다. 예를 들어 : Starcraft 2는 채팅에서 "weniger"를 제거합니다. 이것은 "less"의 독일어 단어
일뿐입니다

4
젊었을 때 자주 발생하는 또 다른 문제는 필터링 된 MMO를 재생하는 것이 영어를 기반으로한다는 것입니다. 그래서 내가 프랑스어를 말하면, 영어 저주처럼 보였기 때문에 괜찮은 프랑스어 단어가 검열 될 것입니다. 어쨌든, 나는 여전히 원하는 모든 것을 프랑스어로 저주 할 수있었습니다.
Xeon06

2
내가 본 것에서 좋은 필터를 만드는 가장 중요한 것은 필터를 끄는 옵션이 있다는 것입니다. 선택의 여지가없고 플레이어가 검열을 당할 수밖에 없다는 것을 알고 있다면 검열을 피할 수 있습니다. 당신이 그것을 쉽게 해제 할 수있게하면, 그들은 그것을 우회 할 가능성이 없으며, 거친 언어를 경험하고 싶지 않은 사람들은 필터를 우회하려고하는 사람들을 다룰 필요가 없습니다.
마이클 Zehnich

답변:


46

하지마

필터가 작동하지 않습니다. 적어도 필터 작동하지 않습니다. 허용 목록, 차단 목록은 중요하지 않습니다. 이들 중 어느 것도 아이들이 서로를 괴롭히는 것을 막을 수는 없습니다. 이 작업을 수행하는 유일한 방법은 채팅을 필터링하지 않고 문장에 큰 빌딩 블록을 제공하는 것입니다. 예를 들어, 한 어린이가 "당신이하고 싶은 일 ..."을 선택하고 "가서 ..."와 "무역 ..."에 대한 옵션을 불러옵니다. "go to ..."를 선택하면 게임의 장소 목록이 나타납니다.

디즈니는 14 세의 화이트리스트 테스트 대상이 "긴 목을 가진 기린을 푹신한 흰 토끼를 고집" 하기로 결정한 후 MMO "툰 타운"에이 방법을 사용했다 . 간단히 말해, 남용을 방지하기에 충분한 단어를 차단하거나 허용 할 수 없습니다 .


아이의 MMO를 설계하는 경우 실제로 엄격한 블랙리스트 필터를 구현하지만 두 번째 방어선으로 만 사용됩니다. 첫 번째 방어선은 항상 중재자이며 악용 사례를 신고 할 수있는 능력이어야합니다. 블랙리스트에 포함 된 단어의 가중치를 매기고 각 사용자는 자신이 얼마나 유쾌한 지 비밀 점수를 얻습니다.

필터를 사용하려고 시도하거나 우회하는 사용자가 먼저 필터를 트리거 할 가능성이 있습니다. 더 명백한 욕설 (모호하거나 오래된 구식이 아닌)이나 반복적 인 욕설 시도는 중재자를위한 감시 목록 또는 일종의 금지 목록 에 넣습니다 . 이런 식으로 중재자는 여전히 순진한 아이들의 의견을 읽는 데 시간을 낭비하지 않고 다른 사람을 괴롭 히려고하는 사용자에게 집중할 수 있습니다.


6
Toontown 링크에 대해서만 +1-특히 플레이어 가 비밀 코드를 교환하기 위해 비밀 채널 을 사용하는 것이 좋으므로 필터를 우회 할 수 있습니다.
Cyclops

1
내가 발굴하고 공유 할 것이라고 생각한 정말 재미있는 책이었습니다. 내 대답의 나머지 부분을 읽지 않으면 적어도 그것을 읽으십시오. = P
dlras2

2
나는 블리자드가 월드 오브 워크래프트에서이 기술 (일반 채팅에 게시 된 저주의 비밀 점수)을 사용한다고 생각합니다.
Nate

2
@ Dan 개인 경험. 나는 자동 금지되었습니다. (GM에 의해 금지되는 것과 다른 경험이 있었던 것) 어떤 주술사는 내 길드에서 일부 병아리를 구두로 폭행하고 있었고 나는 그를 떠났다. 나는 / General에서 일정 기간 동안 게임에서 금지되지 않았습니다.
Nate

2
첫 번째 단어 "Do n't"+1 우회는 일어나는 일이며, 당신은 meecrob거대한 김이 나는 더미 를 만들기 위해 귀중한 프로그래밍 리소스를 낭비한 것처럼 느껴질 것 입니다 ! ;-D
Randolf Richardson

10

필터를 제공 하지 않는다고 말하는 사람들에 대한 응답으로 , 나는 당신 의도 한 청중의 부모와 관련하여 자신의 엉덩이를 가리는 것 외에 다른 이유없이 필터 제공 해야 한다고 주장합니다 . 사용자가 비활성화 할 수 있는지 확인하십시오. 불완전하고 완전히 선택적인 필터이지만 비속어 필터를 구현하면 어린 청중의 감성을 보호하기 위해 예상되는 모든 것을 수행했다고 말할 수 있습니다.

이러한 언어를 선호하는 사람들은 자신의 컴퓨터에서 즉시 필터를 비활성화하고 필터가 존재한다는 사실을 잊었 기 때문에 오랫동안 비활성화 할 수 있으므로 사용자가 현명한 문장 부호 또는 대체를 사용하여 사용자가이를 우회하지 못하도록하십시오. .

이러한 이해를 바탕으로 구현에 대해 크게 걱정하지 마십시오. 그것은 완벽 할 필요는 없지만 (이것은 완벽 할 있기 때문에 좋은 것입니다 ), 가능하면 비교적 완전하고 방해가되지 않아야합니다. 즉, " 사소한 실수" 를하지 않도록해야합니다 .

구현은 매우 간단 할 수 있습니다. 단어 목록을 가져 와서 목록에있는 단어를 별표 또는 이와 유사한 것으로 바꿉니다. 전체 단어 만 검색하는 것이 가장 좋습니다.

단어 목록은 간단합니다. http://www.google.com/search?q=profanity+word+list

모든 것을 포괄 할 필요는 없으며, 자녀를 보호하기 위해 여러분의 용감한 노력을 나타내면됩니다.


1
특정 연령 등급에 대해 실제로해야 할 일을 자세히 조사한 후 +1도 나의 접근 방식이 될 것입니다.
Oskar Duveborn

5

블랙리스트와 화이트리스트를 허용하는 솔루션을 구현하려고합니다. 예를 들어 블랙리스트에 'cunt'를 추가하고 화이트리스트에 'scunthorpe'를 추가 할 수 있습니다.

난 당신이 할 수 있다고 생각하지 않습니다 지금까지 나는 당신의 사전에서 가장 "인기있는"단어를 얻으려고 것, 그래서 안전 장치 솔루션을 구현하고, 목록에 새로운 단어를 추가 할 수 있습니다 쉽게로합니다.

그 이유는 언어, 특히 영어가 끊임없이 진화하고 수십 년 동안 불쾌한 것이 올바른 맥락에서 불쾌감을 줄 수 있기 때문입니다.

가능한 한 많은 단어를 얻고 거기에서 나 가려고 노력하십시오. 사람들이 불평 할 때 반응 시간이 빠르며 이것이 일반적으로 문제가된다는 것을 보여 주면 문제가있을 것입니다.

미국의 검열에 대한 지침이 정확히 무엇인지 아는 것이 좋습니다 : MBNL! (나는 변호사가 아니야!)


3
진화하는 언어에 대한 해결책은 선입견 으로 필터링하는 입니다.
Cyclops

@Cyclops Win! xD
Jonathan Connell

4

내가 주석으로, 모든 모욕적 인 단어를 필터링하는 것은 정말 어렵습니다 -하지만 당신은 주위를 회전하고 사용할 수있는 화이트리스트허용 말씀을. Google 검색을 수행하면 어린이 게임에서 목록에 입력 할 수있는 항목을 제한하는 것이 일반적입니다. 예를 들어, 레고 유니버스 는 화이트리스트를 사용합니다.

게임 채팅 허용 목록 도 참조하십시오 . 그리고 참고 화이트리스트를 피할 수 있습니다 . 보장 된 솔루션이 없습니다.

어린 아이들을위한 것이므로 클라이언트 인터페이스에 따라 철자가 잘못되어 문제가 될 수 있다는 것을 고려하면 단어 자동 완성을 고려할 수 있습니다 . 플레이어가 글자를 입력하기 시작하면 가능한 단어 목록을 제공하고 올바른 단어를 선택하게하십시오.


좋은 생각이지만 철자가 틀릴 수있는 어린 아이들을위한 게임에서는 이상하게 보일 것입니다. 또한 화이트리스트에서 제공되는 범위를 벗어나 개인 개발을 방해 할 수도 있습니다.
Jonathan Connell

@ 3nixios, 문제가 있음에 동의하지만 가능한 모든 솔루션도 마찬가지입니다. :) 철자 문제에 대한 한 가지 해결책은 다음과 같습니다. 잠깐, 내 게시물에 추가해야합니다. :)
Cyclops

+1 : 이것은 훨씬 더 안전하지만 @ 3nixios : 개발을 방해하거나 매우 큰 목록이 될 것이므로 실행 시간이 올바르게 증가 했습니까?
naveen

@yetanothercoder는 클라이언트 유형에 따라 (html / javascript라고 가정합니다) 유효한 단어 목록을 미리 다운로드하여 클라이언트에서 확인할 수 있습니다. 이로 인해 서버 속도가 느려지지는 않습니다 (이론적으로 스마트 프로그래머가 우회 할 수 있음). 예, 더 많은 작업입니다. 다시 쉬운 해결책이 없습니다. 죄송합니다. 그것은 모두 수용 가능한 위험 정도에 달려 있습니다.
Cyclops

1
@Cyclops 어린이 게임의 경우 어린이 게임 만 고려할 경우이 솔루션을 사용할 수 있습니다. 불행히도 클라이언트 측 점검은 '배드맨'이 다른 플레이어에게 좋아하는 것을 쉽게 말할 수 있음을 의미합니다.
Jonathan Connell

4

비속어 필터를 구축하기위한 하나의 시스템을 설명하는 프로그래머 의 답변 이 있습니다 . 그는 실제로 어떻게 세부적으로 구축했는지는 설명하지 않지만 구현 아이디어를 얻는 데 충분해야합니다.


4

이것은 코드보다는 인간과 사회 디자인에 의해 가장 잘 해결되는 문제입니다.

철저한 목록의 가장 좋은 소스는 게임에 존재하고 채팅 스트림을 모니터링하는 살아있는 사람입니다. 사람들을 게임에 넣고 최고의 필터로 만드십시오.

클럽 펭귄 뒤에있는 레인 메리 필드의 아이디어와 철학을 살펴보고 서비스를 제공하는 것에 대해 시간을 보내십시오. 2008 년 Austin GDC에서 발표 한 두 가지 글을 썼습니다. 나는 그것을 보았고 코드가 아닌 인간의 인간 문제를 해결하는 그의 스타일에 깊은 감명을 받았습니다.

http://gamasutra.com/php-bin/news_index.php?story=20234

http://www.raphkoster.com/2008/09/15/agdc08-lane-merrifield-at-their-service/

특히 게임은 어린이를 대상으로하기 때문에 생각해야 할 필터를 맹세합니다. 나쁜 동기가 있거나없는 아이들로 위장한 사람들에 대해 걱정해야합니다. 자녀가 안전하다는 것을 부모에게 확신시켜야합니다. 아이들에게도 그 문제에 대해 안전하다는 것을 확신시켜야합니다.

인간에게 또 다른 장점은 문맥을 이해한다는 것입니다. 당신은 "엄마가 유방암에 걸렸다"고 말하는 아이들을 원하지 않습니다.


잠재적 인 조작자를 금지 할 수있는 중재자가 있습니다. 나는 욕설에 더 관심이 있습니다. 나쁜 상황에서 사용되는 대부분의 단어가 반복 될 때 중재자에게는 지루한 작업이 될 것입니다.
naveen

분명히 욕설 필터를 활성화하여 공통 항목이라고 부르는 것을 감지하고 중재자에게 플래그를 지정할 수 있습니다. "최상위 100"단어 목록을 생각해내는 것은 어렵지 않으며 모든 문자열에서 빠른 패턴 일치를 수행하십시오. 사람들이 알고리즘을 C_H_E_A_T하거나 조작하지 않도록 모든 공백과 문장 부호를 먼저 제거하십시오. 궁극적으로 인간은 그것을 올바르게 할 것입니다.
Tim Holt

3

문제에 대한 간단한 해결책 :

  1. 입력에서 공백과 구두점을 모두 제거하십시오.
  2. Urban Dictionary의 모든 것을 차단합니다 .
  3. 모든 호모 폰 등을 블랙리스트에 추가
  4. 완곡으로 사용할 수있는 모든 것을 블랙리스트에 올리십시오.
  5. 남아있는 내용, 의도 및 어조를 이해하기 위해 소프트웨어를 작성하십시오.
  6. 5 단계부터 게임을 버리고 지각적이고 전지전능 한 창조로 시장에 진출하십시오.

6
호모 폰 lolololol
Jonathan Connell

3
이것은 스패머 보안 문자 해결 및 스팸 필터의 최종 결과입니다. 지구를 통제하기 위해 싸우는 지각있는 인공 지능 : 한쪽은 비아그라를 팔려고하는 쪽과 다른 쪽은 인류를 보호하려고합니다. 매우 변압기. :-)
Zan Lynx

3

어린이를위한 일부 MMO는 채팅을 사전 정의 된 감정 표현 및 문구 목록으로 바꾸고 자유형 채팅을 허용하지 않습니다. 아마도 게임은 그것을 수용하도록 설계 될 수 있습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.