2013-10-24 3 views
4

Я хочу, чтобы извлечь отношения из неструктурированного текста в виде (субъект, объект, действие) отношения,добывающие отношения из текста

, например,

«Мальчик сидит на столе ест курицу "

даст мне,

(мальчик, курица, есть)
(мальчик, стол, МЕСТОПОЛОЖЕНИЕ)

и т.д ..

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

Хотелось бы узнать, использовали ли вы какие-либо из инструментов или библиотек, которые могут быть использованы с открытым исходным кодом, чтобы извлекать отношения из гораздо более широкого домена, такие как большая коллекция текстовых документов или Интернета.

ответ

6

Если ваши предложения не получить гораздо сложнее, чем, например, вы показали (например, по отношению к анафорам), то Stanford parser даст хорошие результаты, основанные на probabilistic context-free grammar,, что вы легко сможете превратить в формат, который вы хотите. Существует demo available online. Для примера, это даст что-то вроде

nsubj(sitting, boy)

prep_on(sitting, table)

etc.

Если ваши предложения действительно становятся более сложными, вы можете быть заинтересованы в попытке Boxer, который строит discourse representation structures из C & C разбирает, на основе вероятностных combinatory categorial grammars. тех структур может оказаться сложнее адаптироваться к нужному вам формату, но позволит вам значительно повысить гибкость. Существует, опять же, demo available online. Для примера, это будет выглядеть как

sit(x)

boy(y)

table(z)

agent(x,y)

on(x,z)

etc.

Анализатор Stanford написан на Java и доступен под лицензией GPL. C & C написано на C++ и Boxer в SWI Prolog. Эти два не выпущены под подлинно бесплатную лицензию, но вы можете получить исходный код, изменить его и использовать для любого некоммерческого проекта.

Ничего не даст вам характеристики для отношения между «мальчиком» и «таблицей» в вашем примере - для этого вам понадобятся гораздо более мощные инструменты семантического рассуждения, и я не уверен, существует ли что-то подобное.

Редактировать

It has now become once more possible to obtain the source code for C&C and Boxer, along with a collection of models.

+1

Боксер кажется интересным, спасибо :) – wolfgang

+0

Boxer интересен, но его источник подрывной не работает .... – Wazzzy

+0

@Wazzzy, Что ты имеешь в виду под «не работает «? Вы не можете скачать его? построить это? запустить его? – scozy

Смежные вопросы