BETTINA 2018-10-19
EMNLP 2017 Long Paper
在线网络犯罪市场中识别产品:一个细粒度域适应的数据集
Identifying Products in Online Cybercrime Marketplaces: A Dataset for Fine-grained Domain Adaptation
ALT公司
Alt Inc
【摘要】机器学习NLP模型的一个弱点是它们通常在域外数据上表现不佳。在这项工作中,我们研究了识别在线网络犯罪论坛交易的产品的任务,这些论坛都具有很有挑战性的跨域效应。我们制定一个任务,这个任务是插槽填充信息提取、命名实体识别与标注四个不同论坛的数据的混合体。这些论坛中的每一个都构成了自己的“细粒度领域”,因为每个论坛涵盖了具有不同属性的不同市场部门,尽管所有论坛都处于网络犯罪的广义领域。我们在基于学习系统的背景下描述这些领域差异:监督模型在应用于新论坛的准确性会减低,半监督学习和域适应技术在这些数据下效果有限,这表明我们需要改进这些技术。我们发布了一个从四个论坛取来的1,938个标注帖子的数据集(训练模型的数据集和代码参见https://evidencebasedsecurity.org/forums)。
1 引言
NLP非常有助于进行科学查询,帮助我们快速有效地了解大型语料库,收集证据和测试假设(Bamman等,2013; O'Connor等,2013)。自动分析特别有用的一个领域是互联网安全性:研究人员获得大量的关于活跃的威胁或正在进行的网络犯罪活动的文本数据,这种情况下能够快速表征文本并得出结论的能力非常有用(Krebs,2013a,b)。然而,进行自动分析是困难的,因为这种数据是常规NLP模型的超域,这损害了离散模型(McClosky等,2010)和深层模型(Zhang et al,2017)的性能。不仅如此,我们发现,一个网络犯罪论坛的数据甚至超出了另一个网络犯罪论坛的领域,使得这些数据特别具有挑战性。
在这项论文中,我们提出了在这些在线网络犯罪论坛的市场部分中识别被购买和销售的产品的任务。我们定义一个词条级标注任务,对于每个帖子,我们标注帖子中被买卖的产品。以这种方式自动标注帖子的能力使我们能够根据交易的产品来描述论坛的组成,包括交易产品的类型,识别时间趋势,将用户与特定活动相关联,或与价格信息相联系以更好地了解市场。其中一些分析仅需要帖子信息(在这篇文章中购买或出售的产品是什么?),而其他分析可能需要词条级参考信息;我们在词条级别进行标注,使我们的标注尽可能通用。我们的数据集已经证明能够对这些特定论坛(Portnoff等,2017)进行案例研究,包括对大量黑客帐户的市场活动与销售自己的账户的用户进行研究。
图1 Darkode,带有标注的产品词条
第二个例子表明术语(fud意味着“完全不可检测”),可能是其他上下文(Exploit)中的产品的名词,以及单个服务的多个不同词汇描述。请注意,这些帖子比通常的Darkode帖子(61.5个字)短得多。
我们的任务与槽填充信息提取(来源信息)以及标准命名实体识别(NER)具有相似之处。与NER相比,我们的任务对上下文的依赖性更高:我们只关心在一个帖子上买或卖的具体产品,而不是其他可能被提及的产品。而且,由于我们在论坛上进行试验,所以数据集比CoNLL(Tjong Kim Sang和DeMeulder,2003)这样的类似NER语料库的数据更为混乱。虽然以前的工作已经处理了这些混乱特征的语法和(Kaljahi等,2015)和话语(Lui和Baldwin,2010; Kim等人,2010; Wang等,2011)层面,我们的工作是第一个从信息提取的角度处理论坛数据(尤其是市场论坛)。
在标注了数据集之后,我们使用了监督和半监督学习方法来研究产品提取问题。词条的二进制或CRF分类作为产品是有效的,但是当在一个论坛上训练的系统应用于不同的论坛时,性能会急剧下降:在这个意义上,即使是两个不同的网络犯罪论坛似乎代表不同的“细粒度域“。由于我们希望避免为每个可能需要分析的新论坛标注数据,因此我们将探讨几种适应方法,混合类型级标注(Garbtete和Baldridge,2013; Garrette et al ,2013),词条级标注(DaumeIII,2007)和半监督方法(Turian等,2010; Kshirsagar等,2015)。我们应用这些方法后几乎没有改进,我们会讨论为什么这些方法不会产生什么大的效果。
总体而言,我们的结果描述了我们在网络市场数据中的细粒度域适应问题的挑战。我们相信,这个新的数据集提供了一个有用的测试平台,可以用于进一步查询和调查细粒度域差异的建模。
我们考虑几个交易的主要产品不同的论坛:
● Darkode:Cybercriminal商品,包括开发工具,垃圾邮件服务,勒索软件和隐身机器人。
● 黑客论坛:网络安全和电脑游戏黑客与非网络犯罪产品的混合状态。
● Blackhat:Blackhat搜索引擎优化技术。
● Nulled:数据窃取工具和服务。
表1给出了这些论坛的一些统计数据。这些也被Portnoff等人(2017年)用于研究产品活动。我们收集了所有可用的帖子,并标注了其中的一部分。我们总共标注了130,336个词条;算上多个标注人员,我们的标注人员在标注数据的过程中考虑了478,176个词条。
图1显示了Darkode的两个帖子示例。除了我们在下面描述的标注方面,我们还可以看到,这些文本的特征超出了网页文本的常见特征:缩写,非文字性,拼写错误和视觉格式,特别是在分支标题中。另外,请注意,某些在本帖中不是产品的条目可能会出现在其他文章中(例如,漏洞利用)。
2.1 标注过程我们通过六轮初步标注开发了我们的标注指南,涵盖560个帖子。随后每一轮讨论解决每一个不同意见的帖子。受益于我们团队的成员,他们为该任务带来了丰富的领域专长。除了完善标注指南之外,开发过程还会对不是安全专家的标注人员进行训练。在此过程中标注的数据不包括在表1中。
一旦我们定义了标注标准,我们就对Darkode,Hack Fool,Blackhat和Nulled标注了数据集,如表1所示(这个表没有包括检查一致性所需的额外帖子)。3个人在Darkode和Hack Forums训练集,Blackhat和Nulled测试集上进行标注;然后,这些标注通过多数表决合并成最终标注。 Darkode和Hack Forums的开发和测试集由额外的团队成员标注(Darkode有五个,Hack Fool有一个),然后讨论并解决每个分歧,以生成最终标注。所有标注人员均为NLP或计算机安全性研究人员。
我们使用StanfordCoreNLP工具包中的标注器和句子分割器来预处理数据(Manning等,2014)。请注意,数据中的许多句子已经被换行符分隔,使分词任务更容易。我们对词条级数据执行标注,使标注与周围的标点符号和连字符一致。
我们的完整标注指南在我们的数据发布中可以找到(https://evidencebasedsecurity.org/forums/annotation-guide.pdf)。我们的基本标注原则是标注要交付的产品,或是形成所标注的产品的方法。图1显示了可交付产品(机器人)以及服务(清洁)的示例。再简单的例子中,产品和服务都会被标注:对于要求破解帐户的帖子,hack是方法,可交付成果是账户,所以都是标注的。一般来说,表达为动词的方法除用作名义参考之外也可以被标注。
当产品是多字表达式(例如,Backconnect bot)时,它几乎完全是一个名词短语,在这种情况下,我们标注名词短语的头字(bot)。标注单个词而不是几个词意味着我们避免了对每个帖子都进行完全精细的解释,因为即使是基础名词短语的界限也可能非常难以在非正统文本中达成一致。
如果多个不同的产品正在被买卖,我们会全部标注。我们不标注:
● 产品特点
● 通用的产品提及方式,例如,它,它们
● “vouches”内的产品提及(来自其他用户的评论)
● 每个帖子的前十行和最后10行之外的产品提及(在初步的注释中,我们发现帖子中间的内容通常描述了特征,或者给出了使用说明,而没有明确提及产品。大多数帖子都不受这条规则的影响:96%的Darkode,77%的黑客论坛,84%的黑帽Blackhat,93%的Nulled帖子都不到20行。然而,截断仍然大大减少了在很长的帖子尾部的标注工作)
表1:论坛统计
左列(每个帖子的帖子和单词)是计算所有数据后得到的,而右列仅基于标注数据。请注意,每个帖子的产品表示每个帖子的产品提及,而不是产品类型。斜线表示黑客论坛的和训练/测试划分和Darkode数据的训练/开发/测试划分。协议使用Fleiss'Kappa来衡量; 最后两列涵盖的数据是三个标注人员标注每个帖子,且其中部分由所有人标注。
表1显示了符合我们标注方案的标注间一致性。我们使用Fleiss的Kappa测量(Fleiss,1971),将我们的任务视为词条级标注,其中每个标注都被标注为是否是产品。我们选择了这个措施,因为我们感兴趣的是两个标注者(排除科恩的kappa)之间的协议,有一个二进制签名(排除相关系数),并且具有足够大的数据集,使得Krippendorff的Alpha地址不是一个问题。值表示合理的一致性。
2.2 讨论因为我们以上下文敏感的方式标注实体(即只标注产品上下文中的那些),所以我们的任务类似于帖子信息提取任务。帖子中的产品信息可以被认为是TAC KBP(Surdeanu,2013; Sur-deanu和Ji,2014)风格的填充式列表值插槽,词条级标注构成出处信息。然而,我们选择将任务完全锚定在词条层级,以简化标注任务:在帖子层面,我们必须决定两个不同的产品提及是否实际上是不同的产品,这需要更多的领域知识。我们的方法也类似于ACE数据集中的实体和事件信息的完全词条级标注(NIST,2005)。
鉴于对这一任务的各种看法及其对不同潜在应用的不同要求,我们在下面描述了一些不同的评估指标。正如我们在以下部分中讨论的,评价尺度的选择将影响系统设计。
词条级准确度 我们可以按照标注为产品的标注集合,遵循词条级任务(如NER),计算精度,召回和F1。这最接近我们的标注过程。
类型级产品提取(每个帖子) 对于许多应用程序,提取任务的主要目标更符合KBP样式的插槽填充,我们关心从特定帖子中提取的一组产品。没有产品完整同义词的域特定词典(例如,可以认识到黑入和访问是同义词),很难以完全令人满意的方式评估这一点。我们通过比较一个帖子中的产品类型(两个产品如果在小写和词干提取之后,它们的编辑距离非常小,则被标记为相同的类型:0如果令牌长度为4或更少为0,如果长度介于5和7之间则为1,如果长度为8或更多则为2)与系统预测的一组产品类型来估算这个评估。再次,我们考虑这两组的精度,召回率和F1。这种尺度倾向于选择那些一直可以做出帖子级别正确预测的系统,即使这种系统可能无法提取帖子中的每个词条。
帖子准确性 大多数帖子只包含一个产品,但是我们的类型级别提取本质上是对性能的保守估计,因为有些帖子中,一个帖子中的某个核心产品会以不同方式表示出来。两个论坛的大约60%的帖子包含多个产品,这些产品的不同点不只是下划线和大小写的差别。然而,我们分析了Darkode和Hack论坛中的这些多个产品信息中的100个,发现其中只有6个实际上销售多个产品,表明销售多种产品的帖子实际上相当罕见(约占总体案例的3%)。在其他情况下,这些变化是由于描述相同产品的方式略有不同。
有鉴于此,我们也可能会考虑要求提取系统从帖子提取一些产品,而不是全部。具体来说,我们通过检查系统提取的第一个产品类型是否包含在标注集合的产品类型中来计算帖子层面的准确性(于这个指标,我们排除了没有产品的帖子。这些帖子通常被删除或者是关于论坛管理的帖子)。由于大多数帖子都包含一个产品,因此该尺度足以评估我们是否了解到了该帖子的核心产品。
3.1 短语水平评估衡量指标的另一个变化轴在于我们是否考虑到词条级别或短语级别的输出。如上一节所述,我们没有标注名词短语,但我们实际上可能有兴趣识别它们。在图1中,例如,提取Backconnect bot比孤立提取bot更有用,因为bot是产品的较不具体的特征。
我们可以基于自动解析器的输出,将我们的词条级标注转换为短语级别标注,将标注投射到名词短语级别。我们使用Chen和Manning(2014)的解析器来解析每个帖子的所有句子。对于给定名词标签(N *)的每个标注,我们将该标注投影到包含长度小于或等于7的最大名词短语;大多数产品名词性短语都比这更短,当解析器预测更长的名词性短语时,我们的分析发现这通常代表出现了错误。在图1中,整个名词短语Backconnect bot将被标注为产品。对于实现为动词(例如,黑入)的产品,我们将标注作为单个词条。
在这项工作的其余部分,我们有时会在词条级别,有时候在短语级别(包括产品类型评估和帖子准确性)【这里NP-level意味着如3.1节描述的“名词短语和动词”】中进行评估;我们将指定哪个评估用在哪里。
我们考虑产品提取的几个基准,两种基于监督的学习方法(这里)和半监督方法(第5节)。
基准 一种方法是将在文章中使用频率最高的名词或动词分类为产品。更复杂的词汇基准基于我们从训练数据中提取的产品字典:我们提取出现最频繁的词典词汇。这种方法失败的主要原因是因为它倾向于提取诸如帐户和网站之类的常见单词,即使它们不作为产品出现。最相关的现成系统是NER标签模型;我们根据我们的数据重新训练斯坦福NER系统(Finke等,2005)。最终,我们可以将帖子的第一个名词短语标注为产品,如果在帖子的标题中提到了这个词(由于这个基线从根本上依赖于名词短语,我们只在名词短语的设置中进行评估。),我们也能捕捉到。
我们还包括人类的表现结果。我们对标注人员的结果进行了平均,与的协商后一致的标注相比较。对于短语级别评估,我们应用3.1节中描述的投影方法。
二分类器及CRF 这个任务的一个基于学习的方法是为每个单独的词条采用一个二分类SVM分类器。我们还用一个二分类标签集的词条级CRF进行了测试,发现这两种方法性能一致,所以我们描述二分类器版本(我们进一步尝试了双向LSTM tagger,并发现了类似的性能)。我们的特征选取不仅包括正在考虑的词条,也包括它相邻的词条,如下一段。为这些目标词条中的每一个提取“基本特征”向量:这些包括1)在文档中的位置和当前句子中的位置作为桶索引; 2)在当前单词周围的大小为3的窗口中的每个单词的单词标识(对于通用单词),POS标签和与父对象的依赖关系; 3)单词的3-gram特征。每个词条都使用相同的基本特征。
我们的词条分类SVM提取了正在考虑的词条及其语法父节点的基本特征。在进入最终分类器中之前,这些特征与其来源(即当前词条或父词条)的指示符相连。我们的名词短语分类SVM对名词短语的第一个,最后一个,头部和语法父单词提取基本特征。
我们以不同的方式加权假阳性和假阴性以调整精确度/召回曲线(根据每个论坛的开发数据进行调整),我们还通过加重对单例产品(仅在训练集出现一次的产品类型)的贡献,经验性地发现了更好的性能)。
帖子分类器 如第3节所述,我们感兴趣的一个指标是我们是否可以在一个帖子中发现任意产品的出现。这个任务比一般的标签问题更容易:如果我们可以有效地识别产品,例如在帖子的标题中,那么我们不需要在帖子的正文中标识对该产品的额外引用。因此,我们还构建一个帖子模型,直接尝试从帖子中选择一个词条(或名词性短语)作为最有可能的产品。以这种方式构建预测问题自然会使模型在其提取词条中更保守,因为如果存在明确的产品提及,则高度模糊的产品提及就会被忽视。换句话说,它应用一种有用的先验知识,即每个帖子在几乎所有情况下都只会有一个产品。
我们的帖子系统被制定为隐SVM的一个实例(Yu和Joachims,2009)。输出空间是帖子中所有词条(或者名词性短语)的集合。潜在变量是词条/ 名词性短语选择的选择,因为产品词条可能有多个正确的选择。每个词条/ 名词性短语上使用的特征与词条分类器中相同。
我们通过对目标原始形式的次梯度下降训练了所有学习的模型(Ratliff等,2007; Kummerfeld等,2015)。我们使用AdaGrad(Duchi等人,2011)加速了具有多种特征类型的大权重向量的收敛。本节中的所有产品提取均经过5次迭代的训练,并在开发集上使用了L1正则化进行调整。
表2:Darkode开发集上的结果
根据自举重采样测试,加标F1值代表列中所有其他系统值在p <0.05的统计学显著改进。我们的帖子系统在整个帖子准确性和类型级产品提取方面优于我们的二进制分类器,尽管它在词条级别尺度上不太好。所有系统都一致地在识别名词性短语方面比识别产品词条做得好。然而,我们的系统与人类的表现之间仍然存在着巨大的差距。
4.1 基本结果表2显示了第3部分中描述的每种尺度下的四个系统中的每个系统的开发集结果。我们基于学习的优化后的系统基本上优于原先系统的指标基准。帖子系统在词条层面上的评估表现逊色于二进制分类器,但在帖子层面和产品类型层面都超过了它。这使我们的选择一个产品就足以表征帖子大部分内容的假设更为可信。将自动系统与人类标注员的表现进行比较,我们看到了很大的差距。请注意,我们的最佳标注词条F1为89.8,名词性短语的帖子准确度为100%;仔细且训练有素的标注人员可以实现非常高的性能,包括很高的上限。
名词短语尺度似乎通常更宽容,因为名词短语内的词条差异被抹去。帖子名词性短语系统在产品类型识别上获得了78分的F值,帖子准确率达88%左右。虽然还有改进的余地,但该系统的准确度足以使Darode具有自动标注功能。
在这项工作的其余部分,我们重点关注名词性短语层面的评估和帖子层面的名词性短语准确性。
表2仅显示了在同一个论坛(Darkode)内进行训练和评估的结果。不过,我们希望利用我们的系统从各种论坛中提取产品,因此我们对系统对新论坛的泛化能力感兴趣。表3和表4显示了几个系统的论坛内和跨论坛评估环境下的完整结果。与论坛内相比,跨论坛的性能严重下降,例如,在名词性短语级F1上,黑客论坛训练的模型在Darkode任务下的 F1值对比Darkode训练模型的结果有14.6的性能下降(61.2 vs. 75.8)。第5.4节将更全面地探讨系统如何适应不同论坛之间的差异。
在接下来的几个部分中,我们将探讨用跨论坛设置改进结果的几种可行方法,并尝试构建更多通用域系统。这些技术反映了关于跨域挑战来源的两个可能假设:
假设1:产品库存是不同论坛领域的主要差异;基于上下文的特征可以转换,但主要挑战是无法识别未知产品。
假设2:产品库存和风格习惯在各个领域都有差异;我们需要同时把握住这两点来成功构建适应模型。
5.1 布朗聚类为了测试假设1,我们调查了附加词汇信息是否有助于识别新域中的类似产品的单词。一种用于利用未标注的目标数据的经典半监督技术是针对单词群集或字矢量来寻找特征(Turian et al,2010)。这些特征在集群形成的域中的泛化能力应该不错:如果产品名称出现在跨域的相似上下文中,则在同一个集群中卷起,之后受限于域限制数据的训练模型应该能够了解到集群标识是产品的指示。
表3:测试结果在不同系统的论坛内和跨论坛设置。使用布朗聚类或地名词典可以提供跨论坛表现的混合结果:根据自举重采样测试,只有其中一个改进(†)具有统计学意义,p <0.05。因为我们没有这些论坛的训练数据,因此Blackhat和Nulled无法使用地名字典。
表4:在各种不同系统的论坛和跨论坛设置下,在整个帖子级别测试结果。布朗聚类和地名词典方法在词条级评估中的结果类似; †表示根据自举重采样测试,帖子系统的增益为统计学显著水平,p <0.05。
我们用Darkode和Hack论坛的未标注数据形成布朗聚类(参见表1的大小)。我们使用Liang(2005)的实现来识别50个簇(该值是基于dev set实验选择的)。检测时,这些确实捕获了与问题相关的一些语义:例如,集群110作为其最常见的成员服务,账户,价格,时间,密码和服务器,其中许多是产品相关的名词。我们将这些作为特征结合到我们的模型中,通过将布朗聚类ID作为前缀来表征每个特征;我们使用长度为2,4和6的前缀。
表3和表4显示了将我们的训练样本中的布朗集群特征结合在一起的结果。尽管在某些情况下有了小幅改进,但这些特征没有导致名词性短语级F1或帖子准确性有统计学上的显著增益。这表明布朗群集有时可能是一个有用的特征,但是在本文情况下不解决域适应问题(我们也可以在这里使用向量表示,但在最初的实验中,这些没有展示出比布朗聚类更好的表现。这是符合Turian 等人(2010)在针对组块和NER在布朗聚类和词向量之间展示的性能相似)。
5.2 类型层面的标注假设1的另一种方法是使用少量的监督数据。在新域中标注数据的一种方便的方法是利用类型级标注(Garrette和Baldridge,2013; Garrette等,2013)。我们的词条级标注标准相对来说比较复杂,但研究人员可以根据短短几分钟的阅读文章和分析论坛,为新的论坛提供一些示范产品。
表5:用Darkode和Hack作为训练集,在开发集上(Blackhat和Null的测试集)的产品词条在词汇表外的比例。我们还显示了NP层系统在所见(Rseen)和OOV(Roov)词条上召回率。Darkode似乎比Hack更“通用”:Darkode系统通常具有较低的OOV比例,并且比HackForums系统在OOV词条上有着更一致的性能。
图2:词条监督域适应在两种设置下的结果。由于我们的系统是针对越来越多的目标域数据(x轴)进行训练的,因此其性能普遍提高。然而,从Hack到Darkode的适应比其他方式更为有效,并且像Daume III(2007)中使用域特征对比使用原始新数据几乎没有改善。
我们可以通过迭代我们的标注数据并收集足够常见的标注产品名称来模拟此过程。特别地,我们采取所有(小写的,有折线的)产品词条,并保持在训练数据集中至少出现4次(回想这些数据集≈700个帖子)。这给我们列出了Darkode中的121个产品和Hack Forums中的105个产品。
要将这些信息合并到系统中,我们在每个词条上添加一个新特征,指示它是否出现在地名词典中。在训练的时候,我们使用从训练集中筛选的地名词典。在测试时,我们使用目标域的地名录作为一部分类型级监督。表3和表4显示了将地名词典整合到系统中的结果。地名词典似乎在跨域问题中提供了一些收益,尽管这些改进很多并不具有统计显著性,而且对非跨论坛问题有时会降低性能。
5.3 词条层面的标注我们现在把注意力转向可能解决假设2的方法。如果我们假设域转换问题更复杂,我们真的希望利用目标域中的标注数据,而不是仅尝试基于类型级别的信息转换特征。具体来说,我们感兴趣的是,相对较少数量的标签帖子(少于100个)可能会为域适应提供大量增益;研究人员可以在几个小时内合理地做这个标注。
我们考虑了使用标注的目标域数据的两种方法。第一个是简单地将这些帖子作为额外的训练数据。第二部分还将采用容易让人沮丧的Daume III(2007)的域适应方法。在这个框架下,我们模型中启动的每个特征实际上分是两次启动的:一个是对所有域适用,一个有域标签(这里是论坛的名称)【如果我们对k个领域的数据进行训练,这将导致每个特性有总数为k + 1个版本】。在这样做的时候,模型应该有一些能力将作用于所有域与作用于特定域的特征进行分离,正则化鼓励作用于所有域的特征尽可能解释多的现象。对于这两种训练方式,我们将目标域的贡献权重提高了5倍。
图2显示了两种适应设置中两种方法的学习曲线,我们改变了标注的目标域数据量。在黑客论坛上训练的系统能够很好地利用来自Darkode的标签数据:访问20个标注的帖子导致大约7的 F1增益。有趣的是,Darkcode训练的系统无法很好地利用Hack论坛的标签数据,而且域特定的特征实际上会导致性能下降,直到我们从Hack论坛中包含大量数据(至少80帖子)。我们在少量的黑客网站训练集上使用特定域的特征进行训练时可能发生了过拟合。
5.4 分析为了理解我们探索的域适应方法的性能变化和缺点,有必要检查我们的两个初始假设,并对数据集进行更多的描述。为了做到这一点,我们放弃了在对比训练集中发现的产品和新的产品的系统性能评价。因为我们的系统依赖于词汇和特征的n-gram特征,所以我们期望在预测我们以前看到的产品方面做得更好。
表5证实了这种直觉:它显示了与Darkode和Hack Fum Rum的训练相关的四个论坛中的每个论坛中的产品OOV,以及以前观察到和OOV产品的名词性短语级系统的召回率。预期,词汇表内的产品的性能表现要高得多。在新论坛上,Darkode训练的系统的OOV率通常较低,表明该论坛具有更好的产品全面覆盖率。因此,在Darkode上训练的系统在某种程度上比在Hack论坛上训练的系统更具有广泛性。
这似乎支持假设1。此外,表3显示,与Hackers训练的系统相比,Hack训练的系统在Hack论坛上实现了21%的错误率下降,而Darkode训练的系统获得了38%的错误率下降。这个更大的错误减少意味着Darkode具有更好的黑客论坛覆盖率,反之亦然。Darkode更好的产品覆盖范围也有助于解释为什么第5.3节显示出从Hack论坛适应Darkode有更好的性能:向Hack论坛增加几个Darkode的帖子会大大增加Hack论坛对于新产品的只是,反之则效果不佳。当从Darkode进行适应时,且需要添加的知识类型不太具体时,复制特征和添加参数的效果也不甚明显。
但是请注意,这些结果并不能说明完整的情况。表5显示了召回值,但不是所有系统都具有相同的精度/召回曲线权衡:尽管它们被调整以在其各自的开发集上平衡精度和召回率,但Hack论坛训练的系统在Nulled论坛的精度略高于Darkode训练的(虽然控制精度/回忆权衡的超参数在理论上可以在目标域中进行调整,但很难在没有从该领域访问一个相当大的带注释的数据集的情况下,以一种健壮的、有原则的方式进行这种操作。这一限制进一步使评估变得复杂,并使得在域间建立同类比较很困难)。表3显示,Hack论坛训练的系统实际上在Nulled上表现更好,主要是由于之前的很多产品之前都出现过。这表明假设2有一些道理:产品覆盖并不是决定表现的唯一重要因素。
我们提供了一个新的数据集,网络犯罪市场的帖子,标注了产品参考,一个混合IE和NER的任务。基于学习的方法在应用于新论坛时性能下降,而在本数据集中探索细粒度域适应的方法时,此任务的有效方法仍然是一个悬而未决的问题。
我们在这项工作中使用的数据集可在https://evidencebasedsecurity.org/forums获得。产品提取器的代码可以在https://github.com/ccied/ugforum-analysis/tree/ master/extract-products获得。