ตัวกรองหยาบคายสำหรับการแชทแบบ MMO


32

เรากำลังพัฒนา MMO โดยใช้เซิร์ฟเวอร์ Smartfox กลุ่มเป้าหมายคือเด็กอายุตั้งแต่ 7 -12 ปี

มีตัวเลือกการแชททั่วโลกใน MMO นี้
ไม่ว่าผู้ใช้ประเภทใดในกล่องข้อความจะปรากฏขึ้นถัดจากผู้ใช้ประจำตัวหลังจากที่เขาเข้าสู่

เราต้องการกรองภาษา / คำหยาบจากการแชทนี้
เราสามารถจับภาพการสนทนาและอ่านข้อความ ปัญหาคือการรับรายการของคำหยาบ

คำถามของเราคือ

  1. ใครจะได้รายชื่อที่หยาบคายของคำหยาบคายทั้งหมด?
  2. วิธีใดที่ถูกนำไปใช้ในสถานการณ์ที่คล้ายกันเพื่อกรองสิ่งเหล่านี้

17
โชคดีที่มีปัญหาคันธอร์ป
ไซคลอป

7
@yetanothercoder, จุดของฉันคือการกรองเป็นปัญหาหนัก ตัวอย่างเช่นเกมของคุณจะมีกิจกรรมใด ๆ ในวันเสาร์หรือไม่ ผู้เล่นจะสามารถพิมพ์คำว่า "วันเสาร์" (จดตัวอักษรสี่ตัวที่ตรงกลาง) ลงในกล่องแชทได้หรือไม่? (และไม่รู้ว่าทำไม downvote เช่นกัน - ไม่ใช่คำถามที่ไม่ดีแต่อาจไม่มีคำตอบง่ายๆ)
ไซคลอป

6
และมันจะยิ่งซับซ้อนมากขึ้นเมื่อมีการใช้ภาษามากขึ้น ตัวอย่างเช่น: Starcraft 2 ลบ "weniger" ออกจากการแชทซึ่งเป็นเพียงคำภาษาเยอรมันสำหรับ "less" ...
bummzack

4
ปัญหาอื่นที่ฉันพบบ่อยเมื่อฉันยังเด็กและเล่น MMO ที่กรองแล้วคือพวกเขาใช้ภาษาอังกฤษ ดังนั้นถ้าฉันพูดภาษาฝรั่งเศสคำภาษาฝรั่งเศสที่เหมาะสมบางคำจะถูกเซ็นเซอร์เพราะพวกเขาดูเหมือนคำสาปภาษาอังกฤษและไม่ว่าในกรณีใดฉันก็ยังสามารถสาปแช่งในภาษาฝรั่งเศสทั้งหมดที่ฉันต้องการ
Xeon06

2
จากสิ่งที่ฉันเห็นสิ่งที่สำคัญที่สุดในการสร้างตัวกรองที่ดีคือการมีตัวเลือกให้ปิด หากคุณไม่มีตัวเลือกและผู้เล่นรู้ว่าพวกเขาไม่มีทางเลือกนอกจากต้องถูกเซ็นเซอร์พวกเขาจะหลีกเลี่ยงการเซ็นเซอร์ หากคุณทำให้ง่ายสำหรับพวกเขาที่จะปิดโอกาสที่พวกเขาจะยุติการหลบเลี่ยงและผู้ที่ไม่ต้องการสัมผัสกับภาษาที่รุนแรงจะไม่ต้องจัดการกับคนที่พยายามหลีกเลี่ยงตัวกรอง
Michael Zehnich

คำตอบ:


46

อย่า

