Python 用重叠词对句子进行分类

Python 用重叠词对句子进行分类,python,twitter,nltk,document-classification,Python,Twitter,Nltk,Document Classification,我有这个CSV文件,其中有评论(推特,评论)。我想把它们分为4类,即 售前 售后服务 购买 服务查询 现在我面临的问题是: 每个单词之间有大量重叠的单词 类别,因此使用朴素贝叶斯是失败的 推特的大小只有160个字符,最好的方式是什么 防止单词从一个类别落入另一个类别 我应该选择哪些功能来处理160个字符的tweet和更长一点的facebook评论呢 作为该领域的新手,请让我知道任何参考链接/教程链接,以便跟进 谢谢这将是一个复杂的问题 您如何定义类别?获取尽可能多的推特和FB帖子,并用正确的

我有这个CSV文件,其中有评论(推特,评论)。我想把它们分为4类,即

  • 售前
  • 售后服务
  • 购买
  • 服务查询
现在我面临的问题是:

  • 每个单词之间有大量重叠的单词 类别,因此使用朴素贝叶斯是失败的
  • 推特的大小只有160个字符,最好的方式是什么 防止单词从一个类别落入另一个类别
  • 我应该选择哪些功能来处理160个字符的tweet和更长一点的facebook评论呢
  • 作为该领域的新手,请让我知道任何参考链接/教程链接,以便跟进

  • 谢谢这将是一个复杂的问题

  • 您如何定义类别?获取尽可能多的推特和FB帖子,并用正确的类别标记它们,以获取一些基本事实数据
  • 然后,您可以使用以下方法确定哪些单词/短语最适合识别特定类别:

  • 看看他们有关于文本处理和分类的教程。

    我不会那么快就写出天真的贝叶斯。它在许多领域表现良好,这些领域有很多薄弱的线索(如“重叠词”),但没有绝对的线索。这完全取决于你传递它的特性。我猜你是在盲目地将通常的“单词包”功能传递给它,也许是在过滤了stopwords之后。好吧,如果这不起作用,那就再努力一点

    一个好的方法是阅读几百条tweet,看看你如何知道你在看哪个类别。这将告诉您需要将哪些内容提取到功能中。但是一定要看大量的数据,关注一般的模式


    举个例子(但请注意,我还没有看过你的语料库):时间表达式可能是关于你是售前还是售后的很好的线索,但它们需要一些工作来检测。创建一些功能“过去的表达”、“未来的表达”等(除了单词袋功能),看看这是否有帮助。当然,您首先需要弄清楚如何检测它们,但您不必做到完美:您需要的是能够帮助分类器做出更好猜测的任何东西。“过去时”可能也是一个值得尝试的功能。

    您尝试过什么?你可能想看看结合Porter的堵塞算法。MySoValo的问题是考虑分类为“售前”和“售后”。现在我观察到这两个类在“将购买”和“已购买”/“已购买”等词上有所不同。我的观点是,你不应该通过观察而这样做。观察可以让你知道应该从什么开始,但最终你要做决定,并根据可靠的数据编写分类器。你需要先出去获取足够的数据。然后得到一些硬数字,比如“80%的推文中出现了‘将购买’一词,我认为这属于‘售前’类别”;“就这一数据做出决定。你还可以帮我提供任何教程/链接,哪种解决类似问题/在类似的线路上,因为我也面临着类似的问题,答案中的scikit learn链接正是您要找的教程。@mirosval在哪一步我需要使用PCA。第二,人们如何在文本数据中使用PCA?