作为培训数据,对XML中的餐馆进行评论,并且相关的目标表达正在表达一种情绪,这是一个属于它的离散标签的类别,以及对此表达的极性:
<text>With the great variety on the menu , I eat here often and never get bored .</text>
<Opinions>
<Opinion target="menu" category="FOOD#STYLE_OPTIONS" polarity="positive" from="30" to="34"/>
</Opinions>
我使用TextBlob NB分类器将目标术语训练到相关类别。
对于测试数据,我的目标是在给定句子和类别的情况下预测目标表达式。我首先从句子中提取名词和名词短语,假设表达式将是这些中的一个子集。对于这句话:
"what may be interesting to most is the worst sevice attitude come from the owner of this establishment
“,这些是['sevice attitude', 'owner', 'establishment']
。
我想知道哪个类别最有可能给出类别,在这种情况下是SERVICE#GENERAL
。我怎么能这样做?
答案 0 :(得分:0)
默认情况下,TextBlob的NB分类器将文本特征提取为一个单词包。因此,您可以简单地连接提取的名词列表中的单词,然后将其与类别连接,以将结果用作训练文本。并使用目标作为培训标签。
考虑到单词处理单词,你应该只用一个单词转换这些名词短语。你可以放一个&#39; - &#39;而不是空间,例如(&#39;服务态度&#39;将是&#39;服务态度&#39;)。
示例:
from textblob.classifiers import NaiveBayesClassifier
train = [('sevice-attitude owner establishment SERVICE#GENERAL', 'owner'),
('menu variety FOOD#STYLE_OPTIONS', 'menu')]
cl = NaiveBayesClassifier(train)
如果您愿意,可以自定义特征提取:https://textblob.readthedocs.io/en/dev/classifiers.html#feature-extractors