Создание иерархического лексического графа
Возможно, вы заметили, что предыдущий вывод содержал не только акты. Извлечение графа знаний — это, как правило, итеративный процесс. Результат работы разбивщика текста часто требует дополнительного анализа и фильтрации, прежде чем создавать узлы и связи.
В этом упражнении вы отфильтруете лишние данные, а затем используете оставшиеся для создания узлов Act, связанных с узлом Play.
Переменная play_node, содержащая объект Node для пьесы, уже создана за вас, как и переменная graph_document для хранения новых узлов и связей.
Это упражнение является частью курса
Graph RAG с LangChain и Neo4j
Интерактивное практическое упражнение
Попробуйте выполнить это упражнение, дополнив этот пример кода.
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])