Я хочу выполнить тегирование части речи и распознавание объектов в python, аналогично функциям Maxent_POS_Tag_Annotator и Maxent_Entity_Annotator openNLP в R. Я бы предпочел код в python, который принимает входные данные в виде текстового предложения и выводит в виде различных функций, таких как число «CC». , номер "CD", номер "DT" и т. д. CC, CD, DT - это теги POS, используемые в Penn Treebank. Таким образом, должно быть 36 столбцов/функций для тегов POS, соответствующих 36 тегам POS, как в POS Penn Treebank. Я хочу реализовать это в модуле Azure ML «Выполнение скрипта Python», а Azure ML поддерживает python 2.7.7. Я слышал, что nltk в python может работать, но я новичок в python. Любая помощь будет оценена по достоинству.
Тегирование части речи и распознавание сущностей — python
Ответы (1)
Взгляните на книгу NTLK, раздел "Категоризация и тегирование слов".
Простой пример, он использует набор тегов Penn Treebank:
from nltk.tag import pos_tag
from nltk.tokenize import word_tokenize
pos_tag(word_tokenize("John's big idea isn't all that bad."))
[('John', 'NNP'),
("'s", 'POS'),
('big', 'JJ'),
('idea', 'NN'),
('is', 'VBZ'),
("n't", 'RB'),
('all', 'DT'),
('that', 'DT'),
('bad', 'JJ'),
('.', '.')]
Затем вы можете использовать
from collections import defaultdict
counts = defaultdict(int)
for (word, tag) in pos_tag(word_tokenize("John's big idea isn't all that bad.")):
counts[tag] += 1
чтобы получить частоты:
defaultdict(<type 'int'>, {'JJ': 2, 'NN': 1, 'POS': 1, '.': 1, 'RB': 1, 'VBZ': 1, 'DT': 2, 'NNP': 1})
person
hellpanderr
schedule
06.09.2015
Спасибо @hellpanderr. Можете ли вы также указать шаги, как импортировать nltk в python? Я новичок в питоне. Виндовс 7 - 64 бит.
- person ankur; 07.09.2015
@ankur Шаги для импорта nltk в python: 1. откройте окно cmd; 2. введите команду «cd» в путь к установленному Python; 3. команда «Сценарии/pip.exe установить ntlk»
- person Peter Pan; 07.09.2015
@PeterPan-MSFT Я использую Python 2.7.7. пип не установлен. Это показывает, что ошибка сценариев не распознается как внутренняя или внешняя команда.
- person ankur; 07.09.2015
@PeterPan-MSFT еще один вопрос по теме. Если я хочу использовать только pos_tag, word_tokenize, какую опцию я должен указать в nltk.download(info_or_if=' ') под id?
- person ankur; 07.09.2015
@ankur Загрузите pip-7.1.2.tar.gz со страницы pypi.python.org/pypi/pip, распакуйте его и введите команду «python setup.py», чтобы установить pip.
- person Peter Pan; 07.09.2015
@PeterPan-MSFTImport Ошибка: нет модуля с именем setuptools
- person ankur; 07.09.2015
@ankur Пожалуйста, создайте новую ветку для вашего более связанного вопроса о NTLK, комментарий не используется для ответа на детали программирования. Спасибо.
- person Peter Pan; 07.09.2015