发明内容
一般而言,内容安全中文本的大多数风险可以通过一些关键词进行定性,比如在违规广告风险文本中,会留下“微信”等联系方式,在赌博风险文本中经常会出现“上分”、“下分”等词。为此,本公开通过对文本可能的风险类型进行预测排序并将文本中风险关键词突出显示出来,将风险类别推荐和风险关键词的抽取统一起来。这可以有效帮助审核人员快速定位风险以及风险类型,从而最终加速审核和/或标注速度和准确性,节省人力成本并提高审核和/或标注一致性。
根据本公开的第一方面,提供了一种用于辅助文本标注的方法,包括:获取文本;对所述文本进行预处理,以生成用于基于注意力机制的神经网络的输入向量;将所生成的输入向量输入所述基于注意力机制的神经网络以进行分类并提取所述输入文本中的关键词;以及输出并显示所述基于注意力机制的神经网络的处理结果,所述结果包括所述输入文本的属于诸类别的概率以及所述输入文本中包括的所述关键词。
在一实施例中,所述预处理包括对所述文本进行分词,并且所述输入向量包括每一个所得到的词语的向量表示,其中所述分词是使用以下方法中的至少一者来进行的:基于字符串匹配的分词方法、基于统计以及机器学习的分词方法、基于语义的分词方法。
在另一实施例中,所述基于注意力机制的神经网络包括Bi-RNN、LSTM、和/或GRU中的任一者。
在又一实施例中,所述基于注意力机制的神经网络包括用于接收输入向量的输入层、两层叠加的Bi-RNN、注意力层、以及输出层。
在又一实施例中,所述基于注意力机制的神经网络是在以下约束下训练的:对损失函数施加关于注意力层的权重的正则化项,同时约束注意力层的权重和为1。
在又一实施例中,所述正则化项是L1正则化项、L2正则化项、L1+L2正则化项中的一者。
在又一实施例中,所述关键词是具有高于第一阈值的注意力权重的词语,并且所述关键词被突出显示。
在又一实施例中,所述方法还包括在所述输入文本的属于诸类别的概率均低于第二阈值的情况下,不输出所述输入文本所属类别且不给出关键词。
在又一实施例中,所述方法还包括接收用户对所输出的结果的标注,并基于所述用户的标注来进一步训练所述基于注意力机制的神经网络。
根据本公开的第二方面,提供了一种用于辅助文本标注的系统,包括:文本源设备,其被配置成产生文本;文本分类服务,其被配置成对所述文本进行预处理以生成用于基于注意力机制的神经网络的输入向量,通过将所生成的输入向量输入所述基于注意力机制的神经网络以进行分类并提取所述文本中的关键词,以及输出所述基于注意力机制的神经网络的处理结果;以及终端设备,其被配置成从所述文本分类服务接收并显示所述处理结果,所述处理结果包括所述文本的属于诸类别的概率以及所述文本中包括的所述关键词。
在一实施例中,所述预处理包括对所述文本进行分词,并且所述输入向量包括每一个所得到的词语的向量表示,其中所述分词是使用以下方法中的至少一者来进行的:基于字符串匹配的分词方法、基于统计以及机器学习的分词方法、基于语义的分词方法。
在另一实施例中,所述基于注意力机制的神经网络包括Bi-RNN、LSTM、和/或GRU中的任一者。
在又一实施例中,所述基于注意力机制的神经网络包括用于接收输入向量的输入层、两层叠加的Bi-RNN、注意力层、以及输出层。
在又一实施例中,所述基于注意力机制的神经网络是在以下约束下训练的:对损失函数施加关于注意力层的权重的正则化项,同时约束注意力层的权重和为1。
在又一实施例中,所述正则化项是L1正则化项、L2正则化项、L1+L2正则化项中的一者。
在又一实施例中,所述关键词是具有高于第一阈值的注意力权重的词语,并且所述关键词被突出显示。
在又一实施例中,所述文本分类服务还被配置成在所述文本的属于诸类别的概率均低于第二阈值的情况下,不输出所述文本所属类别且不给出关键词。
在又一实施例中,所述终端设备还被配置成接收用户对所述处理结果的标注并将所述标注返回给所述文本分类服务。
在又一实施例中,所述文本分类服务还被配置成基于所述用户的标注来进一步训练所述基于注意力机制的神经网络。
根据本公开的第三方面,提供了一种存储有计算机可执行指令的计算机可读介质,所述指令在由计算机执行时使得所述计算机执行如根据本公开的第一方面所描述的方法。
各方面一般包括如基本上在本文参照附图所描述并且如通过附图所解说的方法、装备、系统、计算机程序产品和处理系统。
前述内容已较宽泛地勾勒出根据本公开的示例的特征和技术优势以使下面的详细描述可以被更好地理解。附加的特征和优势将在此后描述。所公开的概念和具体示例可容易地被用作修改或设计用于实施与本公开相同的目的的其他结构的基础。此类等效构造并不背离所附权利要求书的范围。本文所公开的概念的特性在其组织和操作方法两方面以及相关联的优势将因结合附图来考虑以下描述而被更好地理解。每一附图是出于解说和描述目的来提供的,且并不定义对权利要求的限定。
具体实施方式
以下结合附图阐述的详细描述旨在作为各种配置的描述,而无意表示可实践本文中所描述的概念的仅有的配置。本详细描述包括具体细节以提供对各种概念的透彻理解。然而,对于本领域技术人员将显而易见的是,没有这些具体细节也可实践这些概念。
参考图1,其示出了根据本公开的一实施例的用于文本分类的示例模型网络100的结构图。
根据本公开的一实施例,模型网络(即,基于注意力机制的神经网络)可包括输入层、两层叠加的Bi-RNN、注意力层、以及输出层。如图1所示,最下方是用于接收输入向量(例如,图1中的x0,…,xm)的输入层,中间是双向循环神经网络隐层(层叠Bi-RNN)。本领域技术人员可以明白,尽管在此叠加了2层双向RNN,但在实际应用中可根据需要采用一层或者多层。最后是用于对循环RNN的输出施加注意力机制的注意力层以及用于输出最终结果的输出层。
参考图2,其示出了根据本公开的一实施例的用于辅助文本标注的示例方法200的流程图。
如图2所示,方法200可包括在框210,获取文本。在一实施例中,这一文本可以是存储在相应存储器内的文本,则方法200可以通过访问该存储器来读取这一文本。在另一示例中,在文本是由用户实时发表的情况下,可以通过任何合适的截取方法来获得这一文本。
例如,结合图4,其示出了用于辅助文本标注的详细示例图解400。在这一详细示例中,文本是“你好,借呗提额加我微信”。这一文本可以采用任何合适的截取方法来获得,例如在该文本是由一方通过短消息发送的情况下,可以在移动运营商处截取该文本消息。在另一示例中,该文本也可以是任何应用或服务(例如,社交媒体、微博、博客、文学作品网站,等等)的输入和/或发表纪录,且方法200可以读取该记录消息。例如,各个用户可能在诸如facebook、新浪微博等发表话题,这些话题通过本公开的方法200来被截取。
在框220,方法200可包括对文本进行预处理。在一实施例中,通过预处理可以包括将文本中的标点符号去除,并对文本进行分词。随后,使用向量来表示分词后得到的每一个词语,从而生成用于本公开的基于注意力机制的神经网络的输入向量。在这一实施例中,该输入向量包括每一个所得到的词语的向量表示。例如,在文本被分为m个词语的情况下,其输入向量可被表示为X={x0,x1,…,xm-1,xm},其中m是大于等于1的整数。
在一实施例中,对文本进行分词可以采用各种分词方法,例如基于字符串匹配的分词方法(即扫描字符串,如果发现字符串的子串和词典中的词相同,则找到匹配)、基于统计以及机器学习的分词方法(它们基于人工标注的词性和统计特征,对文本进行建模,再通过模型计算各种分词出现的概率,将概率最大的分词结果作为最终结果)、以及基于语义的方法(通过让计算机模拟人对句子的理解,达到识别词的效果),等等。然而,本领域技术人员可以明白,还可以使用现在已有或将来开发的各种其它的分词方法。
如图4所示,对文本进行预处理首先是去除了文本中的标点符号并且将其分为“你好”、“借呗”、“提额”、“加”、“我”、“微信”六个词语(即,分词处理)。这些词语随后被转换成向量表示并被组合成表示文本“你好,借呗提额加我微信”的向量,即输入向量。例如,词语“你好”可被表示成向量x0,“借呗”可被表示成“x1”,以此类推。随后,向量X={x0,x1,…,xm-1,xm}即是文本“你好,借呗提额加我微信”的输入向量,其中m=6。
继续参考图2,在框220,方法200可包括将所生成的输入向量输入基于注意力机制的神经网络以进行分类并提取关键词。
在一实施例中,基于注意力机制的神经网络包括双向循环神经网络(Bi-RNN)、长短期记忆(LSTM)、门控循环单元(GRU)中的任一者。在该实施例中,基于注意力机制的神经网络包括用于接收输入向量的输入层、两层隐藏层、以及注意力机制和输出层。本领域技术人员可以明白,取决于实际实现,基于注意力机制的神经网络的隐藏层可包括一层或者三层或更多层。
申请人认识到,在标准的神经网络结构中,注意力权重可能会集中到较少的词上,关键词提取不太全面,尤其是在数据比较稀疏或者区分度比较明显的情况下。为此,在本公开的一实施例中,采用了基于注意力机制的神经网络,并且对损失函数施加关于注意力层的权重参数的正则化项(例如,L1正则化项、L2正则化项或L1+L2正则化项),同时约束注意力层的权重参数和为1。如此,经训练的神经网络可以使得注意力权重不会集中到较少的词上,从而使得关键词提取更全面,使得能够提取多个组合关键词而不是单个关键词,尤其是在数据比较稀疏或者区分度比较明显的情况下。
举例而言,假定输入文本的词语数目为m、隐藏层的输出数目(即,文本分类类别的数目)为n,则该输入文本经神经网络隐藏层的输出为一个m x n大小的矩阵U。该m x n矩阵U经注意力层计算之后(在一示例中,注意力层具有与隐藏层的输出数目n相等的权重参数,设为向量W,W={w0,…,wn-1}),可以得到包括每个词语的权重的一个m x 1向量,设为V(即,矩阵U与注意力层的参数向量进行点乘,m x n·n x1),V={v0,…,vm-1}。随后,该m x 1向量V可被归一化(例如,通过softmax)并与输入文本一起输出,从而得到输入文本中每一分词的经归一化的权重W’(W’0-W’m-1)。
例如,再次参考图4,文本“你好,借呗提额加我微信”的输入向量被送到输入层之后,经层叠Bi-Rnn(在该示例中是两层Bi-RNN)处理,得到输出矩阵O={o0,o1,…,om-1,om},其中o0~om是分别是维度为分类数目n的向量,m是文本的分词数目,在该示例中m是6。这一输出矩阵O被送入注意力层进行计算,从而得出文本“你好,借呗提额加我微信”中每一经分词之后的各个词语的权重值。例如,在图4的示例中示出了词语“你好”、“借呗”、“提额”、“加”、“我”、“微信”的权重分别为0.01、0.3、0.2、0.08、0.01、0.4。
另外,注意力层的权重参数向量W还被用于对隐藏层的输出矩阵O进行加权,以计算每一经注意力加权的输出。随后,该经注意力加权的输出被归一化(例如,通过softmax)以得到输入文本的各分类类别的概率。
例如,结合图4,输出矩阵O经注意力层计算之后还得到了用于送到归一化函数softmax的注意力层输出。这一注意力层输出随后被送到softmax以供得出文本属于各个分类类别的概率。
本领域技术人员可以明白,图4中给出的softmax函数仅仅是用于概率归一化的示例,还可以使用各种其他归一化函数,例如sigmoid函数等等。
继续参考图2,在框230,方法200可包括输出并显示基于注意力机制的神经网络的分类结果。在一实施例中,这一结果包括输入文本的诸分类概率以及所述输入文本中包括的关键词。在该实施例中,所示出的关键词是具有高于第一阈值的注意力权重的词语,并且这些关键词被突出显示(诸如,加粗、斜体、下划线、高亮,等等)。在一示例中,第一阈值可以是预定阈值,例如,0.1、0.2、0.25,等等。
或者,第一阈值可以是输入文本中所有词语的中位数权重。例如,假定输入文本被分成五个词语,其权重分别为0.01、0.01、0.03、0.45、0.5,则第一阈值可以是0.03。在另一些示例中,输入文本的各词语的权重可按从小到大的顺序排列,且位于该序列的1/3、2/3、3/4或黄金分割点处的权重值可被设定为第一阈值。在这些示例中,可以采取适当的舍入法来选择权重值序列中最接近这些位置(例如,序列的1/3、2/3等位置处)的权重值。本领域技术人员可以明白,可以按任何合适的方式来选择需要突出显示的关键词,例如权重值排名前三、前五的词语,等等。
例如,结合图4,其示出了对输入文本“你好,借呗提额加我微信”的输出结果。其中,其分类结果包括:违法违规类别,概率为0.7;广告类别,概率0.2;……;同时,还示出了该输入文本中的各个关键词以及相关权重。从图4中可以看到,第一阈值被设置成高于0.08而低于0.2(例如,0.1),使得高于该阈值的关键词被高亮突出显示,以向用户提供更清楚的提示,例如权重为0.3的关键词“借呗”、权重为0.2的关键词“提额”、以及权重为0.4的关键词“微信”。本领域技术人员可以明白,还可以采用各种其他方式来突出显示高于第一阈值的关键词,例如加粗、斜体、下划线等等。
另外,如图4所示,输入文本的分类结果按其概率来进行排序,使得概率最高的分类类别居上。在另一示例中,具有最高概率的分类类别还可被突出显示,以更好地提示用户(即,审核人员)。
如此,本公开的方法200使用模型预测文本的每个分类类型的概率并进行排序,同时还将注意力权重高的词语提取出来作为关键词展示给审核人员,从而辅助审核人员更好地标注。
在另一替换实施例,如果输入文本的属于诸类别的概率均低于第二阈值,则可以不输出输入文本所属的类别且不给出关键词。例如,在所需分类类别是违法违规、广告、垃圾消息等的场景中,如果文本中没有包含上述各种分类类别的风险,则文本属于各个分类类别的概率可能非常低,可以略过这些文本而不输出给审核人员,从而减轻审核人员的负担。因此,在该示例中,可以设置第二阈值(例如,0.05、0.1等等),使得文本在所有分类类别的概率都低于这一第二阈值的情况下,可以略过这些文本而不输出给审核人员。
例如,如果图4中的输入文本仅仅包括“你好”,且根据本公开的方法和系统关注于文本中的违规、垃圾消息、广告等风险,则本公开的方法和系统可不输出该输入文本的类别推荐和关键词,因为这一输入文本显然不具有上述风险。
在又一实施例中,方法200还可任选地包括接收用户(例如,审核人员)对输出结果的标注并基于用户的标注来进一步训练基于注意力机制的神经网络。例如,结合图4,在输出了输入文本的各个关键词和输入文本属于各分类类别的概率之后,可以接收审核人员对该输入文本的标注。在图4的该示例中,审核人员可以将该输入文本标注为违法违规文本。随后,方法200可基于用户的这一标注来将其作为正反馈进一步训练其所使用的基于注意力机制的神经网络。然而,如果审核人员将该输入文本标注为广告,则方法200可将这一标注作为负反馈来训练其所使用的基于注意力机制的神经网络,因为在输出的分类类别的概率中,违法违规类别的概率高于广告类别的概率。在该实施例中,训练可以实时地进行或者按一定的周期(例如,每天)来定期执行。
在本公开的又一替换实施例中,接收用户对输出结果的标注可包括接收来自两个或更多个用户对该输出结果的标注。在该示例中,对输入文本的分类结果可被传送给两个或更多个用户以供他们作出标注。如此,可以对标注进行交叉验证以确保标注正确。
在这一实施例中,方法200还可任选地包括对来自各个用户的标注进行评估以确定这些用户各自的标注准确率。例如,在两个或更多个用户对同一输出结果的标注不同的情况下,确定哪一标注是正确的,并相应地累计这些用户的标注准确率。
下面参考图3,其示出了根据本公开的一实施例的用于辅助文本标注的示例系统300的示意图。
如图3所示,系统300可包括文本源设备302、文本分类服务304以及由审核人员使用的终端设备306,其中它们可通过各种通信手段彼此互连,例如图3所示的因特网308。本领域技术人员可以明白,尽管图3示出了移动设备形式的文本源设备302(即,各用户可以使用其移动设备来产生文本),但还可存在各种其他形式的文本源(如省略号303所示),例如各种应用和/或服务的日志、社交媒体上的发帖、存储在各个存储位置中的各种文本,等等。
另外,文本分类服务304在图3中以物理机的形式示出,但它可以由设置在云端的虚拟机来支持或是由云提供的服务。在另一实施例中,它可被主存在文本源设备302和/或终端设备306中。此外,尽管在此以“服务”来描述文本分类功能,但它也可以是安装在计算设备上的应用、应用的某一功能的形式,等等。
本领域技术人员还可以明白,尽管图3中示出了台式机形式的两个终端设备306,但系统300可包括任何数目和种类的终端设备306,如省略号310所示。
下面结合图5来描述本公开的辅助文本标注系统的示例性操作流程。
如图5所示,其示出了根据本公开的一实施例的示例辅助文本标注系统的示意性操作顺序图500。
最初,文本源设备501(例如,图3中所示的文本源设备302)可以产生文本。例如,文本源设备501可以是社交媒体用户用来发帖的移动设备,并且用户在编写社交媒体发帖和/或评论时即在该移动设备处产生了相应文本。如上所述,本领域技术人员可以明白,任何合适的设备可使用任何合适应用、服务等来产生文本。
随后,所产生的文本可被传送到文本分类服务503(例如,图3中的文本分类服务304)。在一示例中,所产生的文本可由文本源设备501直接传送到文本分类服务503。在另一示例中,所产生的文本是由文本分类服务503在通信流中截取的,而非主动传送到文本分类服务503。例如,用户发表博客时,所发表的博客的文本会被文本分类服务503截取以审核该文本是否包含违法违规内容,等等。在又一实施例中,所产生的文本可以是各种日志记录,而文本分类服务可以读取这些记录以获得相应文本。
文本分类服务503在获得了相应文本之后,可首先对文本进行预处理。如以上结合图2和4所描述的,文本分类服务503可以将文本中的标点符号去除,并对文本进行分词。随后,使用向量来表示分词后得到的每一个词语,从而生成用于本公开的基于注意力机制的神经网络的输入向量。
接着,文本分类服务503可以通过基于注意力机制的神经网络进行分类并提取文本中的关键词。如以上结合图2和4所描述的,文本分类服务503通过对双向循环神经网络的输出施加注意力机制,可以更全面地提取出文本中的关键词并得出文本属于各个分类类别的概率。
然后,文本分类服务503可以将处理结果(即,所提取的关键词和各分类类别概率)传送给审核人员的终端设备505(例如,图3中的终端设备306)。在终端设备505上,关键词被突出显示并且分类类别概率按从高到低的顺序排序,以助于审核人员更高效地审核和/或标注。
另外,如图5所示,终端设备505还可接收审核人员的标注,在该示例中,终端设备505可将该标注与输入文本一起存储在存储器中以供存档和/或后续使用。
可任选地,终端设备505还可以将审核人员的标注结果返回给文本分类服务503。在这种情况下,文本分类服务503可基于这一标注结果来训练其所使用的基于注意力机制的神经网络模型。在此,训练可以实时地进行或以某一周期(例如,每天、每小时,等等)来定期进行。如此,文本分类服务503可以动态地更新其所使用的神经网络模型。
图6是根据本公开的一实施例的示例辅助文本标注系统600的示意性框图。如图所示,辅助文本标注系统600包括处理器605和存储器610。存储器610存储有计算机可执行指令,这些指令可由处理器605执行来实现以上结合图1-5描述的方法和流程。
本领域技术人员可以明白,尽管上述实施例仅结合中文描述了本公开的方法和系统,但本公开的方法和系统也可适用于采用各种其他语言的文本,例如英文文本、法文文本,等等。
另外,尽管结合对审核和/或标注人员的辅助来描述了本公开的各实施例,但本公开的各技术方案也可应用于各种自动文本分类和/或自动文本标注场景。在自动文本分类/标注场景的情况下,具有最高概率的分类类别被自动指定为输入文本所属的类别,并且输入文本的各关键词可与该类别一起输出和/或保存以供后续查阅。
此外,尽管结合文本审核和/或标注描述了本公开的辅助标注方法和系统,但本公开的各种方法和系统也可适用于各种其他数据,例如各种记录数据(诸如交易记录)。
以上具体实施方式包括对附图的引用,附图形成具体实施方式的部分。附图通过说明来示出可实践的特定实施例。这些实施例在本文中也称为“示例”。此类示例可以包括除所示或所述的那些元件以外的元件。然而,还构想了包括所示或所述元件的示例。此外,还构想出的是使用所示或所述的那些元件的任何组合或排列的示例,或参照本文中示出或描述的特定示例(或其一个或多个方面),或参照本文中示出或描述的其他示例(或其一个或多个方面)。
在所附权利要求书中,术语“包括”和“包含”是开放式的,也就是说,在权利要求中除此类术语之后列举的那些元件之外的元件的系统、设备、制品或过程仍被视为落在那项权利要求的范围内。此外,在所附权利要求书中,术语“第一”、“第二”和“第三”等仅被用作标记,并且不旨在表明对它们的对象的数字顺序。
另外,本说明书中所解说的各操作的次序是示例性的。在替换实施例中,各操作可以按与附图所示的不同次序执行,且各操作可以合并成单个操作或拆分成更多操作。
以上描述旨在是说明性的,而非限制性的。例如,可结合其他实施例来使用以上描述的示例(或者其一个或多个方面)。可诸如由本领域普通技术人员在审阅以上描述之后来使用其他实施例。摘要允许读者快速地确定本技术公开的性质。提交该摘要,并且理解该摘要将不用于解释或限制权利要求的范围或含义。此外,在以上具体实施方式中,各种特征可以共同成组以使本公开流畅。然而,权利要求可以不陈述本文中公开的每一特征,因为实施例可以表征所述特征的子集。此外,实施例可以包括比特定示例中公开的特征更少的特征。因此,所附权利要求书由此被结合到具体实施方式中,一项权利要求作为单独的实施例而独立存在。本文中公开的实施例的范围应当参照所附权利要求书以及此类权利要求所赋予权利的等价方案的完整范围来确定。