2011-03-19 23 views
15

POI nltk.pos_tag() ile bazı kelimelerle etiketlendim, böylece treebank etiketleri verildi. Bu sözcükleri bilinen POS etiketlerini kullanarak parçalamak istiyorum ama nasıl emin değilim. Wordnet lemmatizer'a bakıyordum ama treebank POS etiketlerini lemmatizer tarafından kabul edilen etiketlere nasıl dönüştüreceğimi bilmiyorum. Bu dönüşümü nasıl basit bir şekilde yapabilirim veya treebank etiketlerini kullanan bir lemmatizer var mı?POST ile etiketlenmiş sözcükleri NLTK ile mı?

+3

Ben 'dumanı tüten POS' – fizzer

+1

olarak bu okuma bazı ipuçları burada da mevcuttur http://stackoverflow.com/questions/15586721/wordnet-lemmatization-ve-pos-etiketleme-python – Sadik

cevap

28

WordNet lemmatizer yalnızca dört bölümlü konuşmayı (ADJ, ADV, NOUN ve VERB) bilir ve yalnızca NOUN ve VERB kuralları özellikle ilginç olan her şeyi yapar. Treebank tagset'indeki konuşmanın isim bölümleri NN ile başlar, fiil etiketleri VB ile başlar, jj etiketleri jj ile başlar ve zarf etiketleri RB ile başlar. Yani, diğer etiket kümesi dönüştürme oldukça kolaydır, gibi bir şey:

from nltk.corpus import wordnet 

morphy_tag = {'NN':wordnet.NOUN,'JJ':wordnet.ADJ,'VB':wordnet.VERB,'RB':wordnet.ADV}[penn_tag[:2]] 
+0

uydu sıfatları hakkında ne? – user1048677

+0

Uydu sıfatları normal sıfatlarla aynı şekilde ele alınır. – rmalouf

+0

[penn_tag] nereden geliyor? Treebank etiketleri listesi? – Ksofiac