具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本说明书相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本说明书的一些方面相一致的装置和方法的例子。
在本说明书使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本说明书。在本说明书和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本说明书可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本说明书范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
随着移动互联网的兴起,电商、社区平台、短视频、直播等产品蓬勃发展,庞大的用户群体贡献了大量优质的原创内容。与此同时,灰黑产团队伺机而动,制造了海量垃圾广告、露骨评论、诈骗信息,互联网产品和广大用户深受其害。
现有技术反垃圾文本的方式通常是生成基于文字的关键词规则:根据黑文本中频繁出现的某种文字模式,经过人工总结或者机器自动挖掘出风险识别规则,比如将“花呗”“套现”同时出现视为一种风险识别规则,进而利用风险识别规则对文本进行识别。
但是表情符号的广泛使用使得垃圾文本又有了新的升级方向,大量违规违禁用户为了规避传统反垃圾模型,在正常文字中夹杂使用表情符号,例如emoji表情或其他表情,参考图1。而传统的关键词识别规则并未考虑这些特殊字符,如果有意识地对风险文本进行改造,替换掉常规风险文字就可以降低被传统基于关键词的反垃圾模型识别的概率。目前还没有一种较好的方法,应对这种包含表情符号的风险文本。
针对以上问题,本说明书实施例提供一种风险文本识别方法,以及一种用于执行该方法的风险文本识别装置。本说明书实施例提到的方法主要应用于用户在互联网社区平台发布的文本,具体地,社区平台可以包括BBS/论坛、贴吧、公告栏、个人知识发布、群组讨论等网上交流平台。
下面对本实施例涉及的风险文本识别方法进行详细说明,参见图2所示,该方法可以包括以下步骤:
S201,根据预设的风险算法计算文本中的表情符号特征,根据所述表情符号特征生成包含风险表情的风险识别规则;
S202,获取待识别文本,将所述风险识别规则在待识别文本中进行匹配,若匹配成功,则将所述待识别文本判定为包含风险的文本。
具体地,确定至少一个表情符号特征,并根据表情符号特征生成包含风险表情的风险识别规则的方法,参见图3,可以包括以下步骤:
S301,获取黑文本集合,所述黑文本集合为包含多个风险文本的样本集合;
S302,在黑文本集合中提取表情符号存在特征,根据所述表情符号存在特征生成包含风险表情的风险识别规则。
举例说明,在黑文本集合中的多个风险文本中进行特征识别,发现表情符号特征“两个表情符号[金钱]+一个表情符号[电话]”在黑文本集合中的出现频率明显高于平均水平,则将该表情符号的组合确定为黑文本集合中的一个表情符号存在特征,或,当表情符号[金钱]在文本中占比高于某个阈值时,将文本中占比高于该阈值的表情符号[金钱]确定为黑文本集合中的一个表情符号存在特征。
表情符号的特征提取方法不只限于以上举例,根据实际需求可以设定更多的特征提取规则。
除了在黑文本集合中提取表情符号存在特征进而生成风险识别规则外,本申请还提供一种根据黑文本集合与白文本集合生成包含风险表情的风险识别规则的方法,参见图4,该方法包括以下步骤:
S401,获取黑文本集合与白文本集合,计算不同表情符号在所述黑文本集合与白文本集合中出现的频率差,其中,黑文本集合为包含多个风险文本的样本集合,白文本集合为包含多个无风险文本的样本集合;
黑文本集合与白文本集合为预先准备的多个黑/白文本样本的集合,其中,黑文本为已确定的包含垃圾内容的风险文本,白文本为已确定的不包含垃圾内容的安全文本。需要注意的是,为使统计结果尽量准确,一般使黑文本集合和白文本集合的文本数量/大小相近。
在黑文本集合和白文本集合中分别抽取出其中包含的表情符号,并统计不同表情符号在黑文本中出现的频率和在白文本中出现的频率。参考表1所示。
表情符号 |
黑文本集合中的出现频率 |
白文本集合中的出现频率 |
表情[捂脸] |
0.05375 |
0.0376 |
表情[鲜花] |
0.04678 |
0.0375 |
表情[愉快] |
0.04446 |
0.03392 |
表情[电话] |
0.02462 |
0.02442 |
…… |
|
…… |
表1
获取不同表情符号在黑文本中出现的频率和在白文本中出现的频率后,计算每个表情符号在黑,白文本中出现的频率之差,参考表2所示:
表情符号 |
在黑白文本集合中出现的频率差 |
表情[捂脸] |
0.01615 |
表情[鲜花] |
0.00928 |
表情[愉快] |
0.01054 |
表情[电话] |
0.02462 |
…… |
…… |
表2
可以理解,当某个表情符号在黑文本的出现频率高于该表情在白文本中的出现频率,且该表情符号在黑白文本中的频率差值明显高于其他表情符号时,则该表情符号有很大概率为灰黑产团伙所用,以在垃圾内容中进行文本***或替换。
S402,将所述不同表情符号对应的频率差确定为频率差集合,将所述频率差集合中数值较大的频率差确定为符合条件的频率差,将所述符合条件的频率差对应的表情符号确定为风险表情;
如上表2,为每个表情及该表情对应的频率差集合,在该频率差集合中进行筛选,将数值较大的频率差确定为符合条件的频率差。
其中,确定符合条件的频率差的方法有很多种,举例说明:
a)将频率差集合中的各个频率差按照数值大小从高到低排序,将排序靠前的N个频率差确定为符合条件的频率差;
b)将频率差集合中的各个频率差按照数值大小从高到低排序,将排序靠前的N%个频率差确定为符合条件的频率差;
c)将频率差集合中频率差值高于预设值的频率差确定为符合条件的频率差;
d)将频率差集合中的各个频率差按照数值大小从高到低排序,筛选排序靠前的N%个频率差,将其中频率差值高于预设值的频率差确定为符合条件的频率差。
需要注意,以上确定符合条件的频率差的方法仅为举例,并不对本说明书构成限定,开发人员可根据实际情况通过不同方式在频率差集合中筛选数值较大的频率差。
S403,将已确定的不同风险表情进行排列组合,根据排列组合结果生成包含风险表情的风险识别规则。
将不同风险表情进行排列组合,将排列组合结果作为风险识别规则。举例说明:已确定的风险表情为表情符号[鲜花],表情符号[愉快],表情符号[电话],在用户发表的文本中,将文本中同时出现表情符号[鲜花]和表情符号[愉快]视为一种风险组合,将文本中同时出现表情符号[愉快]和表情符号[电话]视为另一种风险组合…以此类推,通过对不同风险表情的排列组合列出多种可能的风险组合。
在实际应用中,可以结合已有的风险关键词进行组合,举例说明:将文本中同时出现风险关键词“借”与风险表情[金钱]视为一种风险组合,将文本中同时出现风险关键词“正规”与风险表情[电话]视为另一种风险组合。风险关键词可以利用现有的风险关键词识别技术识别出来,在此不再赘述。
确定多个风险组合后,将这多个风险组合视为多个备选风险识别规则,对备选的风险识别规则进行验证筛选,即可确定最终的风险识别规则。
通常情况下,验证筛选的方式可以是对备选的风险识别规则进行命中验证,即在包含大量黑白文本的验证数据集中,依次应用每个备选风险识别规则进行命中验证,已确定该备选规则命中的黑,白文本数量,进而计算该备选规则的命中准确率。参考表3,为备选风险识别规则在验证数据集中进行命中验证后得到的统计数据。
备选规则 |
命中文本数 |
总文本数 |
黑文本数 |
命中比例 |
[捂脸]^[鲜花] |
198 |
9999 |
190 |
96% |
[电话]^[愉快] |
231 |
9999 |
150 |
65% |
“借”^[金钱] |
330 |
9999 |
296 |
90% |
…… |
|
…… |
|
|
表3
如上表所示,命中比例为备选规则命中的黑文本数和命中的总文本数的比值,可以理解,该比值越大,表明该备选规则识别的准确率越高,在实际应用中可能识别出黑文本的概率越大。开发人员可根据实际情况设定阈值,将命中比例高于阈值的备选风险识别规则确定为最终投入使用的风险识别规则。
本说明书实施例还提供一种更为具体的风险规则生成方法,参见图5所示,该方法可以包括以下步骤:
S501,统计不同表情符号在黑文本集合的出现频率;
S502,统计不同表情符号在白文本集合的出现频率;
S503,计算不同表情符号在黑文本中的出现频率和在白文本中的出现频率之差;
S504,将频率差按数值大小从高到低排序,筛选出排名符合第一预设值或频率差值符合第二预设值的频率差,将所述符合预设条件的频率差对应的表情符号确定为风险表情;
S505,将不同风险表情和/或不同风险关键词进行排列组合,根据排列组合结果生成包含风险表情的风险识别规则。
相应于上述方法实施例,本说明书实施例还提供一种风险识别规则生成装置,参见图6所示,所述装置可以包括:规则生成模块610和文本识别模块620。
规则生成模块610:用于根据预设的风险算法计算文本中的表情符号特征,根据所述表情符号特征生成包含风险表情的风险识别规则;
文本识别模块620:用于获取待识别文本,将所述风险识别规则在待识别文本中进行匹配,若匹配成功,则将所述待识别文本判定为包含风险的文本。
本说明书实施例还提供一种计算机设备,其至少包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,处理器执行所述程序时实现前述风险文本识别方法,所述方法至少包括:
根据预设的风险算法计算文本中的表情符号特征,根据所述表情符号特征生成包含风险表情的风险识别规则;
获取待识别文本,将所述风险识别规则在待识别文本中进行匹配,若匹配成功,则将所述待识别文本判定为包含风险的文本。
图7示出了本说明书实施例所提供的一种更为具体的计算设备硬件结构示意图,该设备可以包括:处理器1010、存储器1020、输入/输出接口1030、通信接口1040和总线1050。其中处理器1010、存储器1020、输入/输出接口1030和通信接口1040通过总线1050实现彼此之间在设备内部的通信连接。
处理器1010可以采用通用的CPU(Central Processing Unit,中央处理器)、微处理器、应用专用集成电路(Application Specific Integrated Circuit,ASIC)、或者一个或多个集成电路等方式实现,用于执行相关程序,以实现本说明书实施例所提供的技术方案。
存储器1020可以采用ROM(Read Only Memory,只读存储器)、RAM(Random AccessMemory,随机存取存储器)、静态存储设备,动态存储设备等形式实现。存储器1020可以存储操作***和其他应用程序,在通过软件或者固件来实现本说明书实施例所提供的技术方案时,相关的程序代码保存在存储器1020中,并由处理器1010来调用执行。
输入/输出接口1030用于连接输入/输出模块,以实现信息输入及输出。输入输出/模块可以作为组件配置在设备中(图中未示出),也可以外接于设备以提供相应功能。其中输入设备可以包括键盘、鼠标、触摸屏、麦克风、各类传感器等,输出设备可以包括显示器、扬声器、振动器、指示灯等。
通信接口1040用于连接通信模块(图中未示出),以实现本设备与其他设备的通信交互。其中通信模块可以通过有线方式(例如USB、网线等)实现通信,也可以通过无线方式(例如移动网络、WIFI、蓝牙等)实现通信。
总线1050包括一通路,在设备的各个组件(例如处理器1010、存储器1020、输入/输出接口1030和通信接口1040)之间传输信息。
需要说明的是,尽管上述设备仅示出了处理器1010、存储器1020、输入/输出接口1030、通信接口1040以及总线1050,但是在具体实施过程中,该设备还可以包括实现正常运行所必需的其他组件。此外,本领域的技术人员可以理解的是,上述设备中也可以仅包含实现本说明书实施例方案所必需的组件,而不必包含图中所示的全部组件。
本说明书实施例还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现前述的风险文本识别方法,所述方法至少包括:
根据预设的风险算法计算文本中的表情符号特征,根据所述表情符号特征生成包含风险表情的风险识别规则;
获取待识别文本,将所述风险识别规则在待识别文本中进行匹配,若匹配成功,则将所述待识别文本判定为包含风险的文本。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitorymedia),如调制的数据信号和载波。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本说明书方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本说明书实施例可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本说明书实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本说明书实施例各个实施例或者实施例的某些部分所述的方法。
上述实施例阐明的***、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,在实施本说明书实施例方案时可以把各模块的功能在同一个或多个软件和/或硬件中实现。也可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
以上所述仅是本说明书实施例的具体实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本说明书实施例原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本说明书实施例的保护范围。