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

时间:2013-07-24 23:06:19

标签: algorithm

Google声称“术语向量算法”可用于确定热门关键字。我研究过http://en.wikipedia.org/wiki/Vector_space_model,但无法理解术语“术语矢量算法”。

请用简短的总结,简单的语言解释,就好像读者是小孩一样。

我认为“向量”是指数学定义,是指具有方向和数量的数量。关键字的数量如何向一个方向移动?

http://en.wikipedia.org/wiki/Vector_space_model州“每个维度对应一个单独的术语。”我认为维度与基数有关,这是正确的吗?

enter image description here

来自Alex Holmes的Hadoop In Practice一书,第12页。

3 个答案:

答案 0 :(得分:9)

这意味着每个单词形成一个单独的维度:

示例:(无耻地取自here

对于只包含三个单词的模型:

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)

答案 1 :(得分:0)

MapReduce最受欢迎的例子是计算工作频率;即,用于输出单词作为键的映射步骤,其中1为值,以及缩小步骤,以对每个单词的数字求和。因此,如果网页上有一个(可能是重复的)单词列表,则该列表中的每个单词都会映射到1. reduce步骤基本上计算每个单词在该页面中出现的次数。您可以跨页面,网站或任何标准执行此操作。结果数据是一个将字映射到频率的字典,它实际上是一个术语频率向量。

Example document: "a be see be a"
Resulting data: { 'a':2, 'be':2, 'see':1 }

答案 2 :(得分:0)

术语向量听起来好像只是意味着每个术语都附加了一个权重或数字值,可能与该术语的提及次数相对应。

你正在考虑单词vector的几何意义但有另一个数学意义只是意味着多个维度,即你不是说x,y,z你说的是粗体的矢量x,它有多个维度x1,x2,x3 ...... xn和一些值。因此,对于术语向量,向量是术语,它采用术语term1,term2到术语n。然后每个都可以有一个值,就像x,y或z有一个值一样。

作为一个例子,术语1可以是狗,术语2猫,术语3狮子,每个都有一个重量,2,3,1,意思是单词dog出现两次,cat 3次出现,lion出现1次。