gpt4 book ai didi

machine-learning - 选择功能将 Twitter 问题识别为 "Useful"

转载 作者:行者123 更新时间:2023-11-30 08:23:07 24 4
gpt4 key购买 nike

我从 Twitter 的流中收集了一堆问题,方法是使用正则表达式挑选出包含以问题类型开头的文本的任何推文:谁、什么、何时、何地 等并结束带问号。

因此,我最终在数据库中收到了几个无用的问题,例如:“谁在乎?”、“这是什么?”等等,还有一些有用的信息,例如:“篮球比赛多久进行一次?”、“北极熊有多重?”等等

但是,我只对有用的问题感兴趣。

我有大约 3000 个问题,其中 ~2000 个是无用的,其中 ~1000 个是有用的,我已经手动标记它们。我正在尝试使用朴素贝叶斯分类器(NLTK 附带)来尝试自动对问题进行分类,这样我就不必手动挑选有用的问题。

首先,我尝试选择问题的前三个单词作为功能,但这并没有多大帮助。在 100 个问题中,分类器仅预测出大约 10%-15% 的有用问题是正确的。它也未能从预测无用的问题中挑选出有用的问题。

我尝试过其他功能,例如:包括所有单词,包括问题的长度,但结果没有明显变化。

关于我应该如何选择功能或继续进行有什么建议吗?

谢谢。

最佳答案

一些随机建议。

添加预处理步骤并删除停用词,例如 thisaofand

  How often is there a basketball fight

First you remove some stop words, you get

  how often basketball fight 

Calculate tf-idf score for each word (Treating each tweet as a document, to calculate the score, you need the whole corpus in order to get document frequency.)

For a sentence like above, you calculate tf-idf score for each word:

  tf-idf(how)
tf-idf(often)
tf-idf(basketball)
tf-idf(fight)

This可能有用。

为您的分类器尝试以下附加功能

  • 平均 tf-idf 得分
  • tf-idf 得分中位数
  • 最大 tf-idf 分数

此外,尝试 pos-tagger并为每条推文生成一个分类句子。

>>> import nltk>>> text = nltk.word_tokenize(" How often is there a basketball fight")>>> nltk.pos_tag(text)[('How', 'WRB'), ('often', 'RB'), ('is', 'VBZ'), ('there', 'EX'), ('a', 'DT'), ('basketball', 'NN'), ('fight', 'NN')]

然后您可能可以尝试与 pos-tags 相关的其他功能。

其他一些可能有用的功能,请参阅论文 - qtweet (这是一篇推文问题识别论文)了解详情。

  • 推文是否包含任何网址
  • 推文是否包含任何电子邮件或电话号码
  • 问题后面是否有诸如!之类的强烈感觉。
  • 推文上下文中是否存在一元词。
  • 推文是否提及其他用户的姓名
  • 该推文是否为转发
  • 推文是否包含任何主题标签#

仅供引用,qtweet 的作者尝试了 4 种不同的分类器,即随机森林、SVM、J48 和 Logistic 回归。其中随机森林表现最好。

希望他们能有所帮助。

关于machine-learning - 选择功能将 Twitter 问题识别为 "Useful",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14311821/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com