Ejemplo n.º 1
0
def get_morph_chain(nouns, chunks):
    if isinstance(nouns, list):
        chains = []
        for i in nouns:
            chains.append(get_morph_chain(i, chunks))
        return chains
    else:
        if nouns is None:
            return ''
        chunk = chunks[nouns]
        omitted = NLP47.omit_punctual_from_morphs(chunk.morphs())
        omitted_string = NLP42.concat_morphs(omitted)
        if chunk.dst() == -1:
            return [omitted_string]
        else:
            return [omitted_string] + get_morph_chain(chunk.dst(), chunks)
Ejemplo n.º 2
0
def get_chunks_chain(nouns, chunks):
    if isinstance(nouns, list):
        chains = []
        for i in nouns:
            chunks_chain, indice = get_chunks_chain(i, chunks)
            d = dict(chunks_chain = chunks_chain, index = indice)
            chains.append(d)
        return chains
    else:
        if nouns is None:
            return ''
        chunk = chunks[nouns]
        omitted_morphs = NLP47.omit_punctual_from_morphs(chunk.morphs())
        new_chunk = NLP42.Chunk(omitted_morphs, chunk.dst())
        for s in chunk.srcs():
            new_chunk.append_srcs(s)
        if chunk.dst() == -1:
            return [new_chunk], [nouns]
        else:
            new_chunks, indice = get_chunks_chain(chunk.dst(), chunks)
            return [new_chunk] + new_chunks, [nouns] + indice
Ejemplo n.º 3
0
def get_chunk_surface_string(chunk):
    morphs = chunk.morphs()
    omitted_morphs = NLP47.omit_punctual_from_morphs(morphs)
    return ''.join(map(lambda x: x.surface(), omitted_morphs))