НачатьНачать бесплатно

Разбиение пьесы на акты

Преобразование неструктурированного текста в иерархические лексические графы — итеративный процесс: для каждой лексической единицы создаётся отдельный разделитель, а затем текст последовательно разбивается с их помощью.

В этом упражнении вы создадите разделитель, который разобьёт пьесу «Ромео и Джульетта» на акты. Ниже приведён пример структуры пьесы:

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])
Редактировать и запускать код