ตัวกรองไม่ทำงาน อย่างน้อยตัวกรองเท่านั้นจะไม่ทำงาน บัญชีขาวบัญชีดำมันไม่สำคัญ สิ่งเหล่านี้จะไม่ป้องกันเด็ก ๆ จากการล่วงละเมิดซึ่งกันและกัน วิธีเดียวที่จะทำให้งานนี้คือการไม่กรองการแชท แต่เพื่อจัดเตรียมแบบเอกสารสำเร็จรูปขนาดใหญ่สำหรับประโยค ตัวอย่างเช่นเด็กอาจเลือก "คุณต้องการ ... " และตัวเลือกสำหรับ "ไปที่ ... " และ "แลกเปลี่ยน ... " จะถูกดึงขึ้น การเลือก "ไปที่ ... " จะแสดงรายการสถานที่ในเกม

ดิสนีย์ตั้งรกรากกับวิธีการนี้สำหรับ Toontown MMO ของพวกเขาหลังจากผู้ทดสอบที่ได้รับการอนุญาตพิเศษอายุ 14 ปีตัดสินใจที่จะติดยีราฟที่มีคอยาว พูดง่ายๆคือคุณไม่สามารถขึ้นบัญชีดำหรือขึ้นบัญชีขาวได้เพียงพอที่จะป้องกันการละเมิด


ทุกอย่างถูกกล่าวว่าถ้าฉันออกแบบ MMO ของเด็กฉันจะใช้ตัวกรองบัญชีดำที่เข้มงวด แต่เป็นแนวป้องกันที่สองเท่านั้น แนวป้องกันแรกของคุณควรเป็นผู้ดูแลและความสามารถในการรายงานการละเมิด ฉันจะเพิ่มน้ำหนักคำที่ไม่อนุญาตโดยผู้ใช้แต่ละคนจะได้รับคะแนนลับว่าพวกเขาพยายามดูหมิ่นอย่างไร

โอกาสที่ผู้ใช้จะพยายามหลีกเลี่ยงตัวกรองของคุณจะทริกเกอร์มันก่อน สะใจที่เห็นได้ชัดมากขึ้น (เมื่อเทียบกับปิดบังหรือคนเก่า) หรือซ้ำหลายครั้งมากขึ้นพยายามหยาบคายใส่ไว้ในรายการเฝ้าดูสำหรับผู้ดูแลหรือการจัดเรียงของบางรายการห้าม ด้วยวิธีนี้ผู้ดูแลสามารถมุ่งเน้นไปที่ผู้ใช้ที่ดูเหมือนจะพยายามก่อกวนผู้อื่นแทนที่จะเสียเวลาไปกับการอ่านความคิดเห็นของเด็กผู้ไร้เดียงสา


6
+1 สำหรับลิงก์ Toontown - โดยเฉพาะอย่างยิ่งฉันชอบให้ผู้เล่นใช้แชนเนลการแปลงเพื่อให้ผู้คนแลกเปลี่ยนรหัสลับของพวกเขาเพื่อให้พวกเขาสามารถข้ามตัวกรองได้
Cyclops

1
มันเป็นเรื่องที่น่าสนใจมากที่ฉันอ่านฉันคิดว่าฉันจะขุดและแบ่งปัน หากคุณไม่ได้อ่านคำตอบที่เหลือของฉัน = P
dlras2

2
ฉันเชื่อว่า Blizzard ใช้เทคนิคนี้ (คะแนนลับของการสาปแช่งนับโพสต์ในการแชททั่วไป) ใน World of Warcraft อย่างน้อยฉันก็รู้ว่าพวกเขาเคย
เนท

2
@Dan ประสบการณ์ส่วนตัวเท่านั้น ฉันถูกแบนโดยอัตโนมัติ (ซึ่งแตกต่างจากประสบการณ์ที่ไม่ได้รับอนุญาตจากจีเอ็ม) ฝักบัวอาบน้ำบางตัวถูกทำร้ายโดยลูกไก่ในกิลด์ของฉันและฉันก็ออกไปกับเขา ฉันไม่ได้ถูกแบนจากเกมเพียงแค่จาก / ทั่วไปเป็นระยะเวลาหนึ่ง
เนท

