Het toneelstuk splitsen in bedrijven
On gestructureerde tekst omzetten naar hiërarchische lexicale grafen is een iteratief proces: je bouwt splitters voor elke lexicale entiteit en splitst vervolgens steeds op de volgende.
In deze oefening ontwerp je een splitter om het toneelstuk Romeo and Juliet in bedrijven te splitsen. Hieronder zie je een voorproefje van de structuur van het stuk:
The Project Gutenberg eBook of Romeo and Juliet
This ebook is for the use of anyone anywhere in the United States...
**PROLOGUE:**
Enter Chorus.
CHORUS.
Two households, both alike in dignity...
ACT I
SCENE I. A public place.
Enter Sampson and Gregory armed with swords and bucklers.
SAMPSON.
Gregory, on my word, we’ll not carry coals...
...
Deze oefening maakt deel uit van de cursus
Graph RAG met LangChain en Neo4j
Oefeninstructies
- Werk het argument
splittersbij zodat de tekst ook wordt gesplitst op het patroon\n\nACT. - Stel
act_splitterzo in dat de lijstseparatorsals reguliere expressies wordt behandeld. - Splits
romeo_and_julietmetact_splitter.
Interactieve oefening met praktijkervaring
Probeer deze oefening door deze voorbeeldcode aan te vullen.
act_splitter = RecursiveCharacterTextSplitter(
separators=[
r"\n\nTHE PROLOGUE.",
r"\n\n\*\*\* END",
# Split by the word ACT
r"____"
],
# Configure the patterns as regular expressions
____=True
)
# Split the play using act_splitter
acts = act_splitter.____(____)
for act in acts:
print(act.strip().split("\n")[0])