Разбиение пьесы на акты
Преобразование неструктурированного текста в иерархические лексические графы — итеративный процесс: для каждой лексической единицы создаётся отдельный разделитель, а затем текст последовательно разбивается с их помощью.
В этом упражнении вы создадите разделитель, который разобьёт пьесу «Ромео и Джульетта» на акты. Ниже приведён пример структуры пьесы:
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...
...
Это упражнение является частью курса
Graph RAG с LangChain и Neo4j
Инструкции к упражнению
- Обновите аргумент
splitters, добавив разбиение текста по шаблону\n\nACT. - Настройте
act_splitterтак, чтобы он воспринимал элементы спискаseparatorsкак регулярные выражения. - Разбейте текст
romeo_and_julietс помощьюact_splitter.
Интерактивное практическое упражнение
Попробуйте выполнить это упражнение, дополнив этот пример кода.
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])