2
+1 สำหรับคำแรก "ไม่" การหลบเลี่ยงเป็นสิ่งที่เกิดขึ้นและเป็นสาเหตุที่คุณจะรู้สึกเหมือนว่าคุณได้สูญเสียทรัพยากรการเขียนโปรแกรมที่มีค่าเพื่อสร้างกอง meecrob ที่ยิ่งใหญ่ ! ;-D
Randolf Richardson

10

ในการตอบสนองต่อผู้คนที่บอกว่าไม่ได้ให้ตัวกรองฉันจะยืนยันว่าคุณต้องให้ตัวกรองโดยไม่มีเหตุผลอื่นใดนอกจากครอบคลุมก้นของคุณเองด้วยความเคารพต่อผู้ปกครองของผู้ชมเป้าหมายของคุณ เพียงตรวจสอบให้แน่ใจว่าผู้ใช้สามารถปิดใช้งานได้ ด้วยการใช้ตัวกรองหยาบคาย (แม้ว่าจะเป็นตัวกรองที่ไม่สมบูรณ์และเป็นทางเลือกโดยสิ้นเชิง) คุณสามารถพูดได้ว่าคุณได้ทำทุกอย่างที่คุณคาดหวังไว้เพื่อปกป้องความรู้สึกอ่อนไหวของผู้ชมที่อายุน้อยกว่า

ด้วยการทำให้ปิดการใช้งานคุณจะไม่สนับสนุนให้ผู้ใช้พยายามหลีกเลี่ยงการใช้เครื่องหมายวรรคตอนหรือการทดแทนที่ฉลาดเนื่องจากผู้ที่ชื่นชอบภาษาแบบนั้นจะปิดการใช้งานตัวกรองในคอมพิวเตอร์ของตัวเองทันทีและจะลืมไปนานว่า .

ด้วยความเข้าใจนั้นไม่ต้องกังวลกับการใช้งานมากนัก ไม่จำเป็นต้องเข้าใจผิดได้ (ซึ่งดีเพราะไม่สามารถเข้าใจผิดได้) แต่ควรจะค่อนข้างสมบูรณ์และไม่น่ารำคาญเท่าที่จะทำได้ นั่นคือคุณไม่ต้องการให้แน่ใจว่าคุณไม่ได้ทำ " ผิดพลาดclbuttic "

การใช้งานนั้นง่ายมาก - รับรายการคำและแทนที่คำใด ๆ ที่พบในรายการด้วยเครื่องหมายดอกจันหรือบางอย่างที่คล้ายกัน ดีที่สุดในการค้นหาคำทั้งหมดเท่านั้นเช่นกัน

สำหรับรายการคำนั้นเป็นเรื่องง่าย: http://www.google.co.th/search?q=profanity+word+list

โปรดจำไว้ว่ามันไม่จำเป็นต้องรวมทุกอย่างเพียงแค่ต้องเป็นตัวแทนของความพยายามที่กล้าหาญในส่วนของคุณเพื่อปกป้องเด็ก


1
+1 จะเป็นแนวทางของฉันเช่นกันหลังจากค้นคว้ารายละเอียดว่าคุณต้องทำอะไรเพื่อให้ได้อันดับอายุที่เฉพาะเจาะจง
Oskar Duveborn

5

ฉันจะพยายามใช้วิธีแก้ปัญหาสำหรับบัญชีดำและบัญชีขาวที่คุณสามารถเพิ่ม 'หี' ลงในบัญชีดำและ 'scunthorpe' ลงในรายการที่อนุญาต

ผมไม่เชื่อว่าคุณสามารถที่เคยดำเนินการแก้ปัญหา failsafe ดังนั้นฉันพยายามที่จะได้รับประโยชน์สูงสุดคำว่า "ยอดนิยม" ในพจนานุกรมของคุณและทำให้มันเป็นเรื่องง่ายที่จะเป็นไปได้ที่จะเพิ่มคำใหม่รายการ

