bil*_*ili 11 classification machine-learning nltk feature-selection
我通过使用正则表达式从Twitter的流中收集了一堆问题来挑选任何包含以问题类型开头的文本的推文:谁,什么,何时,何地等,并以问号结束.
因此,我最终在我的数据库中得到了几个无用的问题:"谁在乎?","这是什么?" 等一些有用的东西,比如:'篮球比赛的频率是多少?','北极熊的重量是多少?' 等等
但是,我只对有用的问题感兴趣.
我有大约3000个问题,〜2000个问题没用,〜其中1000个是有用的,我手动标记它们.我试图使用一个朴素的贝叶斯分类器(随NLTK一起)尝试自动分类问题,这样我就不必手动挑选出有用的问题.
首先,我尝试选择问题的前三个单词作为功能,但这并没有多大帮助.在100个问题中,分类器仅预测大约10%-15%对于有用的问题是正确的.它也未能从它预测无用的问题中挑选出有用的问题.
我尝试了其他功能,例如:包括所有单词,包括问题的长度,但结果没有显着变化.
有关如何选择功能或继续进行的任何建议?
谢谢.
gre*_*ess 12
一些随机的建议.
this,a,of,and,等.How often is there a basketball fight
首先你删除一些停用词,你得到
how often basketball fight
对于上面这样的句子,您可以计算每个单词的tf-idf分数:
tf-idf(how)
tf-idf(often)
tf-idf(basketball)
tf-idf(fight)
Run Code Online (Sandbox Code Playgroud)
这可能很有用.
>>> 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的作者尝试了4种不同的分类器,即随机森林,SVM,J48和Logistic回归.随机森林中表现最好.
希望他们帮忙.
| 归档时间: |
|
| 查看次数: |
2194 次 |
| 最近记录: |