多層聊天檢測和分類的制作方法
【專利摘要】本發(fā)明公開多層聊天檢測和分類。這里呈現(xiàn)的實施例提供一種計算機實現(xiàn)的方法的系統(tǒng)、方法和制品,來監(jiān)視在在線多用戶環(huán)境中交互的用戶。對于由用戶在會話期間發(fā)送的每條消息,通過第一分類器確定所述消息對于所述在線多用戶環(huán)境是可接受的還是不可接受的。如果滿足針對用戶的會話的觸發(fā)條件,就通過第二分類器確定是否將所述會話上報至仲裁人以供復查。
【專利說明】多層聊天檢測和分類
【技術領域】
[0001]本發(fā)明總體涉及有效地將聊天分類為可接受的或者不可接受的,以保護在線環(huán)境中訪客的安全。
【背景技術】
[0002]在線聊天可以指因特網(wǎng)(Internet)上提供基于文本的消息從發(fā)送者到接收者的直接實時傳輸?shù)娜魏畏N類的通信。在線聊天可以是點到點的通信或者從一個發(fā)送者到一個或多個接收者的多播通信。聊天可以是在線社區(qū)、論壇、web會議服務或者各種其他在線的、基于文本的通信中任何一種通信的特征。
[0003]許多在線社區(qū)具有規(guī)則或者規(guī)定以在聊天會話中避免誤解以及簡化用戶之間的通信。這些規(guī)定隨著社區(qū)的變化而變化。這些規(guī)定希望保護社區(qū)和它們的訪客免受欺凌、猥褻的行為、騷擾、暴力、和眾多不希望或者不恰當?shù)幕顒?。多?shù)聊天社區(qū)監(jiān)視在線聊天以確保其符合這些規(guī)定。仲裁人具有這樣的任務:監(jiān)視聊天以確定具體聊天消息的內(nèi)容,從而查明用戶是否違反了社區(qū)規(guī)定。由于多數(shù)在線社區(qū)中聊天的數(shù)量的原因,監(jiān)視者直接監(jiān)視所有聊天通信是不現(xiàn)實和昂貴的。
[0004]經(jīng)常使用軟件來過濾可能是冒犯的并且可能需要仲裁人進一步審查的聊天。最常用以監(jiān)視聊天的軟件過濾器是貝葉斯(Bayesian)過濾器。貝葉斯過濾器的工作是通過使用對人類創(chuàng)建的符記(token)字典的直接匹配來計算不恰當?shù)牟⑶冶粯酥疽怨┲俨萌诉M一步檢查的聊天的概率。這些符記通常是字、短語或者其他類別。這具有易于預測和易于直接管理的優(yōu)點,但卻損失了準確度和效率。此過濾器不能夠區(qū)別某些術語或短語的良性使用與其他對這些相同術語或短語的更不恰當?shù)氖褂?。由于很多短語具有多個或者隱藏的含義,此過濾器謹慎地向仲裁人傳遞這些聊天消息。很有可能在聊天會話期間的某一時間點上,多數(shù)用戶將說出一些話,這些話將會觸發(fā)聊天過濾器標記聊天消息并且向仲裁人通知該活動。加上來自聊天過濾器的誤報發(fā)言的數(shù)目,仲裁人很快就被復查聊天會話的請求淹沒。
[0005]聊天仲裁人被請求確定與特定訪客聊天會話相關聯(lián)的許多聊天語句的意圖。通常這涉及閱讀聊天會話的相當一部分歷史。仲裁人必須確定在會話中作出該聊天的訪客的意圖以及該聊天會話是“惡意的并且不可接受”還是“惡意的但是可接受”。最終仲裁人必須確定觸發(fā)復查的聊天會話是否應該被忽視,或者是否應該對訪客賬號采取某些動作。整個過程極大地依賴于仲裁人的干預。仲裁人的干預對公司的人力施加了巨大的負擔,代價昂貴。當前的過濾技術需要被提升從而只對仲裁人上報確實違反社區(qū)規(guī)定并且與可能犯了小錯并將被原諒的聊天會話相反的不可接受的聊天會話。
【發(fā)明內(nèi)容】
[0006]這里呈現(xiàn)的實施例包括一種用于監(jiān)視在在線多用戶環(huán)境中交互的用戶的方法。該方法一般可以包括:對于由第一用戶在會話期間發(fā)送的每條消息,通過第一分類器確定將所述消息標注為對于在線多用戶環(huán)境是可接受的還是不可接受的。如果滿足針對用戶的會話的觸發(fā)條件,確定是否將所述會話上報至仲裁人以供復查。
[0007]其他實施例包括但不限于:一種計算機可讀介質,其包括使得處理單元能夠實現(xiàn)本公開方法的一個或多個方面的指令;以及被配置為實現(xiàn)本公開方法的一個或多個方面的具有處理器、存儲器和應用程序的系統(tǒng)。
【專利附圖】
【附圖說明】
[0008]為使得以上記載的方面被獲得并且能夠被詳細地理解,上文簡要概括的、本發(fā)明的實施例的更加具體的描述可以通過參考附圖來得到。
[0009]然而要注意的是,附圖僅示出了本發(fā)明的典型實施例,并且因此不應被認為是對本發(fā)明范圍的限制,因為本發(fā)明可以準許其它等同有效的實施例。
[0010]圖1示出了根據(jù)本公開的某些實施例的聊天環(huán)境的示例。
[0011]圖2示出了根據(jù)本公開的某些實施例的多級聊天檢測和分類系統(tǒng)的示例概述。
[0012]圖3示出了根據(jù)本公開的某些實施例的聊天服務器計算系統(tǒng)的示例。
[0013]圖4示出了根據(jù)本公開的某些實施例的用于級別零聊天檢測和分類的方法。
[0014]圖5示出了根據(jù)本公開的某些實施例的用于級別一聊天檢測和分類的方法。
[0015]圖6示出了根據(jù)本公開的某些實施例的用于級別二聊天檢測和分類的方法。
[0016]圖7是根據(jù)本公開的某些實施例為分類器提供對訓練數(shù)據(jù)的更新的方法。
[0017]圖8是根據(jù)本公開的某些實施例的用于訓練級別一聊天分類器的方法。
[0018]圖9是根據(jù)本公開的某些實施例的用于訓練級別二聊天分類器的方法。
[0019]圖10示出了根據(jù)本公開的某些實施例的訓練級別二聊天分類器的示例。
【具體實施方式】[0020]鍵
[0021]這里呈現(xiàn)的實施例提供用于評估是否將聊天會話上報給聊天社區(qū)的仲裁人的技術??梢允褂枚鄠€分類器將聊天會話分類。在一個實施例中,第一級別分類器評估個體的聊天消息。例如,第一分類器可以確定是將聊天會話中的每個個體消息評為“不可接受的”還是“可接受的”。一旦被評定,聊天會話可以被監(jiān)視其是否滿足觸發(fā)條件。例如,在會話中具有最小數(shù)目的聊天消息之后,聊天消息不可接受與可接受的比例可以觸發(fā)聊天會話向第二分類器的上報。第二分類器評估“不可接受的”消息的匯總以確定聊天會話是否應該被仲裁人復查(或者,盡管包含一些被第一分類器標注為“不可接受的”消息,聊天會話是否是仲裁人在復查之后可能不會采取任何行動的會話)。觸發(fā)器還可以是不恰當聊天消息的數(shù)量或者總數(shù)、特別惡意的聊天消息、或者其他可能性。這種方式減少了被仲裁人上報的會話的數(shù)目并且?guī)椭玫刈R別被準予某一仲裁人動作的聊天會話。
[0022]在一個實施例中,分類器是貝葉斯過濾器。貝葉斯過濾器通過將符記的使用與不恰當?shù)牧奶爝M行關聯(lián)來工作。這些符記可以是字、二元字組、三元字組、大寫形式的存在或位置、奇怪的標點符號、混合字符、或者眾多其他表示。貝葉斯分類器可以被訓練為:根據(jù)出現(xiàn)于聊天消息中的、所辨認的不恰當內(nèi)容的數(shù)量,辨認聊天消息為不可接受的概率。不恰當?shù)南⒖梢陨婕膀}擾、欺凌、暴力、修整、或者其他各種不恰當?shù)男袨?對于在線通信或者其他通信而言)。[0023]貝葉斯分類器被訓練來辨認什么是恰當?shù)男袨?,什么不是恰當?shù)男袨椋瑥亩狗诸惼髯兊糜行?。善意聊天與惡意聊天的比例被用于提供級別一分類器的初始訓練。針對善意和惡意訓練集中的每個特征計算條件概率。例如,經(jīng)過訓練后,短語hello (喂)可能有42%的概率為不可接受的聊天消息的一部分。短語“up your”(去你的)可能有72%的概率為不可接受的聊天消息的一部分。這些概率僅僅作為示例而實際的概率將取決于所供應的訓練數(shù)據(jù)集。
[0024]使用先前被仲裁人復查的聊天會話來訓練級別二貝葉斯分類器。在這種情形下,會話可以被標注為需要(或者不需要)仲裁人干預的會話。這么做使得聊天會話的歷史能夠提供什么應該被仲裁人復查的積極和消極的示例。在一個實施例中,這樣標注的聊天會話被供應給級別一分類器,該分類器對會話中的每個聊天消息指派一個“可接受的”或者“不可接受的”的評定。被標注為“不可接受的”的聊天消息的集合提供積極或者消極的訓練示例(取決于仲裁人在復查給定的會話之后是否采取動作)。注意,在訓練第二分類器的過程中被評定為“不可接受的”那些聊天消息的用處為:在不產(chǎn)生不必要的偏見的同時,提供聊天有多惡意或者多不恰當?shù)臏y量。就是說,雖然所有被復查的聊天會話可能包括一些被標注為“不可接受的”消息,并不是所有的會話被仲裁人進行動作。通過使用給定的聊天會話中的那些“不可接受的”消息,級別二分類器可以被訓練以在仲裁人的干預之前確定聊天會話意欲有多惡意。一旦被訓練,級別二分類器可以將聊天會話評估為需要向仲裁人上報的會話或者不需要仲裁人復查的會話。
[0025]下面,參考本發(fā)明的實施例。然而,應當理解本發(fā)明不限于具體描述的實施例。取而代之,無論是否涉及不同的實施例,以下特征和元素的任何組合被構想來實現(xiàn)并實踐本發(fā)明。此外,盡管本發(fā)明的實施例相對于其它可能的解決方案和/或現(xiàn)有技術可以獲得優(yōu)點,但是,是否通過給定實施例來獲得特定優(yōu)點不是對本發(fā)明的限制。因而,以下的方面、特征、實施例和優(yōu)點僅僅是說明性的并且除非在(一個或多個)權利要求中明確記載,否則不被認為是所附權利要求的元素或限制。同樣地,對“本發(fā)明”的引用不應理解為是對這里公開的任何創(chuàng)建性主題的概括并且除非在(一個或多個)權利要求中明確記載,否則不應認為是所附權利要求的元素或限制。
[0026]如本領域技術人員將理解的那樣,本發(fā)明的方面可被體現(xiàn)為系統(tǒng)、方法或者計算機程序產(chǎn)品。于是,本發(fā)明的方面可以采取整個硬件實施例、整個軟件實施例(包括固件、駐留軟件、微代碼等等)或者組合了軟件與硬件方面的實施例的形式,軟件和硬件方面在這里可總體地稱為“電路”、“模塊”或者“系統(tǒng)”。此外,本發(fā)明的方面可以采取在一個或多個計算機可讀介質(在其上具有計算機可讀程序代碼)中體現(xiàn)的計算機程序產(chǎn)品的形式。
[0027]可以使用一個或多個計算機可讀介質的任何組合。計算機可讀介質可以是計算機可讀信號介質或計算機可讀存儲介質。計算機可讀存儲介質可以是例如(但不限于)電、磁、光、電磁、紅外或半導體的系統(tǒng)、裝置或設備或者前面的任何合適組合。計算機可讀存儲介質的更具體示例(非窮盡列表)包括以下項:具有一條或多條線的電連接、便攜式計算機磁盤、硬盤、隨機存取存儲器(RAM)、只讀存儲器(ROM)、可擦除可編程只讀存儲器(EEPROM或閃存)、光纖、便攜式致密盤只讀存儲器(CD-ROM)、光存儲設備、磁存儲設備或者前面的任何合適組合。在本文的上下文中,計算機可讀存儲介質可以是可包含或存儲供指令執(zhí)行系統(tǒng)、裝置或設備使用或者與指令執(zhí)行系統(tǒng)、裝置或設備結合使用的程序的任何有形介質。[0028]計算機可讀信號介質可以包括例如基帶中的或者作為載波一部分的其中含有計算機可讀程序代碼的傳播數(shù)據(jù)信號。這樣的傳播信號可以采取多種形式中的任何形式,包括但不限于電磁、光或其任何合適組合。計算機可讀信號介質可以是任何計算機可讀介質,這些可讀介質不是計算機可讀存儲介質并且可以傳送、傳播或輸送供指令執(zhí)行系統(tǒng)、裝置或設備使用的或與指令執(zhí)行系統(tǒng)、裝置或設備結合使用的程序。
[0029]可以利用任何適當?shù)慕橘|來發(fā)送包含在計算機可讀介質上的程序代碼,這些適當?shù)慕橘|包括但不限于:無線、有線、光線電纜、RF等等,或者前面的任何合適組合。
[0030]可以以一種或多種編程語言的任何組合來編寫用于執(zhí)行本發(fā)明各方面的操作的計算機程序代碼,所述一種或多種編程語言包括諸如Java、Smalltalk、C++等的面向對象的編程語言以及諸如“C”編程語言或類似編程語言之類的傳統(tǒng)進程編程語言。程序代碼可以作為獨立軟件包整個在用戶的計算機上、部分地在用戶的計算機上運行,或者部分在用戶的計算機上部分在遠程計算機上運行,或者整個在遠程計算機或服務器上運行。在后一種場景中,遠程計算機可通過任何類型的網(wǎng)絡(包括局域網(wǎng)(LAN)或廣域網(wǎng)(WAN))連接到用戶的計算機,或者可以進行到外部計算機的連接(例如,利用因特網(wǎng)服務提供商通過因特網(wǎng))。
[0031]下面參考根據(jù)本發(fā)明實施例的方法、裝置(系統(tǒng))和計算機程序產(chǎn)品的流程圖圖示和/或框圖來描述本發(fā)明的各方面。將知道,流程圖圖示和/或框圖的每個塊以及流程圖圖示和/或框圖中塊的組合可以通過計算機程序指令來實現(xiàn)。這些計算機程序指令可以被提供給通用計算機、專用計算機或者其它可編程數(shù)據(jù)處理裝置的處理器,以產(chǎn)生一種機器,從而使得經(jīng)由計算機或其它可編程數(shù)據(jù)處理裝置的處理器執(zhí)行的指令創(chuàng)建用于實現(xiàn)一個或多個流程圖和/或框圖塊中指定的功能/動作的裝置。
[0032]這些計算機程序指令還可以被存儲在計算機可讀介質中,該可讀介質可以指導計算機、其它可編程數(shù)據(jù)處理裝置或其它設備以特定方式作用,以使得存儲在計算機可讀介質中的指令產(chǎn)生制造品,該制造品包括實現(xiàn)一個或多個流程圖和/或框圖塊中指定的功能/動作的指令。
[0033]計算機程序指令還可以被加載到計算機、其它可編程數(shù)據(jù)處理裝置或其它設備上以使得一系列操作步驟在計算機、其它可編程裝置或其它設備上被執(zhí)行,來產(chǎn)生計算機實現(xiàn)的處理,從而使得在計算機或其它可編程裝置上執(zhí)行的指令提供用于實現(xiàn)一個或多個流程圖和/或框圖塊中指定的功能/動作的處理。
[0034]可以通過云計算基礎設施向終端用戶提供本發(fā)明的實施例。云計算一般指將可擴展的計算資源配設為網(wǎng)絡上的服務。更正式地,云計算可以被定義為一種提供計算資源和其底層技術架構(例如,服務器、存儲裝置、網(wǎng)絡)之間的抽象的計算能力,使能對可配置的計算資源的共享池的方便、按需的網(wǎng)絡訪問,該可配置的計算資源可以在最小的管理勞動或服務提供商互動下被快速地配設和釋放。因而,云計算使得用戶能夠在“云”中訪問虛擬的計算資源(例如,存儲、數(shù)據(jù)、應用以及甚至完全虛擬化的計算系統(tǒng)),而不需要考慮被用來提供這些計算資源的底層物理系統(tǒng)(或者這些系統(tǒng)的位置)。
[0035]通常,云計算資源以使用付費的方式向用戶提供,其中用戶只被收取實際使用的計算資源(例如,用戶或者用戶例示的若干虛擬化系統(tǒng)消費的存儲空間的量)的費用。用戶可以通過網(wǎng)絡在任何時間并且從任何地方訪問居于云中的任何資源。在本發(fā)明的上下文中,用戶可以訪問云中可用的應用(例如,聊天社區(qū))或者相關的數(shù)據(jù)。例如,聊天分類引擎可以在云中的計算系統(tǒng)上執(zhí)行并且提供對聊天的多層檢測和分類。在這種情形下,聊天分類引擎可以將用戶聊天消息分類并且將已分類的聊天會話存儲在云中的存儲位置處。這么做使得用戶可以從依附于連接到云的網(wǎng)絡(例如,因特網(wǎng))的任何計算系統(tǒng)中訪問此信息。
[0036]附圖中的流程圖和框圖示出了根據(jù)本發(fā)明的各種實施例的系統(tǒng)、方法和計算機程序產(chǎn)品的可能實現(xiàn)的架構、功能和操作。就此而言,流程圖和框圖中的每個塊可以代表一個模塊、區(qū)段或者部分代碼,該部分代碼包括用于實現(xiàn)(一個或多個)具體邏輯功能的一個或多個可執(zhí)行指令。還應當注意:在一些替換的實現(xiàn)中,塊中標示的功能可以不以圖中標示的順序發(fā)生。例如,顯示為連續(xù)的兩個塊實際上可以基本同時被執(zhí)行,或者依據(jù)所涉及到的功能,有時塊可以被逆序或者亂序地執(zhí)行。還要注意,框圖和/或流程圖圖示的每個塊以及框圖和/或流程圖圖示中塊的組合可以通過如下方式實現(xiàn):執(zhí)行特定的功能或者行為的基于專用硬件的系統(tǒng),或者專用硬件與計算機指令的組合。
[0037]圖1示出了根據(jù)本發(fā)明的一個實施例的交互式在線環(huán)境的示例。如圖所示,聊天環(huán)境100包括網(wǎng)絡160,其連接服務器計算系統(tǒng)105、客戶端計算機140和150以及移動設備125。服務器計算系統(tǒng)105具有web服務器120、多用戶環(huán)境應用115以及數(shù)據(jù)庫110。客戶端計算機150具有web瀏覽器155,并且客戶端計算機140具有諸如視頻游戲145之類的客戶端應用。移動設備125具有聊天應用135和移動瀏覽器130。
[0038]如圖所示,客戶端計算機150在諸如因特網(wǎng)之類的網(wǎng)絡160上經(jīng)由web瀏覽器155在聊天會話中通信。聊天會話是依附于數(shù)據(jù)庫Iio的、并由服務器計算系統(tǒng)105上的web服務器120主持的多用戶環(huán)境應用115的一部分。還如圖1中所示,客戶端計算機140執(zhí)行諸如視頻游戲145之類的客戶端應用來參與在服務器計算系統(tǒng)105上主持的多用戶環(huán)境應用115。在另一示例中,移動設備125可以使用聊天應用135或者移動瀏覽器130來參與在服務器計算系統(tǒng)105上主持的聊天會話。所選取的聊天環(huán)境100是用戶在聊天社區(qū)中參與的多種可能的聊天環(huán)境的一個小的說明示例。聊天環(huán)境100和多層聊天檢測和分類可以在平板或者其他設備上運行。
[0039]圖2示出了用于根據(jù)本發(fā)明的一個實施例的多層聊天檢測和分類系統(tǒng)200的示例分類引擎210。分類引擎210具有級別零聊天分類器215、級別一聊天分類器220 (或者更簡單地,第一分類器)以及級別二聊天分類器225 (或者第二分類器)。在一個實施例中,第一分類器220和第二分類器225為貝葉斯過濾器。分類引擎210接收聊天消息205并且第一分類器220確定將個體的聊天消息標注為可接受的聊天230還是不可接受的聊天235。而第二分類器225確定聊天會話是否應該上報至仲裁人以進一步復查。
[0040]級別零聊天分類器215確定進入分類引擎210的、到來的聊天205是否包含某些黑名單項目。黑名單項目使得級別零聊天分類器215向仲裁人上報不可接受的聊天235。不包含黑名單上的關鍵字的聊天消息被路由到通過級別一聊天分類器220分類。被級別一聊天分類器220標注為可接受的聊天消息被輸出為可接受的聊天230。被級別一聊天分類器220發(fā)現(xiàn)不可接受的聊天被輸出為不可接受的聊天235。如果有觸發(fā)事件,聊天會話被導向級別二聊天分類器225。級別二聊天分類器225確定包含被級別一聊天分類器220分類的聊天消息的聊天會話是否應該被上報至仲裁人。就是說,級別一分類器220尋找聊天消息的元素以確定為“惡意”聊天消息的概率。如果達到閾值,級別二聊天分類器225確定此聊天會話的概率,或者更具體地,該會話中被級別一聊天分類器220分類為不可接受的聊天消息為應該被仲裁人復查的聊天會話的概率。
[0041]圖3示出了根據(jù)一個實施例的聊天服務器計算系統(tǒng)300的示例。如圖所示,服務器計算系統(tǒng)305包括CPU (中央處理單元)350、NIC (網(wǎng)絡接口卡)355、GPU (圖形處理單元)360、存儲器330、存儲裝置310和總線375。服務器計算系統(tǒng)305被連接到顯示器370和輸入/輸出(I/O)設備365。服務器計算系統(tǒng)305被包括以代表多種計算系統(tǒng),包括例如塔式服務器、機架式服務器、桌面計算機、膝上型計算機、平板、操縱臺游戲系統(tǒng)(console gamesystem)或者能夠向其他設備提供聊天服務的多種其他的計算設備??梢栽陲@示設備370(例如,IXD、LED或者CRT顯示屏)上查看聊天服務,并且可以使用輸入設備365 (例如,鍵盤、鼠標和/或控制器)來控制聊天服務。
[0042]CPU350和GPU360是執(zhí)行指令、邏輯和數(shù)學處理的可編程邏輯設備,并且它們可以代表一個或多個CPU或GPU、多核CPU或GPU等等。存儲器330代表充分大的足夠保存以下各項的任何存儲器,這些項包括多用戶虛擬環(huán)境應用347、聊天程序335、web服務器337、聊天分類引擎345和多個用戶會話容器340。聊天分類引擎345是如圖2中所示的相同的聊天分類引擎210。web服務器337是如圖1中所示的相同的web服務器110。存儲器330可以是一個存儲設備或者多個存儲設備的組合,包括隨機存取存儲器(例如,DRAM模塊)、非易失性或者備份存儲器(例如,可編程存儲器或閃存、只讀存儲器等等)。
[0043]存儲裝置310存儲供聊天分類引擎345使用的數(shù)據(jù)庫320和應用程序。存儲裝置310被包括以代表:硬盤驅動器、固態(tài)驅動器(SSD)、閃存設備、光媒介(例如,⑶/DVD/Blu-Rav盤)等等。存儲設備可以是計算設備305的內(nèi)部或者諸如NAS、SAN、云或其他存儲環(huán)境之類的外部設備。如圖所示,數(shù)據(jù)庫320包括訓練數(shù)據(jù)325、測試數(shù)據(jù)326、聊天容器328以及標注為二元字組和三元字組327的字庫。
[0044]在一個實施例中,用戶正在參與多用戶虛擬環(huán)境應用347。多用戶虛擬環(huán)境(MUVE) 347是基于多媒體的娛樂的普遍形式并且不僅可以在在線游戲中發(fā)現(xiàn)MUVE347,還可以在用戶論壇中發(fā)現(xiàn)MUVE347,并且MUVE347還支持學習。MUVE347通常是某一種類的虛擬世界。人們創(chuàng)建了用戶身份,當他們登入服務器時可以使用這種用戶身份。MUVE347可以針對人群、特定的興趣、或者甚至是不明確的。MUVE應用347經(jīng)由聊天程序335向訪客供給聊天服務。例如,用戶可以通過鍵入MUVE應用347的聊天界面來啟動聊天會話。在聊天會話中,用戶交換消息。大部分時間,消息是恰當?shù)摹H欢?,有時消息是不恰當?shù)?。例如,在某些情形中人們將變得卑劣。但是在其他情形中,可能會發(fā)送更嚴重或者麻煩的消息。這些更嚴重或者麻煩的消息是分類器被配置為要上報的消息。聊天程序335將已輸入的聊天消息送往被聊天分類引擎345獲得的用戶會話容器340。聊天分類引擎345通過聊天分類器的層次將聊天會話分類以確定用戶會話容器340的聊天會話是否應該被上報至仲裁人。對于由級別二聊天分類器上報的聊天會話,仲裁人確定聊天會話是否是可接受的或者是否應該相對于給定用戶采取某一動作。會話容器340中的聊天會話被保存在聊天容器328中。在一個實施例中,級別一和級別二分類器是貝葉斯過濾器。貝葉斯過濾器需要訓練來有效地分類文本。在存儲裝置310中作為訓練數(shù)據(jù)325和測試數(shù)據(jù)326存儲的聊天會話被用于訓練分類器。訓練數(shù)據(jù)來自MUVE的聊天會話。聊天被手動地分為“可接受的”或者“不可接受的”消息的分類的示例以用于訓練級別一分類器。使用先前由仲裁人復查的聊天會話來訓練級別二分類器。更具體地,在一個實施例中,來自需要仲裁人干預的會話的聊天消息被級別一分類器評估。被級別一分類器標注為“不可接受的”消息的結果集合提供訓練示例。相反地,來自被仲裁人復查的但是其中仲裁人沒有采取行動的會話的聊天消息可以用于建立訓練示例。具體地,來自這樣會話的聊天消息可以被級別一分類器評估并且標注“不可接受的”的結果聊天消息提供消極的訓練示例。訓練數(shù)據(jù)有積極和消極的示例,這使得級別二分類器能夠在準予仲裁人復查的聊天會話和雖然具有某些被分類為“不可接受的”消息但是不需要仲裁人干預的聊天會話之間進行區(qū)分。
[0045]圖4示出了根據(jù)本發(fā)明的一個實施例的、用于向仲裁人上報不可接受聊天的方法400。級別零聊天檢測和分類代表用于評估用戶聊天消息的初始例外條款。就是說,級別零聊天分類器可以對應該總是接收來自仲裁人的某一注意或動作的字和短語進行模式匹配。如圖所示,該方法開始于步驟410,其中用戶進入聊天會話并且開始在MUVE應用347中通過聊天程序與其他用戶通信。在一個實施例中,當用戶進入聊天會話時,聊天分類引擎創(chuàng)建聊天容器(步驟415)。聊天容器捕獲所有的聊天會話活動。隨著聊天容器為聊天會話建立歷史記錄,級別零分類器評估到來的聊天。聊天與黑名單相比較,以確定聊天消息是否包含黑名單的詞語或者短語(步驟420)。如果包含,聊天會話被上報至仲裁人以進一步復查(步驟425)。通過立即向仲裁人上報特別惡意或者不可接受的聊天,級別零分類器在聊天多重過濾過程中提供了早期的逃脫機制。另外,如果聊天消息不包含黑名單上的詞語或者N元字組,聊天消息被送往級別一聊天分類器進行進一步評估(步驟430)。例如,檢查二十五個字的聊天消息來看它是否包含任何來自黑名單的N元字組。若該聊天消息包含來自黑名單的N元字組,聊天會話被立即上報至仲裁人。
[0046]圖5示出了根據(jù)本發(fā)明的一個實施例的用于將個體聊天消息中的元素分類的方法500。該方法開始于步驟505,其中級別一聊天分類器接受在用戶聊天會話中生成的聊天消息(步驟510)。在一個實施例中,基于關鍵字或者符記的呈現(xiàn),級別一分類器對聊天消息為不恰當?shù)目赡苄宰鞒龈怕市缘拇_定。針對聊天消息為不恰當?shù)母怕市源_定被存儲為聊天會話中聊天消息的分類(步驟515)。在一個實施例中,貝葉斯分類器確定聊天消息是“惡意的”或者“不可接受的”。例如,級別一聊天分類器將對于包含咒罵或者性暗示并且符合在惡意聊天中統(tǒng)計發(fā)現(xiàn)的內(nèi)容的閾值的聊天消息指派其為“惡意的”聊天的高概率。這樣的聊天消息將被分類為“不可接受的”。
[0047]聊天消息通過級別一聊天分類器并且針對觸發(fā)條件而被監(jiān)視。聊天消息被檢查以確定被分類為恰當?shù)牧奶斓牧奶煜⒌臄?shù)目以及被分類為不恰當?shù)牧奶斓牧奶煜⒌臄?shù)目。惡意的聊天對善意的聊天的比例與閾值數(shù)值進行比較。如果該數(shù)值在可接受的級別之上(步驟525),聊天會話被上報至級別二聊天分類器(步驟535)。例如,假設聊天容器具有400個語句被分類為不可接受的聊天消息以及400個語句被分類為可接受的聊天消息。在這樣的情形中,惡意的聊天對善意的聊天的比例將等于1:1。閾值數(shù)值可以指示這個比例太高。如果做出這樣的確定,聊天分類引擎向級別二分類器上報用戶聊天會話。在另一實施例中,閾值數(shù)值可以是相當?shù)偷摹T诹硪粚嵤├?,閾值?shù)值可以取決于聊天的語句數(shù)。閾值數(shù)值代表仲裁人想要容忍的已分類的聊天的數(shù)目。本領域的普通技術人員可以推測比例閾值數(shù)值可以是其選擇的任何關系。
[0048]單一聊天會話可以包含數(shù)以千計的聊天消息。在步驟530中,監(jiān)視應用確定聊天會話中惡意語句的總數(shù)是否超出閾值數(shù)值。這么做阻止用戶在更大數(shù)目的可接受消息中隱藏很大數(shù)目的惡意的聊天消息。閾值數(shù)值可以指示:不恰當聊天的數(shù)量太多了。在步驟530中,當不恰當聊天消息的計數(shù)超出不可接受聊天的閾值數(shù)值時,聊天會話被上報至級別二聊天分類器(步驟535)。注意,方法500所示出的用于評估聊天的過程是動態(tài)的。只要被確定為具有很高的“不恰當?shù)摹备怕实牧奶煜⒌臄?shù)量低于閾值,聊天會話就繼續(xù)由級別一聊天分類器進行處理(步驟510)。
[0049]例如,假設聊天分類引擎具有1:3的閾值比例以及200條惡意聊天的閾值。包含1000條聊天語句的聊天會話可以具有200條被分類為不恰當?shù)牧奶煜⒑?00條被分類為恰當?shù)恼Z句。1:4的不恰當對恰當?shù)谋壤强山邮艿?。然而,用戶已?jīng)發(fā)布了 200條被級別一聊天分類器分類為不可接受的聊天消息。因此,該聊天會話被從級別一聊天分類器上報至級別二聊天分類器。在另一實施例中,閾值數(shù)值可以是相當?shù)偷摹T诹硪粚嵤├?,閾值?shù)值可以更高。在另一實施例中,聊天數(shù)值可以取決于聊天消息的數(shù)目。本領域的普通技術人員可以知道,惡意聊天閾值數(shù)值的數(shù)量可以是其選取的任何關系。
[0050]圖6示出了根據(jù)本發(fā)明的一個實施例的用于使用級別二聊天分類器分類聊天會話的方法600。該方法開始于步驟605,其中級別二聊天分類器接收用戶聊天會話和已經(jīng)被級別一聊天分類器分類(即,每個語句被分類為是可接受的或是不可接受的)的聊天消息。在一個實施例中,級別二分類器評估被級別一分類器分類為不可接受的聊天消息。就是說,不像級別一聊天分類器那樣個體地評估聊天消息,級別二聊天分類器評估聊天會話。結果為聊天會話自身是應該被仲裁人復查的會話的分類(或者概率)。在步驟610處,級別二聊天分類器處理聊天會話。級別二聊天分類器評估被級別一分類器分類為惡意的各聊天語句并且作出概率性的確定:作為整體的聊天會話是否是可接受的以及是否應該被上報至仲裁人。
[0051]例如,假設向級別一分類器呈現(xiàn)聊天消息“你好,在地圖上尋找道場嗎? (hellolook up the do jo on the map)”。二兀字組“尋找(look up)” 和字“你好(Hello)” 可能具有較高的概率是不可接受的聊天的一部分。這會發(fā)生是因為級別一分類器發(fā)現(xiàn)在更高的時間百分比中它們是作為與善意聊天相反的惡意聊天的一部分。級別二聊天檢測分類器查找全部聊天會話的特征并且確定聊天會話可接受還是不可接受的概率。在另一實施例中,級別一分類器可以確定:對于聊天消息“你好,在地圖上尋找道場嗎? ”,善意聊天的概率較高。這些概率受分類器的訓練所影響。本領域的普通技術人員能夠看到:結果可以依據(jù)聊天用戶和聊天社區(qū)規(guī)定而改變。
[0052]聊天會話為可接受的概率(步驟615)是從級別二分類的聊天中作出的。如果確定聊天會話有可能是“善意的”或者“可接受的”聊天,那么分類引擎中止對用戶會話聊天容器的上報。如果聊天會話有很高的概率為“惡意的”或者“不可接受的”,那么聊天會話被上報至仲裁人(步驟625)。
[0053]如上所述,級別一分類器評估個體聊天消息是“可接受的”還是“不可接受的”,而且級別二分類器評估聊天會話(即,被標注為“不可接受的”聊天消息的匯總)以確定該聊天會話是否應該被仲裁人復查。另外,可以使用相應的訓練數(shù)據(jù)的集合來訓練每個分類器。對于級別一分類器,訓練數(shù)據(jù)可以包括被手動標記為“可接受的”或者“不可接受的”聊天消息的匯總。例如,已經(jīng)被仲裁人復查的、用戶之間發(fā)送的聊天消息可以用于建立訓練數(shù)據(jù)的集合。相似地,用于級別二分類器的訓練數(shù)據(jù)可以來自被仲裁人復查過的聊天會話。例如,其中仲裁人確定有必要干預的聊天會話可以提供用于級別二分類器的訓練數(shù)據(jù)。在一個實施例中,這樣的聊天會話可以被級別一分類器評估并且被級別一分類器標注為不可接受的個體聊天消息形成用于級別二分類器的訓練示例。
[0054]圖7示出了根據(jù)一個實施例的用于創(chuàng)建訓練數(shù)據(jù)集的方法700。分類引擎接收由仲裁人對其作用的聊天容器(步驟705 )。在復查聊天會話之后,仲裁人可以將某些被級別一分類器標注為“可接受的”或者“不可接受的”聊天消息再次分類。仲裁人還可以評估整個聊天會話是需要(或者不需要)某一仲裁人干預的措施的會話。一旦被如此分類,該消息可以被用于創(chuàng)建額外的訓練示例。分類引擎識別被仲裁人再次分類的聊天消息(步驟715)。被仲裁人再次分類的消息可以被添加到用于訓練級別一分類器的現(xiàn)存訓練數(shù)據(jù)集(例如,被仲裁人手動地分類為“可接受的”或者“不可接受的”消息的原始集合)。訓練數(shù)據(jù)集被用于級別一分類器的再訓練(步驟720)。此外,被級別二分類器上報至仲裁人的聊天會話可以用于創(chuàng)建用于級別二分類器的額外的訓練示例(步驟720)。例如,如果仲裁人在復查上報的聊天會話后采取某一動作,那么該會話可以用于創(chuàng)建額外的積極訓練示例。相反,被級別二分類器上報至仲裁人、但是沒有發(fā)生任何干預的聊天會話可以用于創(chuàng)建額外的消極訓練示例。在兩種情形中,訓練示例是從被級別一分類器分類為“不可接受的”并且被上報至仲裁人的聊天會話中創(chuàng)建的。這樣的聊天會話一旦被仲裁人標記為“可接受的”或者“不可接受的”,則可以被設定為用于級別二分類器的額外訓練示例(步驟735)。
[0055]圖8示出了根據(jù)本發(fā)明的一個實施例的用于訓練級別一分類器的方法800。聊天分類引擎被提供有訓練示例,即被標注為“可接受的”或者“不可接受的”聊天消息(步驟805)。一旦級別一分類器已經(jīng)被訓練過,就使用某些聊天消息來測試該分類器。測試數(shù)據(jù)集包括被仲裁人手動地分類為“可接受的”或者“不可接受的”消息。一旦被訓練,級別一分類器可以評估測試數(shù)據(jù)集以確定它對于測試數(shù)據(jù)集中聊天消息的分類有多準確。訓練數(shù)據(jù)集包括一組被仲裁人分類為不可接受的聊天消息和第二組被仲裁人分類為可接受的聊天消息(步驟815)。
[0056]級別一聊天分類器評估積極的和消極的訓練示例的特征,來創(chuàng)建用于確定未分類消息是“可接受的”還是“不可接受的”的統(tǒng)計模型(步驟830)。就是說,訓練數(shù)據(jù)集使得分類器能夠確定聊天消息的某些元素為可接受的或者不可接受的的統(tǒng)計概率(步驟835)。例如,短語“我的香蕉(my banana)”可以有這樣的統(tǒng)計概率:60%的時間發(fā)生在不可接受的聊天消息中,并且相對的,40%的時間發(fā)生在可接受的聊天消息中。因此,當分類器發(fā)現(xiàn)短語“我的香蕉”時,統(tǒng)計上60%更有可能發(fā)生該短語被用在會被仲裁人分類為不可接受的消息中。同樣的,對諸如gRAPE之類的不常見的大寫以及其中3被用于替代E或者5被用于替代S的奇怪拼寫的使用,通常具有更高的統(tǒng)計概率為在不可接受的聊天中并且被這樣分類。然而,gRAPE可能發(fā)生在用戶開啟大寫鎖定時,而且數(shù)字的使用可能具有可接受的含義。
[0057]可以通過將在分類器的訓練中沒有使用過的測試數(shù)據(jù)運行通過該聊天分類器來檢查聊天分類器的正確性。對相同數(shù)據(jù)集的訓練潛在地可以使得分類器過度擬合。當分類器開始記憶訓練數(shù)據(jù)而不是學習從趨勢中總結時,就會發(fā)生過度擬合。已經(jīng)過度擬合的分類器一般將具有較差的預測性能。就是說,分類器在沒有預測值的情況下試圖分類概要而不是正確地假設他們。因此,使用沒有用于訓練分類器的部分數(shù)據(jù)集來測試該分類器。新近訓練的級別一分類器使用測試數(shù)據(jù)集來計算測試集中具有較高概率為不恰當?shù)牧奶煜⒌陌俜直?步驟840)。對于測試數(shù)據(jù)集的計算結果相對于訓練數(shù)據(jù)集的那些結果進行比較(步驟845)。結果指示了已訓練的分類器能夠多好地預測聊天消息是應該被標注為“可接受的”還是“不可接受的”。
[0058]圖9示出了根據(jù)一個實施例的用于訓練級別二聊天分類器的方法900。如圖所示,方法900開始于步驟905,其中聊天分類引擎從訓練數(shù)據(jù)集中提取聊天會話。如同所述,訓練數(shù)據(jù)集可以包括被分類為可接受的聊天會話910或者不可接受的聊天會話915的聊天會話。例如,如上所述,可以通過評估已被仲裁人復查過的聊天會話來創(chuàng)建訓練示例。在這種情形中,積極的訓練示例一般對應于其中仲裁人在復查聊天會話后采取某一動作的聊天會話,而被仲裁人復查、但是沒有導致任何動作的聊天會話提供消極的示例。在兩種情形中,在這些會話中被級別一分類器分類為“不可接受的”聊天消息提供訓練示例。此外,在從歷史聊天會話中構建初始訓練集之后,當已訓練的級別二分類器指示給定的聊天會話應該上報至仲裁人以供復查時,可以創(chuàng)建額外的訓練示例。依據(jù)仲裁人是否在復查該聊天會話后采取行動,可以創(chuàng)建額外的積極的或者消極的訓練示例。
[0059]可接受的聊天會話910和不可接受的聊天會話915被級別一聊天分類器評估(步驟925)。級別一聊天分類器將可接受的聊天會話910和不可接受的聊天會話915中的聊天消息標注為是可接受的或者不可接受的。來自導致仲裁人干預的聊天會話(聊天會話915)的不可接受消息的數(shù)據(jù)集以及來自由仲裁人復查但是不需要任何干預的聊天會話(聊天會話910)的不可接受消息的數(shù)據(jù)集提供級別二訓練數(shù)據(jù)集。
[0060]接著用來自這些聊天會話的“不可接受的”消息訓練級別二分類器。兩個數(shù)據(jù)集基于過去遇到的聊天提供聊天會話為可接受的統(tǒng)計概率。就是說,惡意但是可接受的數(shù)據(jù)集教導級別二分類器:這些聊天會話可能包含惡意聊天的某些元素,但是統(tǒng)計上仍然有可能被仲裁人認為是可接受的(或者至少在復查后不會導致任何仲裁人干預)。惡意并且不可接受的數(shù)據(jù)集教導級別二分類器:從統(tǒng)計的角度,這些數(shù)據(jù)集有可能是不可接受的并且應該被上報至仲裁人以供進一步的復查。
[0061]圖10示出了根據(jù)本發(fā)明的一個實施例的用于級別二分類器1000的訓練的示例。如圖所示,訓練數(shù)據(jù)集1005示出了被仲裁人1015標注為不可接受的聊天會話的示例。例如,用戶I已經(jīng)聊了五個語句。在這五個語句中,三個語句被級別一分類器示為不可接受。具體地,語句3、語句4和語句5已經(jīng)被級別一分類器標注為“不可接受的”。仲裁人復查用戶I的、被標注為不可接受的聊天會話。用戶2的聊天會話也被仲裁人標記為不可接受。用戶2聊天會話包含4個語句,其中語句2、語句3語句4被示為不可接受。
[0062]訓練數(shù)據(jù)集1005還展示被仲裁人1010標注為可接受的聊天會話。例如,用戶3聊了6個語句。六個語句中的四個語句被聊天分類引擎示為不可接受。仲裁人依然將該聊天會話標記為可接受的。用戶4已經(jīng)聊了 3個語句,它們中的一個語句被聊天分類引擎示為不恰當。用戶4聊天會話也被仲裁人確定為可接受的。
[0063]每個被仲裁人標注為不可接受的聊天會話和被仲裁人標注為可接受的聊天會話通過級別一分類器。級別一分類器從可接受的聊天會話的數(shù)據(jù)集和不可接受的聊天會話的數(shù)據(jù)集中確定統(tǒng)計上不恰當、或者惡意的語句。就是說,為不可接受的聊天會話數(shù)據(jù)集1030確定對于不恰當?shù)南⒌姆诸?。并且為可接受的聊天會話?shù)據(jù)集1035確定對于不恰當?shù)南⒌姆诸?。?shù)據(jù)集代表這些聊天消息將為某一類型聊天的概率。如圖所示,在兩個數(shù)據(jù)集中都發(fā)現(xiàn)了【移1語】([Expletive])。
[0064]具有可接受和不可接受的聊天的數(shù)據(jù)集被用于訓練級別二分類器(步驟1040)。分類器基于在不可接受的聊天中發(fā)現(xiàn)特定項目的頻次與在可接受的聊天中發(fā)現(xiàn)特定項目的頻次來指派概率。例如,在不可接受的數(shù)據(jù)集1030和可接受的數(shù)據(jù)集1035中都發(fā)現(xiàn)了【穢語】。那么分類器能夠提供【穢語】將會是不可接受的聊天的統(tǒng)計概率。在該示例中,分類器將確定包含【穢語】的聊天消息可能67%的時間發(fā)生在不可接受的聊天中。在另一實施例中,【穢語】可以僅10%的時間發(fā)生在不可接受的聊天中。級別二分類器評估來自(如上所述,符合某一觸發(fā)標準的)聊天會話的“不可接受的”消息,從而確定聊天會話是否應該被上報至仲裁人。
[0065]有利地,實施例提供用于減少被上報至仲裁人的聊天的數(shù)量的應用。多層聊天檢測和分類確定惡意但是可接受的、不需要仲裁人干預的聊天的數(shù)量。聊天分類引擎能夠在對某些詞語或者短語的良性使用和對那些相同詞語或者短語的其他違法使用之間進行區(qū)分。聊天分類引擎通過對多層分類級別的上報來處理聊天會話以達到這個確定。因而減少了加于仲裁人的大量聊天負擔并且節(jié)省了時間和金錢。對分類器的再訓練確保所認為的設置恰當?shù)牧奶毂徽_地表征,減少了惡意但是可接受的聊天(否則將被上報至仲裁人)的數(shù)量。 [0066]盡管以上指定了本發(fā)明的實施例,在不背離本發(fā)明基本范圍的情況下,可以設計出本發(fā)明的其他的以及進一步的實施例,并且本發(fā)明范圍由所附的權利要求確定。
【權利要求】
1.一種用于監(jiān)視在在線多用戶環(huán)境中交互的用戶的計算機實現(xiàn)的方法,所述方法包括: 對于由第一用戶在會話期間發(fā)送的每條消息: 通過第一分類器,確定將所述消息標注為對于所述在線多用戶環(huán)境是可接受的還是不可接受的;并且 如果滿足針對所述用戶的所述會話的觸發(fā)條件,就通過第二分類器確定是否將所述會話上報至仲裁人以供復查。
2.如權利要求1所述的方法,其中所述第一分類器是貝葉斯過濾器。
3.如權利要求1所述的方法,其中所述第二分類器是貝葉斯過濾器。
4.如權利要求1所述的方法,還包括: 用多個被標注為可接受或者不可接受的消息訓練所述第一分類器。
5.如權利要求1所述的方法,還包括: 用多個訓練示例會話訓練所述第二分類器,其中每個訓練示例是從被標注為適于上報或者不適于上報的會話中生成的,并且其中每個訓練示例會話包括來自被所述第一分類器分類為不可接受的會話的消息。
6.如權利要求1所述的方法,其中所述觸發(fā)條件是所述會話中被分類為不可接受的消息和被分類為可接受的消息的比例。
7.如權利要求1所述的方法,其中所述觸發(fā)條件是所述會話中被分類為不可接受的消息的最大數(shù)目。
8.如權利要求1所述的方法,其中所述第二分類器通過評估所述會話中被所述第一分類器分類為不可接受的消息來確定是否將所述會話上報至仲裁人以供復查。
9.一種系統(tǒng),包括: 存儲應用程序的存儲器;以及 處理器,當執(zhí)行所述應用程序時,所述處理器被配置為行使用于監(jiān)視在在線多用戶環(huán)境中交互的用戶的操作,所述操作包括: 對于由第一用戶在會話期間發(fā)送的每條消息: 通過第一分類器,確定將所述消息標注為對于所述在線多用戶環(huán)境是可接受的還是不可接受的;并且 如果滿足針對所述用戶的所述會話的觸發(fā)條件,就通過第二分類器確定是否將所述會話上報至仲裁人以供復查。
10.如權利要求9所述的方法,其中所述第一分類器是貝葉斯過濾器。
11.如權利要求9所述的方法,其中所述第二分類器是貝葉斯過濾器。
12.如權利要求9所述的方法,還包括: 用多個被標注為可接受或者不可接受的消息訓練所述第一分類器。
13.如權利要求9所述的方法,還包括: 用多個訓練示例會話訓練所述第二分類器,其中每個訓練示例是從被標注為適于上報或者不適于上報的會話中生成的,并且其中每個訓練示例會話包括來自被所述第一分類器分類為不可接受的會話的消息。
14.如權利要求9所述的方法,其中所述觸發(fā)條件是所述會話中被分類為不可接受的消息和被分類為可接受的消息的比例,或者是所述會話中被分類為不可接受的消息的最大數(shù)目。
15.如權利要求9所述的方法,其中所述第二分類器通過評估所述會話中被所述第一分類器分類為不可接受的消息來確定是否將所述會話`上報至仲裁人以供復查。
【文檔編號】H04L12/26GK103780453SQ201310495401
【公開日】2014年5月7日 申請日期:2013年10月21日 優(yōu)先權日:2012年10月19日
【發(fā)明者】安德魯·R·比切姆, 維塔·G·馬克曼, 安伯·斯圖爾特 申請人:迪士尼企業(yè)公司