2016-10-31 3 views
2

Я новичок в Python и NLTK для операций NLP. Начиная с разных предложений, мне было интересно, как я могу извлечь некоторые зависимые отношения внутри предложения.Как извлечь определенную информацию из предложений с помощью NLTK

Например: Эдвард имеет черную куртку и белые туфли с красными шнурками

Использованием POS мечения можно извлечь определенные части речи, но я хочу особо выделить, что у него есть, например, черный пиджак, чтобы в конечном счете перечислить информацию, как:

Имя: Эдвард

Одежда: черный пиджак

обувь: Белые туфли с красными шнурками

+1

Можете ли вы показать нам свой код для тегов и вывода POS? –

ответ

2

То, что вы ищете, NER (Named Entity Recognition). Поскольку каждая структура предложения отличается, а информация, требуемая от них, различна, вам может потребоваться сделать свой собственный, вы получите шаблон или рабочий пример от here.

Имеются также огромные корпуса, которые вы можете использовать.

+0

Ну, можно создать собственную грамматику с регулярными выражениями на основе тегов POS, которые я пытаюсь в данный момент. Спасибо за быстрый ответ. – Boyos123

1

Вы можете рассматривать проблему как извлечение отношений кортежей, может быть как двоичные отношения. В этом случае вам нужно знать о open IE. В этом случае вы можете извлечь кортежи отношений, например, или. Вы можете создать свою модель извлечения отношения, если у вас есть контролируемые данные. В противном случае извлечение имени, одежды или другой важной информации было бы нелегко с использованием других методов, таких как NER или POSTagging.

Одним из альтернативных способов может быть анализ зависимостей, но я не уверен, как его моделировать для адаптации к вашим конкретным потребностям.