2009-11-06 18 views

cevap

9

nltk.ne_chunk() yöntemiyle entity chunking adlı kutudan çıkabilirsiniz. bir örgüt olarak

Tree('S', [Tree('PERSON', [('Barack', 'NNP')]), Tree('ORGANIZATION', [('Obama', 'NNP')]), ('lives', 'NNS'), ('in', 'IN'), Tree('GPE', [('Washington', 'NNP')])])

Bir kişi olarak Barack tanımlayan fakat Obama: içinde

nltk.ne_chunk([('Barack', 'NNP'), ('Obama', 'NNP'), ('lives', 'NNS'), ('in', 'IN'), ('Washington', 'NNP')])

sonuçları: Bu POS listesi dizilerini etiketli sürer. Yani mükemmel değil.

+1

Eğer named_entities hakkında çok endişelenmiyorum, ancak genel olarak yığınlama yapmam. Örneğin, "sarı köpek" bir yığındır ve "koşuyor" bir yığındır. – TIMEX

+0

Evet, bilgim için varsayılan bir şey yok (nltk hakkında her şeyi bilmeme rağmen, emin olmak için). Bir RegexpChunkParser kullanabilirsiniz, ancak kuralları kendiniz geliştirmelisiniz. Burada bir örnek var: http://gnosis.cx/publish/programming/charming_python_b18.txt – ealdent

8

Ya da varsayılan bir ayırıcı/sığ ayrıştırıcı bulamadık. Kitap, örnek özelliklerle nasıl yapılacağını ve eğitileceğini anlatsa da. İyi performans elde etmek için ek özelliklerle gelmek çok zor olmamalıdır.

Training Classifier-based Chunkers konusundaki Bölüm 7'nin bölümüne bakın.

İlgili konular