Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/heroku/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 情感分析工具的停止词库_Java_Sentiment Analysis_Stop Words_Google Prediction - Fatal编程技术网

Java 情感分析工具的停止词库

Java 情感分析工具的停止词库,java,sentiment-analysis,stop-words,google-prediction,Java,Sentiment Analysis,Stop Words,Google Prediction,我正在使用谷歌预测API构建一个情绪分析工具。我有一些标记的训练数据,我将使用它们来训练模型。由于这是从社交媒体收集的数据,句子中的大多数单词都是停止词,我想在训练模型之前删除这些单词,这有助于提高准确性吗?java中是否有任何库可以用来删除这些停止词,而不是构建自己的停止词集 问候 这取决于谷歌预测算法的工作方式。我不熟悉它,但在阅读文档时,他们似乎不考虑单词联想。也就是说,他们不考虑一个充满情感的停顿词“不”是什么特别地修改。 比如说, "Cake is not close to being

我正在使用谷歌预测API构建一个情绪分析工具。我有一些标记的训练数据,我将使用它们来训练模型。由于这是从社交媒体收集的数据,句子中的大多数单词都是停止词,我想在训练模型之前删除这些单词,这有助于提高准确性吗?java中是否有任何库可以用来删除这些停止词,而不是构建自己的停止词集

问候
这取决于谷歌预测算法的工作方式。我不熟悉它,但在阅读文档时,他们似乎不考虑单词联想。也就是说,他们不考虑一个充满情感的停顿词“不”是什么特别地修改。 比如说,

"Cake is not close to being as good as french fries!"
"French fries are not cake, but are not bad."
在上面的句子中,把它们当作一袋单词(一个词序无关紧要的句子模型)并没有给我们带来太多的洞察力

我的建议是进行实验,让你的数据结果作为你的指南

我怀疑使用停止语不会有多大区别。假设我能预测它是如何正确工作的,它们应该会低于谷歌匹配算法的“噪音”阈值

你可以用谷歌搜索几种语言的停止词列表。您还可以提取许多自然语言处理库。词干分析可能会有所帮助。试试谷歌搜索波特词干或雪球词干”和Java。Lucene/Solr使用这种分析来建立搜索索引


好运。

< P>这取决于谷歌预测算法是如何工作的。我不熟悉它,但是在阅读文档时,他们似乎不考虑单词联想。也就是说,他们不考虑一个充满感情的停顿词“不”是什么。 比如说,

"Cake is not close to being as good as french fries!"
"French fries are not cake, but are not bad."
在上面的句子中,把它们当作一个“单词袋”(一个词序无关紧要的句子模型)并不能给我们带来太多的洞察力

我的建议是进行实验,让你的数据结果作为你的指南

我怀疑使用停止词不会有太大的区别。如果我能预测它是如何正确工作的,它们应该会低于谷歌匹配算法的“噪音”阈值

你可以用谷歌搜索几种语言的停止词列表。你也可以提取许多自然语言处理库。词干分析可能会有所帮助。试试用谷歌搜索“波特词干分析”或“雪球词干分析”和Java。Lucene/Solr使用这种分析来建立搜索索引


祝你好运。

停止语会有所帮助,但恐怕你需要针对情绪分析提出自己的清单(例如,无现成清单)。以下是一些更多的想法,这些想法可能会提高预测准确性,而无需投入大量工作来创建自己的停止词列表(在Kaggle上参加CrowdFlower OpenData竞赛的想法):

  • Stopwords:删除诸如“RT”、“@”、“#”、“link”、“google”、“facebook”、“yahoo”、“RT”等Stopwords
  • 字符重复:删除单词中重复的字符集(例如,“hotttt”被替换为“hot”)
  • 拼写更正:基于给定语料库的Levenshtein距离的拼写更正
  • 表情图标:确保在数据清理步骤中未删除或忽略表情图标(不确定Google Prediction API如何处理此问题)

想了解更多的想法,也可以看看这个。

停止语会有所帮助,但我担心您需要针对情绪分析提出自己的清单(例如,无现成清单)。以下是一些更多的想法,这些想法可能会提高预测准确性,而无需投入大量工作来创建自己的停止词列表(在Kaggle上参加CrowdFlower OpenData竞赛的想法):

  • Stopwords:删除诸如“RT”、“@”、“#”、“link”、“google”、“facebook”、“yahoo”、“RT”等Stopwords
  • 字符重复:删除单词中重复的字符集(例如,“hotttt”被替换为“hot”)
  • 拼写更正:基于给定语料库的Levenshtein距离的拼写更正
  • 表情图标:确保在数据清理步骤中未删除或忽略表情图标(不确定Google Prediction API如何处理此问题)

要了解更多的想法,还可以看看这个。

除非你的情绪分析是在使用大型语料库和大型培训集(如电影评论)进行定义和研究的领域,否则我建议你建立自己的培训数据。在处理社交媒体数据(尤其是Twitter)时,情况更是如此。根据您的研究/分析领域,构建您自己的培训数据集将允许您将时间集中在构建特定于域的数据集上,而不是尝试使用非域集


我赞同马特的回答:一些建议。我还补充说,你应该从你的数据中删除URL和用户名,并考虑它们的“词尾”。 除非您的情绪分析是在使用大型语料库和大型培训集(如电影评论)进行了明确定义和研究的领域,否则我建议您建立自己的培训数据。在处理社交媒体数据(尤其是Twitter)时,情况更是如此。根据您的研究/分析领域,构建您自己的培训数据集将允许您将时间集中在构建特定于域的数据集上,而不是尝试使用非域集

我赞同马特的回答:一些建议。我还补充说,你应该从你的数据中删除URL和用户名,并考虑它们的“词尾”。