始める無料で始める

階層的なレキシカルグラフを作る

前の出力には、幕(act)以外の情報も含まれていたことに気づいたかもしれません。ナレッジグラフの抽出は、多くの場合反復的なプロセスです。テキストスプリッターの出力は、ノードやリレーションシップを作成する前に、追加の確認やフィルタリングが必要になることがよくあります。

この演習では、この追加情報を取り除き、さらにそれを使って Play ノードに接続する Act ノードを作成します。

劇を表す Node オブジェクトを格納した play_node 変数と、新たに作成するノードとリレーションシップを保持する graph_document 変数は、すでに用意されています。

この演習はコースの一部です

Graph RAG with LangChain and 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])
コードを編集して実行