非结构化文本分类的制作方法

文档序号:32293745发布日期:2022-11-23 02:22阅读:38来源:国知局
非结构化文本分类的制作方法
非结构化文本分类


背景技术:

1.诸如网页和电子邮件之类的电子内容是广泛使用的通信工具,可在个人和群体之间提供快速且廉价的通信方法。越来越多的垃圾邮件和网页、网络钓鱼电子邮件和网页以及包含或链接到恶意程序(例如恶意软件、勒索软件)的电子邮件对用户、公司和计算设备构成风险。过去,已经努力在用户使用滤波系统接收内容之前识别不想要的和/或恶意的内容。滤波系统可以使用自然语言处理或其他机制来根据各种特征对电子邮件或网页进行分类。其中许多特征是不断变化的。使用恶意特征“黑名单”的粗滤波器会漏掉大量新添加的恶意内容。例如,很容易创建并开始使用新的统一资源定位符(url),它不会出现在任何列表中。目前,没有一个滤波系统是完美的。一些良性内容被错误分类为恶意内容,而其他恶意内容则到达用户手中。此外,在浏览期间使用的实时滤波器可能会显着增加浏览体验的延迟。


技术实现要素:

2.提供发明内容是为了以简化形式介绍概念的选择,这些概念将在下面的详细描述中进一步描述。该发明内容不旨在识别所要求保护的主题的关键特征或基本特征,也不旨在孤立地用作确定所要求保护的主题的范围的帮助。
3.在此描述的技术使用分类器识别恶意url或其他非结构化文本,该分类器通过消除通常在对url进行分类时处理的信号来更有效地使用计算资源。本技术可以使用url本身作为唯一的输入。使用单个输入比使用多个输入更有效。使用单个输入还可以减少延迟,因为处理的信息越少,所用的时间就越少。
4.该技术使用单个输入,而现有技术通常使用每个都需要处理的多个输入(例如,上下文、元数据)。使用多个信号的系统可能无法达到实时评估url所需的速度。url难以评估,因为它们不遵循语法约定,包括无意义的词语和术语,否则无法通过使用语法文本作为输入训练和构建的自然语言处理技术进行准确分类。在此描述的技术产生的高精度是通过在逐个字符级别和逐个词语级别二者上分析非结构化文本来实现的。此处描述的技术使用来自传入url的字符级和词语级信息,并且不依赖于手动制作的特征或特征工程。与仅将url评估为字符或词语相比,使用分类器将url处理为字符组和一个或多个词语提供了更高的准确性。
5.评估词语的并行层可以各自寻找不同长度的词语组。例如,第一层可以评估单个词语,第二层可以评估两个词语的组,等等。这些层可以是并行的。并行文字处理层的输出最终在分类器中合并,并被一起处理。卷积层的并行使用允许该技术针对新的url更好地进行泛化。在此描述的技术能够以极低的误报率提高真阳率,从而超越传统的文本分类方法,这对于互联网规模的健康运营至关重要。这是通过并行处理来自url的字符和词语并结合此处描述的其他特征来实现的。
6.该技术的各个方面特别适合用作实时url安全分析工具,因为该技术能够快速处理url,并在识别到恶意url时产生警告或其他自动响应。实时url安全分析评估可在客户端
或服务器端用于多个应用程序,包括在用户的浏览器会话期间,在收到电子邮件时评估链接,在发布时评估包含url的社交媒体帖子,以及喜欢。
附图说明
7.下面参考附图详细描述本发明的方面,其中:
8.图1是适用于实施本技术的各方面的示例操作环境的框图;
9.图2是示出根据在此描述的技术的一个方面的格式选择环境的图;
10.图3是应用于类比句子上嵌入类比符号向量的卷积算子的图示;
11.图4是示出了形成输出特征向量的过程的示例性过程流程图;
12.图5是示出了从由示例性文本处理块产生的输出特征向量形成决策统计的识别过程的示例性过程流程图;
13.图6是适用于实现本技术的一个方面的示例性计算环境的框图;
14.图7是示出根据在此描述的技术的一个方面对url进行分类的方法的流程图;
15.图8是示出根据在此描述的技术的一个方面对url进行分类的方法的流程图;以及
16.图9是示出根据在此描述的技术的一个方面对url进行分类的方法的流程图。
具体实施方式
17.技术的各方面的主题在本文中被具体描述以满足法定要求。然而,描述本身并不旨在限制本专利的范围。相反,发明人已经考虑了要求保护的主题也可以以其他方式体现,以包括与本文中描述的那些类似的不同步骤或步骤组合,并结合其他当前或未来技术。此外,尽管在本文中可以使用术语“步骤”和/或“块”来表示所采用的方法的不同元素,但这些术语不应被解释为暗示本文公开的各个步骤之间或之间的任何特定顺序,除非并且除非该顺序明确描述了各个步骤。
18.此处描述的技术使用既准确又快速的分类器来识别恶意url。该技术的某些方面特别适合用作实时url安全分析工具,因为该技术能够快速处理url,并在识别到恶意url时产生警告或其他自动响应。实时url安全分析评估可在客户端或服务器端用于多个应用程序,包括在用户的浏览器会话期间,在收到电子邮件时评估链接,在发布时评估包含url的社交媒体帖子,以及喜欢。
19.在此描述的技术更有效地使用计算资源,因为被分类的url可能是分类器的唯一输入。使用单个输入还可以减少延迟,因为需要处理的信息更少。该技术使用单个输入,而现有技术通常使用每个都需要处理的多个输入(例如,上下文、元数据)。在此描述的技术的快速处理速度部分是通过仅使用单个输入信号产生的,该输入信号是url本身。在一些方面,url是分类器的唯一输入。仅使用单个信号,通过消除评估每个输入信号所需的处理步骤,来提高评估过程的速度。使用多个信号的系统可能无法达到实时评估url所需的速度。该技术的某些方面不限于与url一起使用,还可以与电子文档中的其他非结构化文本一起使用,例如电子邮件、社交媒体帖子和网页。在一些方面,来自被分类内容的单个非结构化文本是分类过程的唯一输入。如本文所用,非结构化意味着没有元数据。
20.在此描述的技术产生了改进的准确性。在此描述的技术产生的高精度是通过在逐个字符级别和逐个词语级别二者分析非结构化文本来实现的。在此描述的技术使用来自传
入url的字符级和词语级信息,并且不依赖于手动制作的特征或特征工程。与仅将url作为字符或词语进行评估相比,使用分类器将url处理为字符组和一个或多个词语提供了更高的准确性。
21.在此描述的技术使用多个并行卷积层同时处理来自url的词语和字符。一方面,分类器架构包括与字符级路径并行的词语级路径。词语级路径接收作为输入词语级嵌入向量,而字符级路径接收作为输入字符级嵌入向量。
22.在字符级路径中,通过使用各自接收不同长度的字符n元文法(n-gram)的并行字符级层,来提高准确性。例如,第一并行层可以处理两个字符的n元文法(即二元文法,bi-gram),另一个并行层处理三个字符的n元文法,又一个处理四个字符的,等等。并行字符处理层的输出最终在分类器中合并,并被一起处理。
23.评估词语的并行层可以各自寻找不同长度的词语组。例如,第一层可以评估单个词语,第二层可以评估两个词语的组,等等。这些层可以是并行的。并行文字处理层的输出最终在分类器中合并,并被一起处理。卷积层的并行使用使该技术能够针对新的url而更好地泛化。在此描述的技术能够以极低的误报率提高真阳性率,从而超越传统的文本分类方法,这对于互联网规模的健康运营至关重要。这是通过并行处理来自url的字符和词语并结合此处描述的其他特征来实现的。
24.许多计算机安全相关的服务需要验证一个url(统一资源定位符)不提供因特网上恶意网页的位置。特别地,该技术可以生成url分类来检测网络钓鱼攻击。网络钓鱼可以广义地定义为一种通过电子渠道进行的社会工程攻击,它诱骗人类为攻击者的利益执行某些操作。这些行为可能包括获取密码或银行帐号,然后在黑市上出售。为此,在此描述的技术提供了一种新颖的字符级和词语级深度学习模型,该模型学习检测与这些钓鱼网站相关的恶意url。
25.可以将许多信号视为检测网络钓鱼页面的模型的特征,包括请求者的url、uri、静态html内容、页面的dom和页面的屏幕截图。这些原始信号中的大多数都需要大量的转换才能被用作有用的特征,这通常需要花费大量的时间来进行特征工程。在此描述的技术将url作为输入,并预测该url是否属于网络钓鱼攻击或其他恶意。该技术还可以应用于网页、电子邮件和其他数字内容上的其他非结构化文本。虽然此处描述的技术不限于与url一起使用,但以下描述的大部分将使用url作为示例输入。
26.除了实时分类,在此描述的技术对于检测“潜在的”网络钓鱼域很有用。潜在域是新注册的域,尚未托管恶意内容,但在不久的将来很有可能这样做。在这种情况下,域没有托管任何内容,唯一可以利用的信号通常是url。
27.在此描述的技术可以使用上下文嵌入。上下文嵌入的基本思想是在文本语料库中构建词语的词汇表,并为每个词语分配一个低维随机初始化的密集向量。在可以无监督的训练过程中,对语料库中的每个句子进行标记以提取词语,并且该算法的目标是预测给定词语的周围词语(即skipgram架构),或根据其周围词语或上下文预测单个词语(即,连续词袋或称cbow架构)。分配给每个词语的向量会被调整以优化此任务,并且训练的嵌入向量预计会反映上下文关系。训练后,具有相似含义的词语紧密位于嵌入空间中。在大型文本语料库上训练的词语嵌入可以用作下游模型的输入。然而,在网络钓鱼检测问题中,这种预先训练的向量没有用,因为出现在url语料库中的词语与任何语言语料库都不相似。因此,在此
描述的技术为基于词的分析构建了一组独特的嵌入,本质上为在url语料库中找到的文本字符串构建了一个独特的词汇表。url上下文中的“词语”可以是在实际url语料库中找到的一系列不同大小的n元文法。url“msn.com”中的词可能包括“msn”、“.”和“com”。在url语料库中以高于阈值频率再次出现的n元文法将被添加到url词汇表中。在一个方面,一个词由一系列n元文法表示。例如,词语“accommodation”可以用4元文法的向量表示:《“acco”、“ccom”、“comm”、“ommo”、“mmod”、“moda”、“odat”、“dati”,“atio”,“tion”》在一个方面,词语嵌入向量是基于n元文法生成的。在具有相似n元文法的意义上,接近的词将具有也接近的嵌入向量。
28.训练分类器需要训练数据。在这种情况下,训练数据可能是一组url和每个url的二进制网络钓鱼等级(网络钓鱼/良性)。等级用作训练和评估分类中使用的模型的标签。训练数据可以基于真实世界url的网络钓鱼分类。通常,可能需要建立一个训练组,其中至少5%的数据实例是网络钓鱼url。
29.如前所述,在此描述的技术使用已知比传统的词袋(bow)技术更有效的字符和词语嵌入。对于字符嵌入,构建训练语料库中出现的所有字符的字母表,然后分配一个查找表,该表获取字母表中每个字符的整数索引并且返回在网络训练期间训练的低维密集向量。为未知字符和空白空间保留了两个附加索引。该技术还定义了每个url中要处理的最大字符数。较长的url被修剪,较短的url用空字符填充以满足该最大值。利用这些超参数设置,每个输入url都被映射到字符嵌入的密集矩阵,如随后参考图3更详细描述的。
30.定义
31.人工神经网络(ann)是硬件或软件中的计算处理模块,其灵感来自类似于生物神经元中的元素。例如,长度为n标量元素vl、v2、...输出。在一方面,非线性例如是符号函数、双曲正切(tanh)函数、将最大值和/或最小值限制为可编程输出的函数、或relu函数。ann可以产生等于h(vl*wl+v2*w2+...+vn*wn+b0)的输出。这种网络基于输入和权重调整方法“学习”。可以基于在数据集上评估ann来迭代地调整权重,同时根据学习对象修改权重。可以使用一种或多种分类技术,例如梯度增强决策树二元分类。在一方面,决策树可以用作分类器,因为决策树可能更容易可视化并集成到实际解决方案中。
32.卷积层是卷积神经网络中的一层处理网络(cnn)层次结构。一个层是一组相邻的神经元,它们具有较小且相邻的感受野。一个cnn可能有许多已定义的层。在一方面,网络层的数量可以在cnn组件内定义,例如6层、16层、19层或38层。
33.卷积神经网络(cnn)是一种使用卷积操作执行操作的ann,通常用于图像数据。一个cnn可能有若干层网络,这些网络堆叠起来以反映更高级别的神经元处理。cnn神经元可能完全连接或部分连接到后续层。在向更高层提供神经元输出时可以跳过一层或多层。卷积可以以与输入相同的分辨率执行,或者使用不同于1的步幅进行数据缩减。层的输出可以通过池化层降低分辨率。一个cnn可能由几个相邻的神经元组成,它们只处理比整个图像小得多的感受野中的输入。cnn组件的示例包括zf net、alexnet、googlenet、lenet、vggnet、vgg、resnet、densenet等。
34.语料库是同类数据样本的集合。例如,与web流量相关联的url语料库是一组url,在一段时间内由安全组件监控。安全组件可以对url执行分析并且将来自安全性分析的标签与每个url关联。结果是包含url和关联标签的配对。配对的集合是语料库。
35.范数通常是向量空间上的正长度度量。在一方面,范数包括半范数。2-范数(2-norm)是元素平方和的平方根(2-范数)。1-范数是向量元素的绝对值之和。p-范数是提高到1/p次方的量,包括向量元素的绝对值的和,其中元素的每个绝对值都提高到p次方。无穷范数是每个向量元素的绝对值在向量元素上的最大值。
36.残差神经网络是一种人工神经网络,它将神经输出馈送到相邻层之外的层,跳过一层或多层,以便接收层形成一个结果,其中包括来自非相邻层的神经输入。
37.已经简要描述了在此描述的技术的方面的概述,下面描述可以实现在此描述的技术的方面的示例性操作环境。
38.现在转到图。参考图1,提供了示出可以在其中采用本公开各方面的操作环境100的框图。应当理解,在此描述的这种和其他布置仅作为示例阐述。可以使用其他布置和元素(例如,机器、接口、功能、命令和功能分组)来补充或代替所示出的那些,并且为了清楚起见可以完全省略一些元素。此外,在此描述的许多元素是功能实体,它们可以实现为离散或分布式组件或与其他组件结合,并以任何合适的组合和位置实现。在此描述为由一个或多个实体执行的各种功能可以由硬件、固件和/或软件来执行。例如,一些功能可以由处理器执行存储在存储器中的指令来执行。
39.在未示出的其他组件中,示例操作环境100包括多个用户设备,例如用户设备102a和102b至102n;多个网站,例如网站104a和104b至104n;搜索服务器106;应该理解,图1中所示的环境100是一个适当的操作环境的示例。图1中所示的每个组件图1可以通过任何类型的计算设备来实现,例如结合图6描述的计算设备600。6,例如。这些组件可以通过网络110相互通信,网络110可以包括但不限于一个或多个局域网(lan)和/或广域网(wan)。在示例性实现中,网络110包括互联网和/或蜂窝网络,以及各种可能的公共和/或专用网络中的任何网络。
40.应当理解,在本公开的范围内,可以在操作环境100内采用任意数量的用户设备、服务器和网站。每个都可以包括在分布式环境中协作的单个设备或多个设备。例如,搜索服务器106可以通过布置在分布式环境中的多个设备来提供,这些设备共同提供在此描述的功能。另外,未示出的其他组件也可以包括在分布式环境中。
41.用户设备102a和102b到102n可以是操作环境100的客户端上的客户端设备,而搜索服务器106可以是操作环境100的服务器端。服务器106可以包括设计为协同工作的服务器端软件与用户设备102a和102b至102n上的客户端软件一起实现本公开中讨论的特征和功能的任何组合。提供操作环境100的这种划分是为了说明合适环境的一个示例,并且对于每个实现不要求搜索服务器106和用户设备102a和102b至102n的任何组合保持为单独的实体。
42.用户设备102a和102b到102n可以包括用户能够使用的任何类型的计算设备。例如,在一个方面,用户设备102a到102n可以是关于图1描述的计算设备类型。6这里。作为示例而非限制,用户设备可以体现为个人计算机(pc)、膝上型计算机、移动或移动设备、智能手机、平板计算机、智能手表、可穿戴计算机、个人数字助手(pda)、mp3播放器、全球定位系统(gps)或设备、视频播放器、手持通信设备、游戏设备或系统、娱乐系统、车载计算机系统、嵌入式系统控制器、遥控器、电器、消费电子设备、工作站,或这些划定设备的任何组合,或可以呈现通知的任何其他合适的设备。用户可以与一个或多个用户设备相关联。用户可以
通过用户设备与搜索服务器106、网站104a和104b到104n通信。
43.在此描述的技术的一个目标是确保用户设备被警告恶意网站。网站104a和104b到104n可能包括良性网站和恶意网站,例如钓鱼网站。用户设备102a和102b至102n可以通过浏览器访问网站。用户可以通过由搜索服务106响应于查询提供的搜索结果找到网站。用户设备102a和102b到102n的用户可以通过点击嵌入在网页中、电子邮件中、社交媒体帖子中、通过应用程序等的超链接导航到网站104a和104b到104n。用户也可以简单地在浏览器的地址框中输入一个url。此处描述的技术方面将评估url并在url被分类为恶意时提供警告。分析和警告可以完全在用户设备102a和102b到102n上执行,单独由搜索服务器106执行,或者通过组合执行。搜索服务器106也可以用来收集分类器的训练数据。
44.除了警告用户之外,服务器或客户端上的安全组件还可以采取直接行动或代替警告用户。例如,访问与归类为网络钓鱼的url关联的网站可能会被浏览器阻止。基于客户端或服务器的电子邮件系统可以禁用指向被归类为网络钓鱼的url的超链接。搜索引擎可能会阻止显示带有指向被归类为网络钓鱼的url的链接的搜索结果。社交媒体平台或社交媒体应用程序可以删除或以其他方式阻止对社交媒体帖子的访问,其中包括指向被归类为网络钓鱼的url的链接。发布违规社交媒体帖子的社交媒体用户可能会受到警告。社交媒体用户可以被列入需要进一步调查的社交媒体用户列表,以确定该账户是网络钓鱼账户还是欺诈性账户。在检测到链接到网络钓鱼url的社交媒体帖子超过阈值时,社交媒体账户可能会自动被暂停。
45.操作环境100可以用于实现图2中描述的系统200的一个或多个组件,包括用于分类url和警告用户的组件。
46.参考图1并现在参考图2,其提供了示出一个示例性计算系统架构的框图,该计算系统架构适于实现该技术的各方面,并且通常被指定为系统200。系统200仅代表合适的计算系统架构的一个示例。除了所示出的那些或代替所示出的那些,可以使用其他布置和元件,并且为了清楚起见可以完全省略一些元件。此外,与操作环境100一样,在此描述的许多元素是功能实体,它们可以实现为离散或分布式组件或与其他组件结合,并且以任何合适的组合和位置。
47.在高层,系统200包括安全服务210,它接收url 201并返回指示url是恶意还是良性的分类202。此处恶意被描述为任何非良性的东西,例如网络钓鱼网站。安全服务210可被实现在一个或多个服务器上,例如搜索服务器106。搜索服务的各个方面可以分布在用户设备上,例如设备102a。在一方面,分类器226由分类器训练器250在服务器上训练,然后传送到用户设备。
48.示例系统200包括安全服务210(包括其组件212和220)和分类器训练器250。安全服务210(及其组件)和分类器训练器250(及其组件)可被实现为一组编译的计算机指令或功能、程序模块、计算机软件服务或在一个或多个计算机系统(例如结合图6描述的计算设备600)上执行的过程布置。
49.在一方面,由系统200的组件执行的功能与一个或多个个人助理应用程序、浏览器、服务或例程相关联。特别地,这样的应用程序、服务或例程可以在一个或多个用户设备(例如用户设备102a)、服务器(例如搜索服务器106)上运行,可以分布在一个或多个用户设备和服务器上,或者被实现在云端。此外,在一些方面,系统200的这些组件可以分布在网络
中,包括一个或多个服务器(例如服务器106)和客户端设备(例如用户设备102a),在云中,或者可以驻留在用户身上设备,例如用户设备102a。此外,这些组件、由这些组件执行的功能或由这些组件执行的服务可以在计算系统的适当的抽象层上实现,例如操作系统层、应用层、硬件层等)。备选地或附加地,这些组件的功能和/或在此描述的技术的方面可以至少部分地由一个或多个硬件逻辑组件来执行。例如但不限于,可以使用的示例性硬件逻辑组件类型包括现场可编程门阵列(fpga)、专用集成电路(asic)、专用标准产品(assp)、系统上-芯片系统(soc)、复杂可编程逻辑器件(cpld)等。此外,尽管本文针对示例系统200中所示的特定组件描述了功能性,但预期在一些方面,这些组件的功能性可以共享或分布在其他组件中。
50.在分类器226可以对url进行分类之前,它需要由分类器训练器250进行训练。最初,分类器226可以具有图4和图5中描述的架构,但无法准确分类url。分类器训练器250采用训练数据中的原始训练数据实例252(其包括url和对应的标签)作为输入,以构建训练的分类器226。一旦训练,分类器226可以对未标记的url进行分类。
51.分类器226中的层包括神经元。在此具体情况下,输入层神经元接收url的字符或词语嵌入,并将源自嵌入的数据传递给多个隐藏层中的神经元。隐藏层中的神经元将其计算结果传递给附加层,直到结果到达输出层。然后输出层为每个单独的段分类生成概率值。不同类型的层和网络以不同的方式连接神经元。
52.神经元有一个内在的激活函数,它在给定一个输入(一个数字向量)乘以另一个数字向量(称为权重)的情况下计算其输出。权重是可调整的参数,在给定输入-输出之间的先前已知匹配的情况下,使神经网络产生正确的输出。例如,如果训练url被标记为良性,那么正确的输出是将url分类为良性。在训练期间调整权重。一旦训练,与给定神经元相关的权重可以保持固定。神经元之间传递的其他数据可以响应给定的输入(例如url)而改变。用额外的训练数据重新训练网络可以更新一个或多个神经元中的一个或多个权重。
53.在每种类型的深度模型中,训练用于将模型输出拟合到训练数据。特别地,与模型中每个神经元相关的权重可以通过训练进行更新。最初,模型可以包含在训练期间调整的随机权重值。在这种情况下的训练是在多次迭代中完成的,每次迭代都包含多个步骤:前向传递、损失函数计算和反向传播,其中权重会根据神经网络在训练期间所犯的错误进行更新。对多批训练图像重复此过程。目标是更新每个神经元(或其他模型组件)的权重,以使模型生成一个输出,该输出映射到尽可能多的url的正确标签。训练数据包括标记的url。每个带标签的url都被输入到模型中并被用于训练它。一旦足够数量的训练url被馈送到分类器226使用的模型并且模型在训练期间停止改进或缓慢改进,就可以停止训练。然后可以使用该模型对未标记的图像进行分类(例如,不是训练文档)。
54.原始训练数据252可以包括主要由具有网络钓鱼等级的url组成的匿名浏览遥测数据。在一方面,网络钓鱼等级是介于0和5之间的整数。在一方面,网络钓鱼等级是安全0或可疑1。等级用作分类器226的训练和评估的标签。语料库的一部分留作训练数据,而另一部分保留用于测试分类器226的准确性。当原始数据中存在类不平衡时,对良性类进行下采样以改善训练集平衡。在一个方面,威胁类别占训练中使用的总数据的5%。通过分层抽样选择语料库的一部分来构建具有相同类平衡的验证集。
55.在训练期间,来自训练语料库的数据被呈现给分类器226作为url序列。每个url在
分类器226不知道真实数据的情况下被分类器226评估和分类。如果分类器226对url进行错误分类,则分类器226内的一个或多个ann的连接、权重、参数和偏差适于改进分类器226。
56.在一方面,分类器226使用pytorch深度学习框架进行训练。示例性配置包括二元交叉熵损失函数以及动量等于0.9且学习率初始化为0.01的sgd优化器。在一个方面,执行30个训练时(epoch)的训练,最小批量尺寸被设置为128,并且在每个训练时结束处获取验证分数。在每个实验的最终模型之后返回具有最佳验证损失的模型。学习率可以每5个训练时减半。
57.字符嵌入组件254构建用于训练输入的字符向量,但也可以构建用于字符理解的向量空间。词语嵌入组件256为训练输入构建词向量,但也可以为词理解构建向量空间。
58.url是包含一组符号的非结构化文本的一个示例。符号可以是例如非结构化数据的类比句子中的字符或词语。如所提到的,在此描述的技术对url进行基于词语和基于字符二者的分析。
59.作为字符嵌入组件254执行的初始步骤,识别url内的字符。在一方面,字母表中的每个字符被分配一个整数索引。为未知字符和空格保留有额外的索引。字母表中的每个字符都分配有一个m维嵌入向量,例如32维数值数组。在一方面,维度是标量,例如整数、浮点数或字段上的标量值。在一方面,通过存储与为字母表定义的每个符号相关联的嵌入向量来形成查找表。在一方面,嵌入向量的元素是随机分配的。
60.在一方面,url的长度l中的每个字符与字母表中的字符匹配。在一方面,长url被修剪为长度l,例如通过取前l个字符。在一方面,用空字符填充短url至长度l。在一方面,l作为参数被控制。在一个方面,l=1000、或500、或200。
61.在一个方面,为长度为l的url中的每个字符分配一个嵌入向量,并且为每个嵌入向量分配一个按照url中字符顺序的连续列,以生成字符嵌入矩阵。
62.符号嵌入矩阵在图3的矩阵300中示出。符号嵌入矩阵例如是字符嵌入矩阵或词语嵌入矩阵。字符嵌入由字符嵌入组件254生成,而词语嵌入组件256构建词语向量。图1中仅显示了字符向量。3,但是词语嵌入向量以类似的方式工作。字符嵌入矩阵的示例直接在图3的矩阵300中示出,其是针对m=5和l=7并且针对url“msn.com”。字符嵌入矩阵300的每一列示出一个n维向量。n维向量的每个元素的值被示为一个阴影级别,它反映了近似0到6的整数值。第一个“m”下的列表示用于字符“m”的五维嵌入向量,“s”下的列表示用于字符“s”的五维嵌入向量,以此类推。字母n、c、o、m和句点符号各自具有相似的向量。
63.在一个方面,类比符号是由url中的相邻字符形成的词。特征处理器识别类比符号,例如url中的词语。在一方面,词语嵌入组件256识别url中的词。url被标记为类比词。在一个方面,每个类比句子中的特殊字符包括“?/-_\=%@+;”被用来标记每个url以获得类比词。在此使用的类比词语是在训练数据的不同url内重复出现的相邻字符的字符串。类比词语不必是任何语言中的词语。在一个方面,这些特殊字符也包括在模型词汇表中。每个标记化的词语都与在url设计语料库中遇到的预定义词语模型库进行比较。通过分析一个词语在url语料库中出现的频率,构建了一个类比词语的词汇表。在一方面,新遇到的词语被添加到模型词汇表中。在一个方面,模型库从可能遇到的所有类(良性或恶意)的url的训练语料库得出。在一方面,在训练集中出现在训练语料库中超过用户定义的次数的词被添加到模型库中。
64.n维嵌入向量被分配给url中的每个类比词,以形成诸如矩阵300的符号矩阵,使得矩阵300的每一列与一个词相关联,而不是与图3所示的单个字符相关联。在一个方面,嵌入向量是通过查表操作被分配的,该查表操作采用一个标记化的词并从一个表中返回一个定义的嵌入向量。在一方面,词语嵌入组件256分配嵌入向量。在一个方面,n=32。在一方面,随机值被分配给每个嵌入向量的每个元素,该嵌入向量被分配给模型库中的唯一词。在一个方面,当一定数量的n元文法词语匹配时,将唯一的嵌入向量分配给模型库中的多个词语。在一个方面,上下文词语嵌入是从url语料库中学习的。
65.一旦建立了向量空间,url就可以被用于嵌入未标记的url的词语嵌入组件224翻译成词语嵌入。类似地,字符嵌入可以由字符嵌入组件222以与所述相同的方式构建。结果是用于训练分类器226的嵌入采用与分析url时输入到分类器的嵌入相同的形式。
66.转到图4,处理块410显示了被用来形成输出特征向量的一个url处理块中的示例性组件。如参考图5所解释的,输出特征向量可用于生成分类。输出特征向量,例如连结块415的输出,由连结块415内发生的连接形成,连结块415从分量处理支路(cpl)获取输入。在图4所示的例子中,使用了五种不同的cpl,但仅显示了三种。其他两个的存在由点表示。从左到右,五个cpl包括cpl-a 401、cpl-b 402、cpl-c、cpl-d和cpl-e 403。三个cpl被明确地显示在图4的cpl-a 401、cpl-b 402和cpl-e 403中,作为输入块411和连结块415之间的垂直路径。cpl的cpl-c是类似于cpl-b 402但具有参数f=4的块,其中f是滤波器尺寸。cpl-d是类似于cpl-b 402的块,但具有参数f=5。每个cpl,例如cpl-b 402,采用符号嵌入矩阵300并在412执行卷积操作,在413执行一个或多个归一化操作,以及执行非线性操作414以形成分量特征矩阵。针对每个cpl定义有不同的参数,这些参数决定了在一个支路中执行的处理。例如,被表示为ps-b的用于cpl-b 401的参数包括滤波器尺寸f、膨胀d、输入通道尺寸i、输出通道尺寸o、最大池窗口宽度w、组大小j,以及一组j个滤波器核定义{kd1,kd2,...kdj}。类似地针对每个其他支路而定义一组参数。cpl-a401的参数集是ps-a。cpl-c的参数集是ps-c。cpl-d的参数集是ps-d。cpl-e 403的参数集是ps-e。核定义是定义滤波器的一组滤波器术语。在一方面,为滤波而定义的核是一维的。在一方面,定义核项的滤波器值是在训练期间学习的。在一个方面,输出尺寸o被指定为输入尺寸i的整数倍,从而定义核的数量。即,o=j*i。
67.cpl内执行的操作通常可以通过在cpl-b 402中执行的处理来理解。一方面,通过在符号嵌入矩阵300的每一行上被执行的独立的操作,在416处执行一维卷积操作。例如,卷积输出340的行311是通过使用核kd1滤波行301而形成的。卷积输出340的行321是通过使用核kd2滤波行301而形成的。卷积输出340的行312是通过使用核kd1滤波行302而形成的。卷积输出340的行322是通过使用核kd2滤波行302而形成的。同样,行313和323是通过对符号矩阵300的行303上的核kd1和kd2的卷积处理而形成的。行314和324是通过对符号矩阵300的第304行上的核kd1和kd2的卷积处理而形成的。行315和325是通过对符号矩阵300的第305行上的核kd1和kd2的卷积处理而形成。卷积输出340特征矩阵的形成与选定的滤波器长度f相关联。
68.在图3所示的示例中,滤波器长度f=3,膨胀(dialation)d=l,i=5,o=10。k1和k2的术语是在训练的时候学过的。在产生卷积输出340特征矩阵的元素时,一次三个符号通过滤波器核,以产生单个元素。例如,行311和列331处的输出取自分别在“m”、“s”和“n”下的
行301嵌入元素,作为与核kd1元素的点积。行311和列332处的输出与核kd1的元素形成点积而取自分别在“s”、“n”、“.”下的行301嵌入元素。图3提供了没有零填充的处理,因此长度为7的url导致卷积输出340的行311具有5个元素。在一个方面,使用零填充来执行卷积。
69.在一方面,卷积输出340矩阵的列331是这样形成的:通过专用的映射滤波器来处理嵌入向量矩阵300的一部分。例如,嵌入向量矩阵300的行301-305中的15个元素(其也位于字符“msn”下)可以通过专用映射滤波器来处理,以形成在列331中找到的10个输出。专用的映射滤波器的示例包括多输出自适应网络、循环神经网络和长短期记忆网络(lstm)。
70.归一化块413对卷积输出340矩阵执行一个或多个归一化操作,例如批量归一化(bn)和最大池化。cnn训练通常以小批量进行。在批量归一化中,输入向量中的每个元素都经过缩放,以便训练批次中的所有对应元素的均值和单位方差为零。在池化操作中,在分量特征矩阵的一部分(例如行311)内,尺寸为w的窗口被池化,并且窗口的输出由诸如平均之类的操作或诸如最大、中间或者rank-m之类的排名顺序确定。在rank-m操作中,窗口内的第m个排序值被输出。
71.非线性操作414接收归一化块413的输出,并且形成用于cfl-b的分量特征矩阵(cfm),其被表示为cfm-b。在一方面,使用整流线性单元(relu)非线性。在一个方面,在应用relu函数之前应用偏置项。
72.其他支路(例如cpl-a 401、cpl-c、cpl-d和cpl-e 403)的处理类似于在cpl-b 401中执行的处理。因此,分支cpl-a 401产生组件特征矩阵cfm-a。分支cpl-c生产cfm-c。分支cpl-d生产cfm-d。分支cpl-e 403生产cfm-d。连结块415从cfm-a、cfm-b、cfm-c、cfm-d和cfm-e的连结产生o维向量的输出序列。
73.块410是基本文本处理块(tbp),其被定义处理操作的参数集参数化,例如参数集ps-a、ps-b、ps-c、ps-d和ps-e。
74.现在转到图5,直觉上,字符嵌入序列上的滤波尺寸为n的id卷积,类似于从输入文本中提取n元文法。并行使用卷积层、每个卷积层具有不同的滤波器尺寸的好处是,与具有固定滤波器尺寸的多个连续层相比,这种布置可以更好地捕获文本模式。
75.完整模型500包括两条并行路径:字符级路径501用于提取字符级信息,以及词语级路径502用于处理词语级信息。字符级路径501首先将原始url转换成字符嵌入向量的密集矩阵,如参考图3所描述的。接下来,多层卷积块(例如,512、516、519)被应用,随后是自适应最大池化层(例如,513、517、520),其将最后一个块(例如,514、518、521)输出的尺寸限制为用户定义的值。
76.词语级路径502首先使用已在构建模型中使用的相同正则表达式(regex)键对传入的url进行标记。然后,将url中的词语列表与最大词语长度进行匹配,从而修剪较长的词语列表,并用零填充较短的词语列表。然后,该列表通过词语嵌入层507以产生词向量序列,随后是多个卷积块(例如,532、536和539)。词语路径的输出也使用自适应最大池化算子来限制。
77.字符级路径501和词语级路径502的输出被连接592,并被输入到最终产生类概率的多个完全连接层(例如,594、596和598)。具有较多节点的层具有较大的丢失概率。请注意,用户可以选择多种结构:具有更多连续卷积块的更深网络、具有更多并行层的更宽网络、使用具有预训练权重的词与随机权重,甚至不使用词。
78.图5示出了来自一个或多个文本处理块的输出的sigmoid(s型函数)599的输出处的决策分数的形成,其该决策分数被用来指派类别概率,例如恶意或良性概率。这样的决策分数提供了确定所选类别的基础,该类别由结果类别概率描述。作为sigmoid函数的替代方案,可以使用softmax函数。当输出指定多个类别(例如良性、网络钓鱼、垃圾邮件等)时,softmax函数可能特别有用。层598的输出继而是一组n个已识别特征v1、v2、...vn和相应权重w1,w2,...wn的最终集合,其可以利用已定义的偏移常量b0处理,将由sigmoid 599中的非线性h(.)处理以产生决策分数d。一个代表性的ann可以产生输出d,它等于h(vl*wl+v2*w2+...+vn*wn+b0)。如图所示的例子。在图5中的示例中,离开层598的特征长度为n=128,它从层596中获取512个输入元素,因此实现了25%的暂弃(dropout)。层596从一个全连接层产生512个输出,该全连接层从第594层获取1028个输入。层596在向层598的输出处还有一个非线性层,并实现了50%的暂弃。层594通过处理来自连结块592的输出,产生向层596的1028个输出,而连结块592提供1536个输入。例如,层594是具有输出非线性的全连接卷积层,例如relu,并实现了75%的暂弃率。在一方面,连结块592通过以下方式来产生1536个输出:从自适应最大池块591获取512个输出,并将其与来自自适应最大池块593的1024个输出连结。
79.在一方面,最大池化块591从两个结构相同的tbp接收512个输入,即tpb 550和tpb 510,它们是串联连接的。在一方面,tpb 550的卷积允许列的增长,使得550内的卷积块具有输入64和输出128。在示例中,tpb 510被配置为具有如图所示的四个支路。卷积块512具有f=2。卷积块516具有f=3。卷积块519具有f=4。卷积块522具有f=5。变量f对应于输入滤波器尺寸。因此,滤波器为4的块将从url中获取四个相邻字符作为输入。
80.每个卷积块连接到输入511,并且针对32维输入向量和64维输出向量而被配置。每个卷积块之后是相应的归一化块513、517、520和523,以及相应的非线性块514、518、521和524,然后被连结在一起以形成连结块515输出处的长度256的向量。嵌入块505根据从url识别块503接收的原始输入串,创建字符嵌入矩阵300,并将输入传递给tpb 510。
81.在一方面,最大池化块593从两个结构相同的tpb接收1024个输入,即tpb 570和tpb 530,它们是串联连接的。在一方面,tpb 570的卷积允许列的增长,使得570内的卷积块具有输入64和输出128。一方面,tpb 530包括用于32维词语嵌入向量的三个并行处理路径。在一方面,tpb 510包括卷积块532,其被配置为f=1、i=32、o=64、j=2、d=1。f描述了滤波器的尺寸。滤波器尺寸为1表示输入将是单个词语嵌入向量。词语嵌入向量表示单个词语,可以包含不同数量的字符,甚至可以只包含一个字符。在一方面,卷积滤波器块536被配置为f=3、o=64、j=2、d=1。滤波器尺寸为3表示输入将是三个词语嵌入向量。在一方面,卷积滤波器块539被配置为f=5、o=64、j=2、d=1。滤波器尺寸为5表示输入将是五个词语嵌入向量。tpb 530采用从原始url得出的词语嵌入矩阵并执行卷积。词语嵌入块507例如根据从类比句子识别块503接收的原始输入串,来创建一个词语嵌入矩阵,例如矩阵300,并将输入传递到tpb 530。输入处理块531将词语嵌入矩阵传递到卷积块532、536和539中的每一个。卷积块532对输入执行指定的卷积,并将输出传递到归一化块533,归一化块533将其输出通过非线性块534传递到连结块535。卷积块536对输入执行指定的卷积,并将输出传递到归一化块537,其将其输出通过非线性块538传递到连结块535。卷积块539对输入执行指定的卷积,并将输出传递到归一化块540,归一化块540将其输出通过非线性块541传递到连结
块535。
82.在一方面,诸如591之类的自适应最大池块允许用户指定固定输出尺寸。在一方面,自适应最大池块593以32的输出尺寸操作。在一方面,自适应最大池块593以16的输出尺寸操作。在一方面,自适应最大池块591以32的输出尺寸操作.
83.在一方面,由sigmoid 599产生的决策分数基于来自tpb 510的输出特征矩阵。在一方面,由sigmoid 599产生的决策分数基于来自tpb 530的输出特征矩阵。在一方面,决策sigmoid 599产生的分数基于来自tpb 510的输出特征矩阵和来自tpb 530的输出特征矩阵。一方面,由sigmoid 599产生的决策分数在tpb 550被串联配置时基于来自tpb 550的输出特征矩阵,以从tpb 510获取输入特征矩阵。一方面,由sigmoid 599产生的决策分数在tpb 570被串联配置时基于来自tpb 570的输出特征矩阵,以从tpb 530获取输入特征矩阵。一方面,由sigmoid 599产生的决策分数基于从诸如tpb510、tpb 530、tpb 550和tpb 570的一个或多个tpb得出的两个或更多卷积层的深度学习。
84.在一个方面,输入是针对不同威胁级别而被评估的url。在一个方面,决策分数用于对url的威胁级别进行分级。将决策分数与阈值进行比较,并分配一个等级或整数级别。sigmoid 599的输出是决策分数d。将决策分数d与一个或多个阈值进行比较以确定威胁级别(tl)类别,例如介于0到5之间的整数,其指示url的危险级别,其中0表示威胁最小,5表示威胁最大。如果阈值设置为tl》3,则如果sigmoid决策分数指示tl=4或tl=5,则认为url具有威胁性。当sigmoid 599确定tl》3时,计算机显示器在警报框中显示警告,在图形用户界面上指示计算机用户请求的url可能与网络钓鱼攻击相关联。在一方面,tl=5被指示给用户作为高威胁级别,tl=4被指示为中等高威胁级别。tl=3表示为中等威胁级别。tl=2表示威胁程度低。tl=1表示威胁级别非常低。tl=0表示没有威胁。在一方面,使用十个威胁级别。
85.参考图6,计算设备600包括直接或间接耦合以下设备的总线610:存储器612、一个或多个处理器614、一个或多个呈现组件616、一个或多个输入/输出(i/o)端口618、一个或多个更多i/o组件620和示意性电源622。总线610表示可以是一个或多个总线(例如地址总线、数据总线或它们的组合)。虽然图的各种块。为了清楚起见,图6用线示出,实际上,这些块代表逻辑的,不一定是实际的组件。例如,可以将诸如显示设备之类的呈现组件视为i/o组件。此外,处理器具有内存。发明人在此认识到这是本领域的本质,并重申图1的图。图6仅说明可结合本技术的一个或多个方面使用的示例性计算设备。诸如“工作站”、“服务器”、“膝上型电脑”、“手持设备”等这样的类别之间没有区别,因为所有这些都被设想在图1的范围内。6并参考“计算设备”。
86.计算设备600通常包括各种计算机可读介质。计算机可读介质可以是可以由计算设备600访问的任何可用介质,并且包括易失性和非易失性介质、可移动和不可移动介质。作为示例而非限制,计算机可读介质可以包括计算机存储介质和通信介质。
87.计算机存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模块或其他数据等信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括但不限于ram、rom、eeprom、闪存或其他存储技术、cd-rom、数字多功能磁盘(dvd)或其他光盘存储、磁带、磁带、磁盘存储或其他磁存储设备,或可用于存储所需信息并且可由计算设备600访问的任何其他介质。计算机存储介质本身不包括信号。
88.通信媒体通常包含计算机可读指令,调制数据信号(例如载波或其他传输机制)中的数据结构、程序模块或其他数据,并包括任何信息传递媒体。术语“调制数据信号”是指具有一个或多个其特征的信号,该特征以这样一种方式设置或改变,以便在信号中编码信息。作为示例而非限制,通信媒体包括有线媒体,例如有线网络或直接有线连接,以及无线媒体,例如声学、rf、红外线和其他无线媒体。以上任何内容的组合也应包括在计算机可读介质的范围内。
89.存储器612包括易失性和/或非易失性存储器形式的计算机存储介质。存储器可以是可移除的、不可移除的或其组合。示例性硬件设备包括固态存储器、硬盘驱动器、光盘驱动器等。计算设备600包括一个或多个处理器614,其从诸如存储器612或i/o组件620等各种实体读取数据。616向用户或其他设备呈现数据指示。示例性呈现组件包括显示设备、扬声器、打印组件、振动组件等。
90.i/o端口618允许计算设备600在逻辑上耦合到其他设备,包括i/o组件620,其中一些可以内置。说明性组件包括麦克风、操纵杆、游戏手柄、卫星天线、扫描仪、打印机、无线设备等。
91.i/o组件620可提供自然用户界面(nui),其处理由用户产生的空中姿势、语音或其他生理输入。在某些情况下,可以将输入传输到适当的网络元件以进行进一步处理。nui可以实现语音识别、触摸和触控笔识别、面部识别、生物特征识别、屏幕上和屏幕附近的手势识别、空中手势、头部和眼睛跟踪以及与计算设备上的显示器相关联的触摸识别的任意组合600.计算设备600可以配备有深度相机,例如立体相机系统、红外相机系统、rgb相机系统以及这些的组合,用于手势检测和识别。此外,计算设备600可以配备能够检测运动的加速度计或陀螺仪。加速度计或陀螺仪的输出可提供给计算设备600的显示器以呈现沉浸式增强现实或虚拟现实。
92.计算设备600的一些方面可以包括一个或多个无线电装置624(或类似的无线通信组件)。无线电624发送和接收无线电或无线通信。计算设备600可以是适于通过各种无线网络接收通信和媒体的无线终端。计算设备600可以通过诸如码分多址(“cdma”)、全球移动系统(“gsm”)或时分多址(“tdma”)等无线协议进行通信,以与其他设备。无线电通信可以是短程连接、长程连接或短程和长程无线电信连接两者的组合。当我们提到“短”和“长”类型的连接时,我们并不是指两个设备之间的空间关系。相反,我们通常将短距离和长距离称为连接的不同类别或类型(即主要连接和次要连接)。作为示例而非限制,短距离连接可以包括到提供对无线通信网络的访问的设备(例如,移动热点)的连接,例如使用802.11协议的wlan连接;与另一个计算设备的蓝牙连接是短距离连接或近场通信连接的第二个示例。作为示例而非限制,远程连接可以包括使用cdma、gprs、gsm、tdma和802.16协议中的一种或多种的连接。
93.现在转到图,一种用于在url中显示非结构化文本的类指示的方法700。方法700可以由先前描述的系统200执行。
94.在步骤702,该方法包括接收url。url可以作为按需url分析的一部分被接收。实时进行按需分析。按需分析可以首先将url与已知恶意url或良性url的列表进行比较。在未在列表中找到url时,可以继续随后描述的分析。按需分析可以由用户在
浏览器中输入url、接收电子邮件、文本或具有嵌入式url(例如,超链接)的社交媒体内容、导航到具有url链接的网站、或响应其他操作。在此描述的技术不限于与按需服务一起使用。例如,该技术可以评估在域名服务中注册的新url。
95.在步骤704,该方法包括从url形成第一上下文词语嵌入,其表示在url中识别的第一词语和url中该第一词语的上下文。之前已经例如参考图2-图5描述了上下文词语嵌入。
96.在步骤706,该方法包括从url形成第二上下文词语嵌入,其表示url中识别的第二词语和url中该第二词语的上下文。之前已经例如参考图2-图5描述了上下文词语嵌入。
97.在步骤708,该方法包括在url分类器的词语级路径中的第一并行路径中处理第一上下文词语嵌入,该第一并行路径具有第一滤波器长度。之前已经例如参考图2-图5描述了处理嵌入。
98.在步骤710,该方法包括在url分类器的词语级路径中的第二并行路径中处理第二上下文词语嵌入,第二并行路径具有大于第一滤波器长度的第二滤波器长度。之前已经例如参考图2-图5描述了处理嵌入。
99.在步骤712,该方法包括从词语级路径生成词语级输出。
100.在步骤714,该方法包括使用词语级输出生成决策输入向量。在一方面,词语级输出可以与来自并行字符级路径的字符级输出通过连结而组合。之前已经例如参考图2-图5生成决策输入向量。
101.在步骤716,该方法包括使用决策输入向量生成决策统计。之前已经例如参考图2-图5生成决策统计。
102.在步骤718,该方法包括确定决策统计指示该url是恶意的。决策统计可以是数字。某个范围内的数字可能表明该url是恶意的。如果不在恶意范围,则url可能是良性的。
103.在步骤720,该方法包括响应于指示该url是恶意的决策统计而阻止对该url的访问。web浏览器可以禁用指向与非结构化文本相关联的网页的链接。通信程序可以隔离与非结构化文本相关的电子邮件、文本、社交媒体帖子、视频、博客或其他内容。例如,带有与非结构化文本相关联的链接的电子邮件可能会被移至垃圾邮件箱。在一方面,阻止非结构化文本的源将任何附加内容传送到非结构化文本正被分类的实体。例如,可以将电子邮件地址、ip地址、社交媒体账户、互联网域添加到阻止列表中。可能会要求实体确认将源添加到阻止列表。在一方面,与非结构化文本相关联的内容源(例如,网页)上的所有代码都被自动停止。
104.也可以提供警告。警告可以采取多种形式。可以通过将指向url的链接变为红色、将地址栏变为红色、输出弹出警告等来提供警告。除了警告之外,还可以禁用指向url的链接,并且可以阻止加载在url处找到的网页。该url可以提交给跟踪恶意url的服务。
105.现在转到图,一种用于在url中显示非结构化文本的类指示的方法800。方法800可以由之前描述的系统200执行。
106.在步骤802,该方法包括接收url。url可以作为按需url分析的一部分被接收。实时进行按需分析。按需分析可以首先将url与已知恶意url或良性url的列表进行比较。在未在列表中找到url时,可以继续随后描述的分析。按需分析可以由用户在浏览器中输入url、接收电子邮件、文本或具有嵌入式url(例如,超链接)的社交媒体内容、导航到具有url链接的网站、或响应其他操作。在此描述的技术不限于与按需服务一起使用。例如,该技术可以评
估在域名服务中注册的新url。
107.在步骤804,该方法包括,通过识别url中形成url特定词汇表中词语的字符串,从url形成上下文词语嵌入。之前已经例如参考图2-图5描述了上下文词语嵌入。
108.在步骤806,该方法包括在url分类器的词语级路径中处理上下文词语嵌入。之前已经例如参考图2-图5描述了输入嵌入。
109.在步骤808,该方法包括从词语级路径生成词语级输出。之前已经例如参考图2-图5描述了从词语级路径生成输出。
110.在步骤810,该方法包括使用词语级输出作为输入来生成决策输入向量。之前已经例如参考图2-图5描述了生成决策输入向量。
111.在步骤812,该方法包括,使用决策输入向量生成决策统计。之前已经例如参考图2-图5描述了生成决策统计。
112.在步骤814,该方法包括确定决策统计指示url是恶意的。决策统计可以是数字。某个范围内的数字可能表明该url是恶意的。如果不在恶意范围,则url可能是良性的。
113.在步骤816,该方法包括响应于分类自动阻止对与非结构化文本相关联的内容的访问。web浏览器可以禁用指向与非结构化文本相关联的网页的链接。通信程序可以隔离与非结构化文本相关的电子邮件、文本、社交媒体帖子、视频、博客或其他内容。例如,带有与非结构化文本相关联的链接的电子邮件可能会被移至垃圾邮件箱。在一方面,阻止非结构化文本的源将任何附加内容传送到非结构化文本正被分类的实体。例如,可以将电子邮件地址、ip地址、社交媒体账户、互联网域添加到阻止列表中。可能会要求实体确认将源添加到阻止列表。在一方面,与非结构化文本相关联的内容源(例如,网页)上的所有代码都被自动停止。
114.阻塞可能伴随有警告。警告可以采取多种形式。可以通过将指向url的链接变为红色、将地址栏变为红色、输出弹出警告等来提供警告。除了警告之外,还可以禁用指向url的链接,并且可以阻止加载在url处找到的网页。该url可以提交给跟踪恶意url的服务。
115.现在转到图,一种用于显示非结构化文本的类别指示的方法900。方法900可以由先前描述的系统200执行。
116.在步骤902,该方法包括接收非结构化文本。在一方面,非结构化文本不是遵循语法约定的自然语言组合。相反,非结构化文本可能是非语法的。非结构化文本可能包括不构成已知语言词语的字符串。非结构化文本可能没有任何元数据。非结构化文本可以是url、电子邮件地址、用户名、社交媒体账户标题、商标、主题标签等。
117.在步骤904,该方法包括从非结构化文本形成第一数量字符的第一上下文字符嵌入。之前已经例如参考图2-图5描述了上下文字符嵌入。
118.在步骤906,该方法包括从非结构化文本形成第二数量字符的第二上下文字符嵌入,其中第一数量小于第二数量。之前已经例如参考图2-图5描述了上下文字符嵌入。
119.在步骤908,该方法包括在分类器的字符级路径内的第一并行路径中处理第一上下文字符嵌入。之前已经例如参考图2-图5描述了处理嵌入。
120.在步骤910,该方法包括在分类器的字符级路径内的第二并行路径中处理第二上下文字符嵌入。之前例如已经参考图2-图5描述了处理嵌入。
121.在步骤912,该方法包括从字符级路径生成第一字符级输出。之前例如已经参考图
2-图5描述了生成字符级输出。
122.在步骤914,该方法包括使用第一字符级输出作为输入来生成决策输入向量。之前例如已经参考图2-图5描述了生成决策输入向量。
123.在步骤916,该方法包括使用决策输入向量生成决策统计。之前例如已经参考图2-图5描述了生成决策统计。
124.在步骤918,该方法包括,确定决策统计指示非结构化文本被分类为安全风险。决策统计可以是数字。某个范围内的数字可能表明该url是恶意的。如果不在恶意范围,则url可能是良性的。
125.在步骤920,该方法包括响应于分类自动阻止对与非结构化文本相关联的内容的访问。例如,网络浏览器可以禁用指向与非结构化文本相关联的网页的链接。通信程序可以隔离与非结构化文本相关的电子邮件、文本、社交媒体帖子、视频、博客或其他内容。例如,带有与非结构化文本相关联的链接的电子邮件可能会被移至垃圾邮件箱。在一方面,阻止非结构化文本的源将任何附加内容传送到非结构化文本正被分类的实体。例如,可以将电子邮件地址、ip地址、社交媒体账户、互联网域添加到阻止列表中。可能会要求实体确认将源添加到阻止列表。在一方面,与非结构化文本相关联的内容源(例如,网页)上的所有代码都是自动停了下来。
126.也可以提供警告。警告可以采取多种形式。如果非结构化文本是url,则可以通过将指向url的链接变为红色、将地址栏变为红色、输出弹出警告等来提供警告。除了警告之外,还可以禁用指向url的链接,并且可以阻止加载在url处找到的网页。该url可以提交给跟踪恶意url的服务。
127.在不脱离以下权利要求的范围的情况下,所描绘的各种组件以及未示出的组件的许多不同布置是可能的。已经描述本技术的方面是为了说明性而不是限制性的。在阅读本公开内容之后并且因为阅读本公开内容,替代方面对于本公开内容的读者将变得显而易见。在不脱离以下权利要求的范围的情况下,可以完成实现前述的替代方式。某些特征和子组合是有用的并且可以在不参考其他特征和子组合的情况下被采用并且被设想在权利要求的范围内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1