我很难理解构建词袋的过程。这将是一个多类别分类监督机器学习问题,其中一个网页或一段文本将被分配到多个预定义类别中的一个。现在,我熟悉的构建特定类别(例如,“数学”)词袋的方法是收集大量与数学相关的网页。从那里,我将进行一些数据处理(如删除停用词和执行TF-IDF)来获得“数学”类别的词袋。
问题:我正在考虑的另一种方法是通过Google搜索“与数学相关的术语列表”来构建我的词袋。我想问这种方法是否可行?
另一个问题:在这个问题的背景下,词袋和语料库是否意味着相同的东西?
提前感谢!
回答:
这不是词袋的定义。词袋是用来描述一种特定方式来表示给定文档的术语。具体来说,一个文档(段落、句子、网页)被表示为一种形式的映射:
word: 这个词在文档中出现的次数
例如,“John likes cats and likes dogs”将被表示为:{john: 1, likes: 2, cats: 1, and: 1, dogs: 1}。这种表示方式可以很容易地输入到典型的机器学习方法中(特别是如果假设总词汇是有限的,那么我们最终会得到数值向量)。
请注意,这不是关于“为一个类别创建词袋”。在典型的监督学习中,一个类别由多个文档组成,每个文档独立地被表示为词袋。
特别是,这使你最后提出的通过Google搜索与类别相关的词的提议无效——这不是典型的机器学习方法的工作方式。你会得到大量文档,将它们表示为词袋(或其他东西),然后进行统计分析(构建模型)来找出区分类别的最佳规则集。这些规则通常不会仅仅是“如果词X存在,这与Y相关”。