2015-10-06 10 views
0

Я использую NLTK как часть моего проекта и реализовал алгоритм Витерби с целью тегирования (хотя я знаю о том, что теггер очень доступен). я использовал следующий пропущен в моем кодеPenn tree Bank tagset для NLTK

tagdict = load('help/tagsets/brown_tagset.pickle') 
taglist = tagdict.keys() 
tag_sequence_corpus = brown.tagged_sents(tagset='brown') 

Первые две линий были использованы для извлечения ключей из коричневой теги-набор, где ключи список тегов, доступных в tag- Brown задавать. Аргумент tag-set = 'brown' в третьей строке используется для обозначения коричневого тела в соответствии с набором тегов, предложенным корпусом Brown.

Есть ли какие-либо средства, с помощью которых я могу установить аргумент набора тегов для набора тегов Penn Bank? Мотивацией для этого является тот факт, что дерево банка Penn имеет около 36-45 тегов, что делает возможным реализовать алгоритм Витерби (сложность алгоритмов O (n * | S |^3)), где n - длина предложения ans | S | относится к величине набора тегов, в то время как у коричневого тела есть около 226 тегов (что увеличивает время вычисления). И универсальный набор тегов склонен к двусмысленности смысла слова.

Если маркер PTB недоступен, может ли кто-нибудь предложить альтернативу ему (кроме Брауна/универсального)?

Thankyou.

ответ

1

Последнее предложение в вашем вопросе указывает на то, что вы знаете о universal множества ярлыков: Она имеет только около 10 POS-теги, потому что они должны быть достаточно широкими для других tagsets быть отображены к их. Набор тегов Penn Treebank имеет отношение «многие ко многим» к Брауну, поэтому нет (надежного) автоматического сопоставления.

Что вы можете сделать, это использовать один из корпусов, которые уже помечены тегом Penn Treebank. Образец NLTK в корпусе treebank составляет только 1/10 размера Брауна (100 000 слов), но этого может быть достаточно для ваших целей.

В качестве альтернативы, вы можете упростить корпус Brown себя: Если вы только сохранить первую часть составных тегов, как VBN-TL-HL или PPS+HVD, 472 комплексных тегов снижаются до 71. Если это все еще слишком много, проверьте определения и вручную свернуть это, например, путем объединения NN и NNS (единственное и множественное число).