我正在尝试实现一种遵循一篇论文的方法来消除实体的歧义。该过程由两个步骤组成,即训练阶段和消歧阶段。我想问一下关于培训阶段,我不太明白如何获得原型向量,如这一段所解释的:
在训练阶段,我们计算每个单词或短语,这些词或短语至少与一个特定的实体相连10次,我们称之为原型向量:这是一个tf.idf加权的、标准化的列表,列出了在相关链接的一个邻域(我们考虑左、右10个单词)中出现的所有术语。注意,一个和同一个单词或短语可以有几个这样的原型向量,每个实体都有一个,它们是从集合中的某个单词或短语中链接而来的。
他们使用了维基百科的方法,并使用维基百科的链接作为培训集。
有谁能帮我举个例子,说明一下这里的原型向量吗?我是这个领域的新手。
发布于 2012-09-28 22:13:55
下面是原型向量的草图:
首先要注意的是,维基百科中的一个单词可以是指向维基百科页面(我们称之为实体)的超链接。这个http://en.wikipedia.org/wiki/Entity_class在某种程度上与单词相关,但是同一个词可以链接到不同的实体。
“对于与某一特定实体至少链接10次的每个单词或短语”
在整个维基百科中,我们计算word_A链接到entity_B的次数,如果超过10次,我们继续(写下它们链接的实体的位置):
[(wordA, entityA1), (wordA, entityA2),...]在这里,wordA发生在entityA1中,它链接到entityB__等。
“在有关链接的某一街区发生的所有术语清单”
在entityA1中,wordA向左和右各有10个单词(我们只显示了其中的4个):
are developed and the entity relationships between these data
wordA
link # (to entityB)
['are', 'developed, 'and', 'the', 'relationships', 'between', 'these', 'data'] 每一对(wordA, entityAi)都给我们这样一个列表,并将它们连接起来。
“tf.idf加权规范化列表”
从根本上说,tf.idf意味着你应该给普通单词更少的“权重”,而不是不那么普通的单词。例如,'and'和'the'是非常常见的词,因此我们给它们的意义(它们在'entity'旁边)比'relationships'或'between'更少。
规范化,意味着我们应该(本质上)计算一个单词发生的次数(它发生的越多,我们认为它与wordA的关联就越多)。然后把这个计数乘以权重,得到一些分数来对列表进行排序.把最频繁、最不常见的词放在最上面。
请注意,同一个词或短语可以有几个这样的原型向量
这不仅依赖于wordA,而且还依赖于entityB,您可以将其视为映射。
(wordA, entityB) -> tf.idf-weighted, normalized list (as described above)
(wordA, entityB2) -> a different tf.idf-weighted, normalized list这说明了从单词http://en.wikipedia.org/wiki/Cats到'cat'的链接不太可能有邻居'batman'__,而不是指向http://en.wikipedia.org/wiki/Cat_woman的链接。
https://stackoverflow.com/questions/12621341
复制相似问题