如何解决turicreate.text_analytics.count_words 的使用
我目前正在使用 turicreate
学习分类,并有关于 word count vector
的问题。
使用我发现的示例 Spark parquet partitioning : Large number of files
#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)
我试图理解以下内容:
-
如果分类是基于“情绪”(1 或 0),为什么我们需要'word_count'?
-
'word_count'在训练情感时的作用是什么
分类器?
我试图阅读turicreate.text_analytics.count_words
的{{3}},但我认为我不明白。
解决方法
感谢您的直接提问。收到你的邮件后我就来了。我觉得你提的两个问题有些相似,可以互相回答。基本上,您的问题是为什么我们在进行情感分析时需要字数向量。
老实说,这实际上是一个很长的答案,但我会尽量使其简洁。我目前不知道您对 NLP 的理解水平,但所有机器学习模型仅针对数值构建,这意味着当您处理文本数据时,您首先需要将文本转换为数字格式。这个过程称为矢量化。这基本上就是我们在这里所做的,但有很多方法可以实现。这里使用的向量化器是一个 CountVectorizer,其中 counts 字典中的每个单词都被视为该特定句子的单独特征。这导致创建一个稀疏矩阵,该矩阵可以将具有 n 个唯一单词的 m 个句子表示为一个 m x n
矩阵。
我们的方法是计算一个词在特定类型的句子(正面或负面)中出现的次数。可以理解,像可怕这样的词在否定句中的计数可能非常高,而在肯定句中的计数几乎为 0。同样,对于像“great”和“great”这样的词也会有相反的效果 '惊人的'。这是分类器中用于为每个单词分配权重的内容。负类中普遍出现的词的负权重和正类中出现的词的正权重。这就是情感分析分类的基础。
这可能是一个真正的helpful resource。您也可以通读this。
PS:在您从头开始编写代码以了解其工作原理或使用 scikit-learn 之前,我不建议使用 TuriCreate,因为 TuriCreate 抽象了很多用法,您可能不了解后台发生的事情。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。