2017-AAAI-ConceptNet 5.5: An Open Multilingual Graph of General Knowledge
https://www.aaai.org/ocs/index.php/AAAI/AAAI17/paper/download/14972/14051
摘要: ConceptNet是一个知识图谱,其中自然语言单词和短语通过带标签(表示边的类型)和权重(表示边的可信程度)的边相互连接。将ConceptNet与词嵌入结合(例如,word2vec),有助于词的相关性评价(使得相关的词的嵌入更接近)。
ConceptNet用三元组表示断言。
ConceptNet还用ExternalURL表示与外部知识资源的链接,包括WordNet,Wiktionary,OpenCyc和DBPedia等。
ConceptNet中的图结构化知识对于NLP学习算法特别有用,尤其是基于词嵌入的算法,例如Mikolov等人,2013。我们可以使用ConceptNet构建比分布式语义更有效的语义空间。
最有效的语义空间是使用泛化的“翻新(retrofitting)”方法(Faruqui等人,2015),从分布式语义和ConceptNet两者中学习得到的。我们将此混合语义空间称为“ ConceptNet Numberbatch”,以区别于ConceptNet本身。
在词相关性的许多评估中,ConceptNet Numberbatch的性能明显优于其他系统,而性能的提高转化为对下游任务(如类比)的改进。在SAT风格的类比问题语料上(Turney,2006年),其准确率达到56.1%,优于其他基于词嵌入的系统,并与之前最好的整体系统Turney的LRA持平。这种准确性水平仅略低于一般人工测试人员的性能。
ConceptNet是Open Mind常识项目(Singh 2002)的知识图谱版本,是人类所了解的最基本知识的常识知识库。
Cyc(Lenat and Guha 1989)几十年来建立了谓词逻辑形式的常识知识本体。
DBPedia(Auer等,2007)从Wikipedia信息框中提取知识,提供了大量事实,主要集中在具有Wikipedia文章的命名实体上。
Google知识图谱(Singhal,2012年)也许是最大、最通用的知识图谱,尽管其内容不免费提供。它主要关注可消歧的命名实体,其座右铭是“Things, not strings”。
与其他资源相比,ConceptNet的作用是提供足够大的免费知识图谱,主要关注自然语言中使用的单词(而不是命名实体)的常识含义。对单词的关注使其特别契合将单词含义表示为向量的想法。
词嵌入将词表示为稠密的(不象one-hot向量那样稀疏)单位实向量,其中紧密靠近的向量在语义上相关。这种表示之所以吸引人,是因为它将含义表示为一个连续的空间,其中相似性和相关性可以视为度量。词嵌入通常作为机器学习任务的副产物,例如根据其邻居预测句子中的某个词。这种关于语义的机器学习方法有时称为分布式语义或分布式词表示,它与语义网络或知识图谱的知识驱动方法形成对比。
嵌入的两个主要矩阵是使用负采样的skip-gram在Google新闻的1000亿个单词上训练的word2vec嵌入(Mikolov等人,2013),以及在8400亿个Common Crawl单词上训练的GloVe 1.2嵌入(Pennington, Socher, and Manning, 2014)。这些矩阵可下载,我们将它们用作比较和集成模型(ensemble)的输入。Levy,Goldberg和Dagan(2015)评估了多种嵌入技术以及各种显式和隐式超参数的影响,使用截短的SVD及其上下文生成了自己的高性能词嵌入,并为词嵌入工程提供了建议。
全息嵌入(Holographic embeddings, Nickel,Rosasco和Poggio 2016)是从带标签的知识图谱中学到的嵌入,但前提是这些嵌入的循环相关性会给出表示关系的向量。这种表示似乎与ConceptNet极为相关。到目前为止,当我们尝试在ConceptNet上实现它时,收敛得太慢,无法进行实验,但是最终可以通过一些优化和附加的计算能力来克服。
ConceptNet 5.5是从以下来源构建的:
结合这些资源,ConceptNet包含2100万个边和800万个以上的节点。它的英语词汇包含大约1,500,000个节点,并且它包含83种语言,其中每个至少包含10,000个节点。
Wiktionary是ConceptNet的最大输入来源,它提供1,810万条边,并且主要负责其庞大的多语言词汇。但是,ConceptNet的大部分特性来自OMCS和有目的的各种游戏,这些游戏表达了术语之间的多种不同关系,例如PartOf(“a wheel is part of a car”)和UsedFor(“a car is used for driving”)。
ConceptNet所选定关系构成一个封闭类,例如IsA,UsedFor和CapableOf,用于表示独立于其语言的关系或所连接术语的来源。
ConceptNet 5.5旨在使其知识资源与34个关系(根据版本5.7修改)的核心集合保持一致。这些泛化的关系目的与WordNet的关系(如下位词和别名),以及生成词法理论的本质类似(Pustejovsky 1991)。ConceptNet的边是有向的,但是作为ConceptNet 5.5的一项新功能,某些关系被指定为对称关系,例如SameTo。这些边的方向性不重要。
核心关系34个(黑体为5.7版本新增,删除线为5.7版本中deprecated):
• Symmetric relations: Antonym, DistinctFrom, EtymologicallyRelatedTo, EtymologicallyDerivedFrom, LocatedNear, RelatedTo, SimilarTo, and Synonym
• Asymmetric relations: AtLocation, CapableOf, Causes, CausesDesire, CreatedBy, DefinedAs, DerivedFrom, Desires, Entails, ExternalURL, FormOf, HasA, HasContext, HasSubevent, HasFirstSubevent, HasLastSubevent, HasPrerequisite, HasProperty, InstanceOf, IsA, MadeOf, MannerOf, MotivatedByGoal, ObstructedBy, PartOf, ReceivesAction, SenseOf, SymbolOf, and UsedFor
这些关系的定义和示例出现在ConceptNet 5.5文档(https://github.com/commonsense/conceptnet5/wiki/Relations)的页面中。具有特定语义的关系(例如,UsedFor和HasPrerequisite)倾向于连接常见的单词和短语,而稀有词则通过更通用的关系(例如,Synonym和RelatedTo)连接。
如图1所示,在一个可浏览的界面中,ConceptNet中的边按自然英语表示的关系进行分组。
ConceptNet以标准化形式表示术语。使用Python的unicodedata实现,将文本标准化为NFKC格式(http://unicode.org/reports/tr15/),再转换为小写,并使用Python程序包wordfreq(Speer等人,2016)中的tokenizer(或者UNIX中的tr -sc 命令)将其拆分为非标点符号(token),该软件包基于标准Unicode单词分段算法。标记用下划线连接,并且该文本前面加URI /c/lang/,其中lang是该术语所用语言的BCP 47语言代码(https://tools.ietf.org/html/bcp47)。例如,英文术语“United States”变为/c/en/united_states。
关系具有以/r开头的URI的独立命名空间,例如/r/PartOf。这些关系用英语人工命名,但适用于所有语言。葡萄牙语获得的名为“ O alimento e usado para´comer”的语句仍以/r/UsedFor关系表示。
与ConceptNet 5.4及更早版本相比,最重要的变化在于术语的表示形式。 ConceptNet 5.4要求英语的术语必须采用词元形式(lemmatized form),因此,例如,“United States”必须表示为/c/en/unite_state。在此表示形式中,“drive”和“driving”是同一术语,使得断言(car,UsedFor,driving)和(drive,HasPrerequisite,have license)相关联。ConceptNet 5.5删除了lemmatizer,而是使用FormOf关系来关联词的词尾变化。现在,上面的两个断言由第三个断言(driving,FormOf,drive)连接,并且“driving”和“drive”都可以在ConceptNet中找到。
在构建知识图谱时,节点应表示的内容对图的使用方式有重大影响。它还有其他影响,可能使链接和导入其他资源变得不容易,因为不同的资源会对它们的表示方式做出不同的决定。
在ConceptNet中,节点是自然语言的单词或短语,通常是未消歧的常见单词。英文中的“lead”一词是ConceptNet中的一个术语,由URI /c/en/lead表示,即使它具有多种含义。歧义术语的优点是可以轻松地从有歧义的自然语言中提取它们。这种歧义表示等同于从文本中学习分布语义的系统所使用的表示。
ConceptNet的表示允许使用术语的更具体、明确的版本。URI /c/en/lead/n指的是“ lead”一词的名词含义,当搜索或遍历ConceptNet时,该URI有效地包含在/c/en/lead中,并通过隐式关系SenseOf与之链接。许多数据源提供有关词性的信息,使我们可以将其用作提供少量歧义的常见表示形式。URI结构允许进一步消除歧义,但目前尚不使用。
ConceptNet从其他系统(如WordNet)中导入知识到其自己的表示形式中。这些其他系统有其自己的目标词汇表,需要与ConceptNet对齐,这通常是未指定的多对多对齐方式。
从另一个知识图谱导入的术语将通过关系ExternalURL连接到ConceptNet节点,指向表示该外部资源中该术语的绝对URL。这种新引入的关系保留了数据的来源,并允许查找未转换的数据是什么。ConceptNet术语也可以表示为绝对URL,因此这使ConceptNet可以双向连接到更广泛的链接开放数据生态系统。
我们可以将ConceptNet图表示为稀疏、对称的术语-术语矩阵。矩阵的每个元素包含连接两个相应术语的所有边的权重之和。出于性能原因,在构建此矩阵时,我们通过丢弃连接到少于三个边的术语来修剪ConceptNet图。
我们认为此矩阵代表术语及其上下文。在文本语料库中,术语的上下文是出现在文本附近的术语。在这里,上下文是ConceptNet中与其相连的其他节点。我们可以遵循Levy,Goldberg和Dagan(2015)的实际建议,直接从这个稀疏矩阵中计算词嵌入(不采用神经网络的方法的原因是,Levy等人发现,词嵌入的许多性能提升是由于某些系统设计选择和超参数优化,而不是嵌入算法本身。 此外,我们证明了这些修改可以转移到传统的分布式模型中,从而获得相似的收益。 与以前的报告相比,我们观察到这些方法之间的性能差异主要是局部的或微不足道的,没有任何一种方法比其他方法具有全局优势。)。
与Levy等人一样,我们使用上下文分布平滑确定矩阵项的逐点互信息,裁剪负值以产生正逐点互信息(positive pointwise mutual information, PPMI),使用截断SVD将结果的维数减少到300维,并且将术语和上下文对称地组合到单个词嵌入矩阵中。
这给出了一个词嵌入矩阵,我们称之为ConceptNet-PPMI。这些嵌入隐式表示ConceptNet的整体图结构,并允许我们计算任意一对节点的近似连通性。
我们可以扩充ConceptNet-PPMI来还原我们修剪掉的节点,指派其向量为其相邻节点的平均值。
仅从ConceptNet创建嵌入后,我们现在想创建一组更健壮的嵌入,以表示ConceptNet和从文本中学到的分布词嵌入。
翻新(Faruqui et al.2015)是使用知识图谱(嵌入)调整现有词嵌入矩阵的过程。翻新通过最小化下面目标函数,推导出新的向量
q
i
q_i
qi,其目标是接近其原始值
q
^
i
\hat q_i
q^i,并且也接近图中通过边
E
E
E相连的邻居:
Ψ
(
Q
)
=
∑
i
=
1
n
[
α
i
∥
q
i
−
q
^
i
∥
2
+
∑
(
i
,
j
)
∈
E
β
i
j
∥
q
i
−
q
j
∥
2
]
\Psi(Q)=\sum_{i=1}^{n}\left[\alpha_{i}\left\|q_{i}-\hat{q}_{i}\right\|^{2}+\sum_{(i, j) \in E} \beta_{i j}\left\|q_{i}-q_{j}\right\|^{2}\right]
Ψ(Q)=i=1∑n⎣⎡αi∥qi−q^i∥2+(i,j)∈E∑βij∥qi−qj∥2⎦⎤
Faruqui等人给出一个简单的迭代过程,在原始嵌入的词汇表上最小化该目标函数。
“扩充翻新”的过程(Speer和Chin,2016年)可以在更大的词汇表中优化该目标,包括来自知识图谱但未出现在词嵌入的词汇表中的术语。对于原始值未定义的术语,设置 α i = 0 \alpha_i= 0 αi=0。我们根据ConceptNet中边的权重设置 β i j \beta_{ij} βij。
扩充翻新ConceptNet的特别好处是,它可以受益于ConceptNet中的多语言连接。它通过其他语言的翻译来学习有关英语单词的更多信息,并在与英语单词相同的空间中为其他语言术语提供有用的嵌入。效果类似于Xiao和Guo(2014)的工作,他们还使用众包的Wiktionary条目传播多语言嵌入。
我们在翻新中又增加了一个步骤,即减去所有翻新产生的向量的均值,然后将其重新归一化为单位向量。翻新有将所有向量移近诸如“person”之类的高度关联的术语的向量的趋势。减去均值有助于确保术语彼此可区分。
可以将改进应用于任何现有的词嵌入矩阵,而无需访问训练它们的数据。这是特别有用的,因为它可以建立在公开发布的嵌入矩阵上,即便其输入数据不可用或难以获取。
如“相关工作”部分所述,word2vec和GloVe都提供预训练矩阵。这些矩阵代表了文本的不同领域,并且具有互补的优势,而我们可以从它们中获得最大收益的方式就是将它们一起作为输入。
为此,我们对这两个矩阵进行了翻新,然后找到一个全局线性投影,该投影将结果与它们的共同词汇对齐。这个过程的灵感来自Zhao, Hassan, and Auli (2015) 。我们通过连接(concatenate)矩阵的列并使用截断SVD将它们缩小为300维来找到投影。然后,我们使用此对齐来推导出某个词汇表中缺少的术语的嵌入。
在正在进行的工作中,我们正在尝试在此合并中另外包括非英语文本语料库的分布词嵌入。初步结果表明,这提高了嵌入的多语言性能。
经过翻新和合并后,我们得到了一个词嵌入的带标签矩阵,其词汇表是从word2vec,GloVe和修剪的ConceptNet图获得的。像在ConceptNet-PPMI中一样,我们通过查找并计算相邻节点的平均值来重新引入ConceptNet中的所有节点。
为了比较完整的词嵌入系统的性能,我们首先比较对词相关性进行内在评估的结果,然后将词嵌入应用于解决比例类比和选择故事的合理结局的下游任务,评估更好的嵌入是否可以在语义任务上转化为更好的性能。
上面描述的混合系统是我们命名为ConceptNet Numberbatch的系统,版本号16.09指示它是在2016年9月构建的。现在,我们将ConceptNet Numberbatch 16.09的结果与其他提供词嵌入的系统进行比较,既有在构建ConceptNet Numberbatch时已使用的,也有未使用过的最近发布的系统LexVec。我们评估的系统是:
评估语义空间内在性能的一种方法是,要求它对单词对的相关性进行排序,并将其判断与人的判断进行比较。如果单词对中的一个不在词汇表中,则假设该对相关性为0。良好的语义空间将提供一个与人类黄金标准排序高度一致的相关性排序,利用Spearman相关性( ρ \rho ρ)衡量)。
有许多常用的单词相关性黄金标准。这里我们重点关注MEN-3000(Bruni,Tran和Baroni,2014年),这是一个基于众包的关于常见词的排序; RW(Luong,Socher和Manning,2013年),关于稀有单词的排序; WordSim-353(Finkelstein等,2001),一个较小的评估,已被用作许多方法的基准;以及MTurk-771(Halawi等人,2012年),这是另一种基于众包的单词评估。
为避免通过设计围绕特定评估的语义空间来人工拟合,我们使用较小的开发集进行了实验,并留出一些测试数据,直到需要在论文中纳入结果才使用:
我们使用西班牙文WordSim-353作为显著的非英语评估示例,表明即使所有分布语义都来自英语,扩充翻新也足以学习非英语语言的向量。但是,全面的多语言评估超出了本文的范围。我们所比较的系统仅提供了英语向量,并且由于它们处理词法和未登录词的各种方式,因此要重现其他多语言嵌入系统的评估将增加相当大的复杂性。
比例类比的陈述形式为“a1 is to b1 as a2 is to b2”。直到最近在诸如SAT之类的标准化测试中,填补比例类比的缺失值的任务还是很常见。现在,它已成为一种表明语义空间可以近似词之间的关系的流行方式,即使不考虑明确的关系。
Peter Turney为评估系统解决比例类比的能力奠定了基础,其中包括他的潜在关系分析方法(Latent Relational Analysis, Turney 2006),该方法反复地在Web上搜索涉及它们的单词,在解决比例类比方面非常有效。 一种称为SuperSim的较新方法(Turney 2013)不需要Web搜索。这些方法是在Turney及其合作者收集的374个SAT问题的数据集上进行评估的。
Turney在自己的工作中取得了许多该评估的最佳结果。 BagPack(Herdagdelen and Baroni 2009)是一个非Turney开发的有趣系统,它可以从非结构化文本或从ConceptNet 4中学习类比。
通常将解决词嵌入的类比描述为比较b2-a2与b1-a1( Mikolov等人,2013年),但对于填写a2和b2的最佳配对的任务,比单纯比较的任务相比,有助于利用问题的更多结构来提供更多约束。
在一个合理的类比中,类比右侧的单词将与左侧的单词以某种方式相关,因此我们应该以a1和a2之间以及b1和b2之间一定程度的相关性为目标,无论其他术语是什么。而且,在很多情况下,当将其转换为“a1 is to a2 as b1 is to b2”,满足该条件的类比仍然合理。例如,可以将类比“fire : hot :: ice : cold”转换为“fire : ice :: hot : cold”。识别该结构有助于为有难度的类比问题选择最佳答案。
这给了我们三个分量,我们可以权衡这些分量来评估一个对(a2,b2)是否完成一个类比:它们与a1和b1的单独相似性,这两个对之间差异的点积以及转换对之间差异的点积。 总权重无关紧要,因此我们可以将它们放到带有两个自由参数的向量方程中:
s = a 1 ⋅ a 2 + b 1 ⋅ b 2 + w 1 ( b 2 − a 2 ) ⋅ ( b 1 − a 1 ) + w 2 ( b 2 − b 1 ) ⋅ ( a 2 − a 1 ) s = a1\cdot a2 + b1\cdot b2+ w1(b2-a2)\cdot(b1-a1)+ w2(b2-b1)\cdot (a2-a1) s=a1⋅a2+b1⋅b2+w1(b2−a2)⋅(b1−a1)+w2(b2−b1)⋅(a2−a1)
w1和w2的适当值取决于类比问题中关系的性质,以及这些关系如何出现在向量空间中。我们为测试的每个系统分别优化了这些参数,并在许多可能的值上使用网格搜索,以使每个系统都能达到最佳性能。网格搜索是对奇数问题进行的,将偶数问题作为测试集。
为ConceptNet Numberbatch 16.09找到的权重为w1 = 0.2和w2 = 0.6。令人惊讶的是,这表明通过类比的转换形式进行的比较通常比直接陈述的类比在选择最佳答案对时更为重要。
“故事填空(story cloze)测试”(Mostafazadeh等人,2016年)是对语义理解的最新评估,用于测试一种方法是否可以选择简单故事的合理结局。提示由四个句子组成,共同讲述一个故事。第五个句子总结故事,提供了两种选择,其中只有一种是正确的。
这项任务的特点是对计算机非常具有挑战性,但对人类却非常容易,因为它在一定程度上依赖于隐含的常识知识。在Story Cloze测试中评估的大多数系统得分仅略高于随机基线50%,而人类得分接近100%。
我们将ConceptNet Numberbatch应用于Story Cloze Test的初步尝试是使用一个非常简单的“向量袋”模型,通过平均句子中单词的嵌入并选择平均数最接近的结尾。这使我们可以直接与Mostafazadeh等人提出的原始结果之一进行比较,在该结果中,使用GenSim实现的word2vec得到的向量袋在测试集上的得分为53.9%。
这种向量袋模型不使用这样的知识,即一个事件如何合理地承接另一个事件,而只使用上下文中哪些单词相关的知识。提高该模型的得分不应被描述为实际的“故事理解”,但它认识到合理的故事并不会突然改变话题。
图2比较了所有评估的系统的性能。对于单词相关性评估,Y轴表示Spearman相关性( ρ \rho ρ),使用Fisher转换来计算95%置信区间,该区间假设给定单词对是从不可观察的较大集合中采样的(Bonett和Wright 2000)。对于类比和故事评估,Y轴只是正确回答的问题的比例,使用二项精确检验计算出95%的置信区间。
表1列出了我们系统在所有这些评估中的得分,其中包括未显示出明显过拟合的开发/测试划分。 “Final”列旨在与其他论文进行比较,并在图中使用。它使用其他论文使用的标准测试集(对于MEN-3000和Story Cloze),或者使用全部数据。
在所有四个单词相关性评估中,ConceptNet Numberbatch 16.09(本文所述的完整系统)是最佳技术,其性能优于所有其他系统,超出了所有问题选择的置信区间。它在Rare Words数据集和众包的MEN-3000和MTurk-771数据集上的得分都很高,超过了其他嵌入的性能,具有很高的置信度,显示了其对单词的理解的广度和深度。
ConceptNet Numberbatch在SAT类比的词嵌入系统中表现最好,56.1%的问题正确(在保留为最终测试集那一半数据上准确率是58.8%)。在相同的框架中进行评估时,这些类比结果优于基于其他单词嵌入的类比,如图2所示。
在该评估中,类比结果还与同类最佳系统的性能相提并论或略胜一筹。表2将我们的结果与“解决SAT风格的类比”一节中介绍的其他系统进行了比较:BagPack(Herdagdelen和Baroni,2009年),此评估中使用了先前版本的ConceptNet; LRA(Turney,2006年),这个系统的记录已经有十年了,它在评估过程中花了9天的时间搜索Web,以及SuperSim(Turney,2013年),这是在自包含系统中保持记录的最新系统。针对word2vec的优化结果(Mikolov等人,2013年),在该任务的所有词嵌入系统中得分最高。
SuperSim、LRA和ConceptNet Numberbatch这三个系统的结果都在彼此的95%置信区间内,这表明,结果的排名可以随选择的问题而轻易改变。我们的56.1%分数也在普通人类大学申请者的平均表现的置信区间内,为57.0%(Turney 2006)。
我们已经表明,结合知识的词嵌入可以应对实际的SAT类比挑战。在其他词嵌入效果较差的情况下,它们在相同评估上的性能与非词嵌入系统相同或稍好。在实践中,最近的词嵌入已在更简单的合成类比数据集上进行了评估(Mikolov等人,2013),通常没有与现有的基于非嵌入的类比方法进行比较。
即使该系统像其他从词嵌入中形成类比的系统一样,仅增加或减去用于测量术语相关性的值,我们仍可以实现这种性能。它没有对这些术语之间的实际关系进行任何特殊表示。可能有一种方法可以考虑到ConceptNet的关系标签,并且在类比方面甚至表现得更好。
我们的系统在故事填空测试上的性能是可以接受的,但效果不明显。 ConceptNet Numberbatch在59.4%时间里选择了正确的结尾,这实际上比Mostafazadeh等人(2016)报告的任何结果都要好,包括在该任务上训练的神经网络。但是,我们也可以通过对其他词嵌入使用相同的向量袋方法来获得相似的分数。最佳分数59.9%由LexVec获得,ConceptNet Numberbatch,GloVe和word2vec均在其置信区间内。
对于那些希望提高对故事的计算理解的人来说,此结果可能会令人感到安慰。向量袋方法在选择故事的正确结尾方面可能比其他方法稍微成功一些,但是这种方法的性能可能达到了顶峰。似乎任何足够高质量的单词嵌入都可以在大约59%的时间里选择正确的结尾,这仅基于一个假设,即故事的结尾应与故事的其余部分相似。将其视为基准:任何旨在有效地表示故事中事件的表示形式,都应获得超过59%的正确率。
我们已经比较了仅表示分布语义的词嵌入(word2vec,GloVe和LexVec),仅表示关系知识的词嵌入(ConceptNet PPMI)以及两者的组合(ConceptNet Numberbatch),并且已经证明了整体大于其各个部分的总和。
在专注于词嵌入的领域中,ConceptNet仍然很重要,因为词嵌入可以从ConceptNet的知识中受益。 ConceptNet可以使单词嵌入更加健壮,并且与人工判断更加相关,如ConceptNet Numberbatch在多次评估中匹配人工注释者所获得的最佳结果所示。
任何基于词嵌入的技术都应考虑包括关系知识的来源,或者从考虑了相关知识的一组经过预训练的词嵌入开始。ConceptNet的众多目标之一就是以一种方便的形式提供此知识,该知识可以应用于许多领域和多种语言。
ConceptNet 5.5的代码和文档可以在GitHub上的https://github.com/commonsense/conceptnet5上找到,知识图谱可以在http://conceptnet.io上浏览。可以使用README文件中的说明来复现完整的构建过程以及评估图,以使用Snakemake(一种用于数据科学的构建系统)(Koster和Rahmann 2012),还可以选择使用Docker Compose来复现该系统环境。截至本文提交时,存储库的版本已标记为aaai2017。
本文在2016年9月的构建过程中产生了ConceptNet Numberbatch单词嵌入。可以从https://github.com/commonsense/conceptnet-numberbatch标记为16.09的预编译形式下载它们。