Podział sztuki na akty
Przekształcanie nieustrukturyzowanego tekstu w hierarchiczne leksykalne grafy to proces iteracyjny — polega na tworzeniu splitterów dla każdej jednostki leksykalnej, a następnie kolejnym dzieleniu tekstu przy użyciu każdego z nich.
W tym ćwiczeniu zaprojektujesz splitter, który podzieli sztukę Romeo i Julia na akty. Oto podgląd struktury tekstu:
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...
...
To ćwiczenie jest częścią kursu
Graph RAG z LangChain i Neo4j
Instrukcje do ćwiczenia
- Zaktualizuj argument
splitters, aby tekst był dzielony również według wzorca\n\nACT. - Skonfiguruj
act_splittertak, aby traktował listęseparatorsjako wyrażenia regularne. - Podziel
romeo_and_julietprzy użyciuact_splitter.
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
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])