สาเหตุของเรื่องนี้คือภาษาโดยเฉพาะภาษาอังกฤษมีวิวัฒนาการอย่างต่อเนื่องและบางสิ่งที่ไม่เหมาะสมมานานหลายทศวรรษอาจกลายเป็นความไม่พอใจในบริบทที่เหมาะสม

พยายามให้ได้คำที่เป็นไปได้มากที่สุดและไปจากที่นั่นมีเวลาตอบสนองอย่างรวดเร็วเมื่อผู้คนบ่นและแสดงว่านี่เป็นข้อกังวลโดยทั่วไปและฉันสงสัยว่าคุณจะมีปัญหาใด ๆ

มันเป็นความคิดที่ดีที่จะรู้ว่าสิ่งที่เป็นแนวทางในการเซ็นเซอร์ในสหรัฐอเมริกา: MBNL! (ฉันไม่ใช่ทนายความ!)


3
แก้ปัญหาในการพัฒนาภาษาคือการกรองตามprefanity
ไซคลอปส์

@Cyclops ชนะ! xD
Jonathan Connell

4

ดังที่ฉันได้แสดงความคิดเห็นการกรองคำที่ไม่เหมาะสมทั้งหมดนั้นยากมาก - แต่คุณสามารถหันกลับมาและใช้รายการที่อนุญาตของคำที่อนุญาต ทำการค้นหาด้วย google ดูเหมือนว่าเกมของเด็ก ๆ จะค่อนข้าง จำกัด สิ่งที่พวกเขาสามารถพิมพ์ลงในรายการได้ ตัวอย่างเช่นLego Universeใช้รายการที่อนุญาต

ยังเห็น: อนุญาตรายการสำหรับการเล่นเกมแชท และโปรดทราบว่าบัญชีขาวสามารถถูกหลีกเลี่ยงได้ ไม่มีวิธีแก้ปัญหาที่รับประกันได้

พิจารณาว่าจะเป็นสำหรับเด็กเล็กและการสะกดคำผิดพลาดอาจเป็นปัญหา - ขึ้นอยู่กับอินเตอร์เฟซที่ลูกค้าคุณอาจพิจารณาคำอัตโนมัติเสร็จ ในขณะที่ผู้เล่นเริ่มพิมพ์ตัวอักษรเสนอรายการคำที่เป็นไปได้และให้พวกเขาเลือกคำที่ถูกต้อง


ความคิดที่ดีแม้ว่ามันจะดูแปลกสำหรับฉันในเกมสำหรับเด็กเล็กที่อาจสะกดผิด นอกจากนี้ยังอาจขัดขวางการพัฒนาตนเองจากขอบเขตของสิ่งที่มีอยู่ในรายการที่อนุญาต
Jonathan Connell

@ 3nixios ฉันเห็นว่ามันมีปัญหา แต่ทำทุกวิถีทาง :) การแก้ไขปัญหาการสะกดคำอย่างหนึ่งคือ - รอฉันควรเพิ่มมันไว้ในโพสต์ของฉัน :)
ไซคลอป

+1: สิ่งนี้จะปลอดภัยกว่านี้มาก แต่อย่างที่ @ 3nixios: บอกว่ามันจะเป็นอุปสรรคต่อการพัฒนาหรือมันจะเป็นรายการที่ใหญ่มากและเวลาในการประมวลผลจะเพิ่มขึ้นใช่ไหม?
Naveen

@yetanothercoder ขึ้นอยู่กับประเภทของลูกค้า (ฉันถือว่า html / javascript) คุณสามารถดาวน์โหลดรายการคำที่ถูกต้องล่วงหน้าและตรวจสอบในไคลเอนต์ สิ่งนี้จะไม่ทำให้เซิร์ฟเวอร์ช้าลง (ในทางทฤษฎีอาจถูกบายพาสโดยโปรแกรมเมอร์อัจฉริยะ) ใช่มันทำงานได้มากกว่า - อีกครั้งไม่มีวิธีแก้ปัญหาง่ายขอโทษ ทุกอย่างขึ้นอยู่กับความเสี่ยงที่ยอมรับได้
ไซคลอป

