turicreate.text_analytics.count_words 的用法
Usage of turicreate.text_analytics.count_words
我目前正在使用 turicreate
学习分类并且有一个关于 word count vector
的问题。
使用我找到的示例 here
#build a word count vector
products['word_count'] = turicreate.text_analytics.count_words(products['review'])
#determine positive or negative review
products['sentiment'] = products['rating'] >= 4
#train the sentiment classifier
sentiment_model = turicreate.logistic_classifier.create(train_data,
target='sentiment',
features=['word_count'],
validation_set=test_data)
我正在尝试了解以下内容:
如果分类是基于 'sentiment'(1 或
0), 为什么我们需要 'word_count'?
训练情感时'word_count'的作用是什么
分类器?
我试图阅读 documentation 的 turicreate.text_analytics.count_words
,但我不明白。
感谢您的直接提问。我收到你的邮件后就在这里。我觉得你提出的两个问题有些相似,可以通过对方来回答。基本上,您的问题是 为什么我们在进行情感分析时需要字数统计向量。
老实说,这实际上是一个很长的答案,但我会尽量使其简洁。我目前不知道你对 NLP 的理解水平,但所有机器学习模型都是为数值构建的,这意味着当你处理文本数据时,你首先需要将文本转换为数字格式。此过程称为矢量化。这基本上就是我们在这里所做的,但有很多方法可以实现这一目标。这里使用的向量化器是一个 CountVectorizer,其中 counts 字典中的每个单词都被视为该特定句子的一个单独特征。这导致创建了一个稀疏矩阵,该矩阵可以将具有 n 个唯一单词的 m 个句子表示为 m x n
矩阵。
我们的方法是计算一个词在特定类型的句子(正面或负面)中出现的次数。可以理解,像 terrible 这样的词在否定句中的计数可能非常高,而在肯定句中的计数几乎为 0。同样,对于 'great' 和
'amazing'。这就是分类器中用来为每个单词分配权重的方法。对出现在负面 类 中的词进行负权重,对出现在正面 类 中的词进行正权重。这就是情感分析分类的基础。
这可能真的是helpful resource. You can also read through this。
PS:我不建议在你从头开始编写代码以了解它的工作原理或使用 scikit-learn 之前使用 TuriCreate,因为 TuriCreate 抽象了很多用法,你可能不明白是什么正在后台发生。
我目前正在使用 turicreate
学习分类并且有一个关于 word count vector
的问题。
使用我找到的示例 here
#build a word count vector
products['word_count'] = turicreate.text_analytics.count_words(products['review'])
#determine positive or negative review
products['sentiment'] = products['rating'] >= 4
#train the sentiment classifier
sentiment_model = turicreate.logistic_classifier.create(train_data,
target='sentiment',
features=['word_count'],
validation_set=test_data)
我正在尝试了解以下内容:
如果分类是基于 'sentiment'(1 或 0), 为什么我们需要 'word_count'?
训练情感时'word_count'的作用是什么
分类器?
我试图阅读 documentation 的 turicreate.text_analytics.count_words
,但我不明白。
感谢您的直接提问。我收到你的邮件后就在这里。我觉得你提出的两个问题有些相似,可以通过对方来回答。基本上,您的问题是 为什么我们在进行情感分析时需要字数统计向量。
老实说,这实际上是一个很长的答案,但我会尽量使其简洁。我目前不知道你对 NLP 的理解水平,但所有机器学习模型都是为数值构建的,这意味着当你处理文本数据时,你首先需要将文本转换为数字格式。此过程称为矢量化。这基本上就是我们在这里所做的,但有很多方法可以实现这一目标。这里使用的向量化器是一个 CountVectorizer,其中 counts 字典中的每个单词都被视为该特定句子的一个单独特征。这导致创建了一个稀疏矩阵,该矩阵可以将具有 n 个唯一单词的 m 个句子表示为 m x n
矩阵。
我们的方法是计算一个词在特定类型的句子(正面或负面)中出现的次数。可以理解,像 terrible 这样的词在否定句中的计数可能非常高,而在肯定句中的计数几乎为 0。同样,对于 'great' 和 'amazing'。这就是分类器中用来为每个单词分配权重的方法。对出现在负面 类 中的词进行负权重,对出现在正面 类 中的词进行正权重。这就是情感分析分类的基础。
这可能真的是helpful resource. You can also read through this。
PS:我不建议在你从头开始编写代码以了解它的工作原理或使用 scikit-learn 之前使用 TuriCreate,因为 TuriCreate 抽象了很多用法,你可能不明白是什么正在后台发生。