Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/319.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
Python 我的代码删除了文本中的所有标点符号,但我们是否需要很少的标点符号来进行情感分析?_Python_Nlp_Nltk_Sentiment Analysis - Fatal编程技术网

Python 我的代码删除了文本中的所有标点符号,但我们是否需要很少的标点符号来进行情感分析?

Python 我的代码删除了文本中的所有标点符号,但我们是否需要很少的标点符号来进行情感分析?,python,nlp,nltk,sentiment-analysis,Python,Nlp,Nltk,Sentiment Analysis,我正在从事亚马逊产品评论的情感分析。我正在对评论文本进行预处理,并使用上述函数删除标点符号。它已经删除了所有这些,但我的问题是,我们是否考虑其中的一些情感分析。喜欢这是正确的方法吗 感谢您的帮助和时间。对此没有明确的答案。大多数nlp任务需要对模型进行某种形式的文本预处理,以便更好地推断文本。然而,在情绪分析的情况下,标点符号如可能很有价值,因为它表示对文本的强调: 我的钱包丢了可能比有更负面的含义好吧,我的钱包丢了。 解决此问题有两种方法: 您只能排除功能性标点符号,如等,并留在中和?类型的标

我正在从事亚马逊产品评论的情感分析。我正在对评论文本进行预处理,并使用上述函数删除标点符号。它已经删除了所有这些,但我的问题是,我们是否考虑其中的一些情感分析。喜欢这是正确的方法吗


感谢您的帮助和时间。

对此没有明确的答案。大多数nlp任务需要对模型进行某种形式的文本预处理,以便更好地推断文本。然而,在情绪分析的情况下,标点符号如
可能很有价值,因为它表示对文本的强调:

我的钱包丢了
可能比
有更负面的含义好吧,我的钱包丢了。

解决此问题有两种方法:

  • 您只能排除功能性标点符号,如
    等,并留在
    类型的标点符号。然后看看你的情绪分析模型的表现
  • 在清除所有标点符号之前和之后评估模型。您可以编写某种网格搜索功能,控制删除哪些标点符号和不删除哪些标点符号,并比较性能
  • 总之,正如大多数机器学习问题(我假设您使用经过训练的模型进行情绪分析)一样,它可以归结为一个特定的数据集和模型,即函数间是否会干扰模型的性能。但是,如果使用某种形式的第三方API进行分析,则可以安全地保留标点符号,因为第三方API很可能会自行处理清理


    希望这给了一些直觉

    好问题!我经常想知道这一点。
    def remove_punctuation(review):
        lst = []
        for text in review:
            if text not in string.punctuation:
                lst.append(text)
        return "".join(lst)
    df.Review = df.Review.apply(lambda x: remove_punctuation(x))