词袋与向量空间模型?

机器算法验证 机器学习 文本挖掘
2022-03-21 18:23:42

这些文本表示模型之间有什么区别:词袋和向量空间模型?

2个回答

词袋向量空间模型是指表征文本主体(例如文档)的不同方面。它们在 Jurafsky 和 ​​Martin 2009 年的教科书“语音和语言处理”中关于信息检索的第 23.1 节中有很好的描述。更简洁的参考是 Manning、Raghavan 和 Schütze 于 2008 年在“用于评分的向量空间模型”一节中撰写的“Introduction to Information Retrieval”。

Bag-of-words 是指您可以从文档中提取什么样的信息(即一元词)。向量空间模型是指每个文档的数据结构(即术语和术语权重对的特征向量)。两个方面相辅相成。

进一步来说:

Bag-of-words:对于给定的文档,您只提取一元词(又名术语)来创建一个无序列的词列表。没有 POS 标签,没有语法,没有语义,没有位置,没有二元组,没有三元组。只有一元词本身,用一堆词来表示文档。因此:词袋

向量空间模型:给定从文档中提取的词袋,为文档创建一个特征向量,其中每个特征都是一个词(词),特征的值是词权重。术语重量可能是:

  • 一个二进制值(1 表示该术语出现在文档中,0 表示它没有出现);
  • 词频值(表示词在文档中出现的次数);或者
  • 一个 TF-IDF 值(例如一个小的浮点数,比如 1.23)。

整个文档因此是一个特征向量,每个特征向量对应于向量空间中的一个点。该向量空间的模型使得词汇表中的每个术语都有一个轴,因此向量空间是V维的,其中V是词汇表的大小。然后,该向量在概念上也应该是V维的,每个词汇项都有一个特征。但是,由于词汇表可能很大(大约V = 100,000 个术语),文档的特征向量通常将仅包含该文档中出现的术语,而忽略未出现的术语。这样的特征向量被认为是稀疏的。

因此,文档的示例矢量表示可能如下所示:

DOCUMENT_ID_42 LABEL_POLITICS a 55 ability 1 about 5 absent 2 abuse 1 access 1
accompanied 1 accompanying 2 according 2 account 1 accounted 1 accurate 1
acknowledge 4 activities 1 actual 1 actually 2 administering 1 ...

其中这个示例向量有一个文档 id(例如 42)、一个真实标签(例如政治)和一个包含术语和术语频率对的特征和特征值列表。在这里,可以看到“缺席”一词在该文档中出现了 2 次。

只要向量空间中的操作(点积)有意义(tf-idf 权重,对于例子)?