Een hiërarchische lexicale graaf maken
Je hebt misschien gezien dat de vorige output meer bevatte dan alleen bedrijven. Het extraheren van een kennisgraaf is vaak een iteratief proces. De output van een tekstsplitser heeft vaak extra controle en filtering nodig voordat je de knooppunten en relaties aanmaakt.
In deze oefening filter je deze extra informatie eruit en gebruik je die vervolgens om Act-knooppunten te maken die verbonden zijn met een Play-knooppunt.
De variabele play_node, met een Node-object voor het stuk, is al voor je aangemaakt, evenals een graph_document-variabele om de nieuwe knooppunten en relaties in op te slaan die je gaat maken.
Deze oefening maakt deel uit van de cursus
Graph RAG met LangChain en Neo4j
Interactieve oefening met praktijkervaring
Probeer deze oefening door deze voorbeeldcode aan te vullen.
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])