我有以下兩組。這個想法是能夠基於我提供的幾個meta標籤對新聞文章進行分類。例如,當我得到了「法官」,「5年」,那麼它應該被歸類爲一個犯罪故事的文章NLTK分類和WordNet與文字Blob
train = [
('Honda', 'cars'),
('Ford', 'cars'),
('Volkswagen', 'cars'),
('Courthouse', 'crime'),
('Police', 'crime'),
('Taurus', 'cars'),
('Chevrolet', 'cars'),
('Sonic', 'cars'),
('Judge', 'crime'),
('Jail', 'crime')
]
test = [
('Porsche', 'cars'),
('Toyota', 'cars'),
('Arrest', 'crime'),
('Prison', 'crime')
]
cl = NaiveBayesClassifier(train)
的問題是,當我運行此:
for a, b in test:
print a, cl.classify(a)
它分類一切都像「汽車」
我相信我在這裏缺少語義相似性比較。我嘗試通過文本blob使用WordNet。
我跑
word = Word("Volkswagen")
for each in word.definitions:
print each
,但它並沒有給我任何結果。現在
的問題是:
我如何共發現地說,大衆汽車是一輛汽車,即融入分類,使其認識到Hyndai也是一輛汽車,正確分類呢?