有没有在单词和句子级别都起作用的分类器?
Posted
技术标签:
【中文标题】有没有在单词和句子级别都起作用的分类器?【英文标题】:Is there any classifiier which works at both word and sentence level? 【发布时间】:2015-01-31 18:39:46 【问题描述】:在 scikit learn 或 nltk 分类器中一般会考虑词频或 TF-IDF。
我还想考虑词频,用于分类的句子结构。我有 15 类问题。每个文本文件都包含带有换行符的句子。
Category city 包含这句话:
In which city Obama was born?
如果我考虑词频,那么可能不会考虑跟随。因为数据集中的 obama 或 city 与查询语句不匹配
1. In which place Hally was born 2. In which city Hally was born?
是否有任何分类器既考虑词频又考虑句子结构。因此,在训练时,它也会对具有相似句子结构的输入查询进行分类
【问题讨论】:
【参考方案1】:正如drekyn
所说,您可以使用 Scikit learn 进行特征提取,这里有一些示例:
>>> bigram_vectorizer = CountVectorizer(ngram_range=(1, 2),
... token_pattern=r'\b\w+\b', min_df=1)
>>> analyze = bigram_vectorizer.build_analyzer()
>>> analyze('Bi-grams are cool!') == (
... ['bi', 'grams', 'are', 'cool', 'bi grams', 'grams are', 'are cool'])
True
Source
【讨论】:
【参考方案2】:除了 unigram 之外,您还可以在 ngram 上训练 tf-idf。
在 Scikit Learn 中,您可以指定将要考虑的 ngram_range
:如果您将其设置为最多训练 3 克,您最终将存储诸如“在哪个地方”之类的单词组合的频率,其中很能说明问题的类型。
【讨论】:
以上是关于有没有在单词和句子级别都起作用的分类器?的主要内容,如果未能解决你的问题,请参考以下文章