1
@ ไซคลอปส์สำหรับเกมสำหรับเด็กนี่อาจเป็นทางออกที่ยอมรับได้หากคุณพิจารณาให้เด็ก ๆ เล่นเท่านั้น น่าเสียดายที่การตรวจสอบฝั่งไคลเอ็นต์จะหมายถึง 'คนเลว' สามารถพูดสิ่งที่เขาชอบกับผู้เล่นคนอื่น ๆ
Jonathan Connell

4

มีคำตอบจากโปรแกรมเมอร์อธิบายระบบเดียวสำหรับการสร้างตัวกรองคำหยาบ เขาไม่ได้อธิบายว่าเขาสร้างมันในรายละเอียดได้ดีเพียงใด แต่ควรจะเพียงพอที่จะรับแนวคิดในการนำไปใช้


4

นี่เป็นปัญหาที่แก้ไขได้ดีที่สุดโดยมนุษย์และการออกแบบทางสังคมมากกว่าเป็นรหัส

แหล่งข้อมูลที่ดีที่สุดของคุณสำหรับรายการที่ครบถ้วนสมบูรณ์เป็นมนุษย์สดที่มีอยู่ในเกมและตรวจสอบสตรีมแชท ให้ผู้คนในเกมของคุณและปล่อยให้พวกเขาเป็นสุดยอดตัวกรองของคุณ

ใช้เวลาสำรวจความคิดและปรัชญาของ Lane Merrifield ที่อยู่เบื้องหลัง Club Penguin และการให้บริการ ที่นี่มีงานเขียนสองรายการจากงานนำเสนอของเขาที่ Austin GDC ในปี 2008 ฉันเห็นและจำได้ว่าประทับใจในสไตล์ของเขาในการแก้ปัญหามนุษย์กับมนุษย์ไม่ใช่รหัส

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 หรือ MANIPULATE อัลกอริทึม ในที่สุดแม้ว่ามนุษย์ 'มันที่จะทำถูกต้อง
ทิมโฮลท์

3

วิธีแก้ไขปัญหาอย่างง่าย ๆ :

  1. ลบช่องว่างและเครื่องหมายวรรคตอนทั้งหมดออกจากอินพุตของคุณ
  2. ทุกอย่าง Blacklist ในเมืองพจนานุกรม
  3. บัญชีดำโฮโมโฟนทั้งหมด ฯลฯ
  4. บัญชีดำทุกสิ่งที่สามารถใช้เป็น euphamism
  5. เขียนซอฟต์แวร์ของคุณเพื่อทำความเข้าใจกับเนื้อหาความตั้งใจและโทนของสิ่งที่เหลืออยู่
  6. ทิ้งเกมและออกสู่ตลาดด้วยการสร้างอารมณ์และรอบรู้จากขั้นตอนที่ 5

6
โทรศัพท์homo lolololol
Jonathan Connell

3
นี่คือผลลัพธ์สุดท้ายของนักสแปมเมอร์แคปต์ตัวแก้ไขและตัวกรองสแปม: เซนไทน์ AI ที่ต่อสู้เพื่อควบคุมโลก: ฝ่ายหนึ่งพยายามขายไวอากร้าและอีกฝ่ายพยายามปกป้องมนุษยชาติ หม้อแปลงมาก :-)
Zan Lynx

3

MMO สำหรับเด็กบางคนเพียงแค่แทนที่การแชทด้วยรายการ emotes และวลีที่กำหนดไว้ล่วงหน้าและไม่อนุญาตให้แชทแบบฟรีฟอร์ม บางทีเกมอาจถูกออกแบบมาเพื่อรองรับ

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.