Criando um grafo lexical hierárquico
Você talvez tenha percebido que a saída anterior continha mais do que apenas atos. Extrair um grafo de conhecimento geralmente é um processo iterativo. A saída de um divisor de texto (text splitter) muitas vezes precisa de análise e filtragem adicionais antes de criar os nós e relacionamentos.
Neste exercício, você vai filtrar essas informações extras e usá-las para criar nós Act que se conectam a um nó Play.
A variável play_node, que contém um objeto Node para a peça, já foi criada para você, assim como a variável graph_document, que vai armazenar os novos nós e relacionamentos que você criar.
Este exercicio faz parte do curso
Graph RAG com LangChain e Neo4j
exercicio interativo prático
Tente este exercicio completando este código de exemplo.
acts = act_splitter.split_text(romeo_and_juliet)
for i, act in enumerate(acts):
lines = act.strip().split("\n")
# Only include text relating to an act
if lines[0].startswith(____):
print(i, act.strip().split("\n")[0])