extraer relaciones usando NLTK

Esto es un seguimiento de mi pregunta. Estoy usando nltk para analizar personas, organizaciones y sus relaciones. Utilizandoeste ejemplo, Pude crear grupos de personas y organizaciones; sin embargo, recibo un error en el comando nltk.sem.extract_rel:

AttributeError: 'Tree' object has no attribute 'text'

Aquí está el código completo:

import nltk
import re
#billgatesbio from http://www.reuters.com/finance/stocks/officerProfile?symbol=MSFT.O&officerId=28066
with open('billgatesbio.txt', 'r') as f:
    sample = f.read()

sentences = nltk.sent_tokenize(sample)
tokenized_sentences = [nltk.word_tokenize(sentence) for sentence in sentences]
tagged_sentences = [nltk.pos_tag(sentence) for sentence in tokenized_sentences]
chunked_sentences = nltk.batch_ne_chunk(tagged_sentences)

# tried plain ne_chunk instead of batch_ne_chunk as given in the book
#chunked_sentences = [nltk.ne_chunk(sentence) for sentence in tagged_sentences]

# pattern to find <person> served as <title> in <org>
IN = re.compile(r'.+\s+as\s+')
for doc in chunked_sentences:
    for rel in nltk.sem.extract_rels('ORG', 'PERSON', doc,corpus='ieer', pattern=IN):
        print nltk.sem.show_raw_rtuple(rel)

Este ejemplo es muy similar al dado en el libro, pero el ejemplo utiliza 'documentos analizados' preparados, que no aparecen en ningún lado y no sé dónde encontrar su tipo de objeto. Recorrí las bibliotecas de git también. Cualquier ayuda es apreciada.

Mi objetivo final es extraer personas, organizaciones, títulos (fechas) para algunas empresas; luego cree mapas de red de personas y organizaciones.

Respuestas a la pregunta(3)

Su respuesta a la pregunta