什么是“术语向量算法”?

7
谷歌表示,“术语向量算法”可用于确定流行关键词。我已经学习了向量空间模型,但无法理解“术语向量算法”的含义。
请用简单的语言对其进行简要概述,就像读者是孩子一样。
我认为“向量”是数学定义,它具有方向和大小。关键词如何具有具有方向的数量? http://en.wikipedia.org/wiki/Vector_space_model指出:“每个维度对应一个单独的术语。”我认为维度与基数有关,这正确吗?

enter image description here

从《Hadoop实战》一书,作者Alex Holmes,第12页。

我已经为你的问题点赞,但我认为将其发布在programmers.se更为合适。 - Miserable Variable
1
设T为所有术语的集合,例如网页上的关键词。术语向量是N^|T|中的稀疏向量,其中N是自然数。术语向量的每个分量都可以指示该术语是否出现在搜索或网页中,或者该术语在搜索或网页中出现的次数。 - Paul
3个回答

9
这意味着每个单词形成一个独立的维度:
例如:(不要介意,源自这里
对于只包含三个单词的模型,你会得到:
dict = { dog, cat, lion }

Document 1
“cat cat” → (0,2,0) 

Document 2
“cat cat cat” → (0,3,0)

Document 3
“lion cat” → (0,1,1)

Document 4 
“cat lion” → (0,1,1)

那么在这种情况下,向量并不意味着沿某个方向移动的数量? - davidjhp
1
@davidjhp 不,它不是几何意义上的向量。如果你了解C++,它与std::vector是相同的概念。 - Thomas

0
最流行的MapReduce示例是计算工作频率;即,使用映射步骤将单词输出为键,值为1,并使用归约步骤对每个单词的数字求和。因此,如果网页上有一列(可能重复)出现的单词列表,则该列表中的每个单词都映射到1。归约步骤实际上计算了该页面中每个单词出现的次数。您可以在页面、网站或任何标准之间执行此操作。生成的数据是将单词映射到频率的字典,这有效地是一个术语频率向量。
Example document: "a be see be a"
Resulting data: { 'a':2, 'be':2, 'see':1 }

0

术语向量听起来像是每个术语都有一个附加的权重或数字值,可能对应于术语被提及的次数。

你正在考虑单词向量的几何意义,但还有另一种数学意义,它只是表示多维度,即不是说x、y、z,而是说具有多个维度x1、x2、x3...xn和一些值的向量x。因此,对于术语向量,向量是术语,并采用术语1、术语2直到术语n的形式。然后,每个术语可以有一个值,就像x、y或z有一个值一样。

例如,术语1可以是狗,术语2可以是猫,术语3可以是狮子,每个术语都有一个权重,2、3、1,表示单词狗出现了两次,猫出现了三次,狮子出现了一次。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接