Upgrade to Pro — share decks privately, control downloads, hide ads and more …

太田博三

 太田博三

LanguChainによる自動要約
〜 ChatGPT部 #02 〜LT大会〜 - connpass 2023年4月15日(土)10:00-11:00

概要:
・LangChainで下記の2つのタイプの自動要約を試してみました。
・芥川竜之介の『蜘蛛の糸』青空文庫(3236文字)を用いました。
・WikipediaのあらすじとLangChainの2種類のあらすじ(要約)を比較し、考察しました。

目次:
1. The map_reduce Chain:並列処理型の自動要約
2. The refine Chain:翻訳とオリジナルを繰り返す自動要約
上記の1.と2.とで、要約の処理過程を可視化し、プロンプトのテンプレートで調整します。
3. 1.と2.の結果をGraphGPTで可視化
4. 考察・まとめ
5. 参考文献・URL一覧

4. 考察・まとめ
・The refine Chainのテンプレ・カスタマイズがダントツに網羅的でよかった。
・map-reduceの並列処理の要約は、どこか中心がズレやすい傾向が見受けられた。
・GraphGPTのナレッジグラフが比較的、よく捉えていたことにも、驚きが合った。

太田 博三

April 15, 2023
Tweet

More Decks by 太田 博三

Other Decks in Research

Transcript

  1. 目次 1. The map_reduce Chain:並列処理型の自動要約 2. The refine Chain:翻訳とオリジナルを繰り返す 自動要約

    上記の1.と2.とで、要約の処理過程を可視化し、プロン プトのテンプレートで調整します。 3. 1.と2.の結果をGraphGPTで可視化 4. 考察〃まとめ 5. 参考文献〃URL一覧
  2. GraphGPTで可視化:Wikipediaのあらすじとその文字数 • 釈迦はある日の朝、極楽を散歩中に蓮池を 通して下の地獄を覗き見た。罪人どもが苦 しんでいる中にカンダタ(犍陀多)という男 を見つけた。カンダタは殺人や放火もした泥 棒であったが、過去に一度だけ善行を成し たことがあった。それは林で小さな蜘蛛を踏 み殺しかけて止め、命を助けたことだった。 それを思い出した釈迦は、彼を地獄から救

    い出してやろうと、一本の蜘蛛の糸をカンダ タめがけて下ろした。暗い地獄で天から垂 れて来た蜘蛛の糸を見たカンダタは、この 糸を登れば地獄から出られると考え、糸に つかまって昇り始めた。ところが途中で疲れ てふと下を見下ろすと、数多の罪人達が自 分の下から続いてくる。このままでは重みで 糸が切れてしまうと思ったカンダタは、下に 向かって大声で「この蜘蛛の糸は己(おれ) のものだぞ。」「お前たちは一体誰に聞いて 登って来た。」「下りろ。下りろ。」と喚いた。 その途端、蜘蛛の糸がカンダタの真上の部 分で切れ、カンダタは再び地獄の底に堕ち てしまった。無慈悲に自分だけ助かろうとし、 結局元の地獄へ堕ちてしまったカンダタを 浅ましく思ったのか、それを見ていた釈尊は 悲しそうな顔をして蓮池から立ち去った。 Wikipediaのあらすじ(491文字)
  3. GraphGPTで可視化: # 1. The map_reduce Chain • ブッダは蜘蛛の糸を 彼に降ろすことによっ て、多田という罪人を

    地獄から救います。 多田はそれを登って 逃げようとしましたが 失敗し、糸が切れて 血のプールに落ちま した。ブッダは悲しん でいますが、極楽の 蓮の花は影響を受け ません。楽園の正午 近くです
  4. 1. The map_reduce Chain:並列処理型の 自動要約 • Wikipediaのあらすじ(491文字)と1. The map_reduce Chain

    との比較 Wikipediaのあらすじ(491文字) . The map_reduce Chain ナレッジグラフでは1/3はカバーされているが、十分ではない。 • 多田はそれを登って逃げようとしましたが失敗 し、糸が切れて血のプールに落ちました。 • ブッダは蜘蛛の糸を彼に降ろすことによっ て、多田という罪人を地獄から救います。
  5. 1. Wikipediaのあらすじ(491文字)と1 . The map_reduce Chainテンプレート〃カスタマイズとの比較 # プロンプトをテンプレートを用いてカスタマイズ (map_reduce) from

    langchain import PromptTemplate template = """ 次の文章を日本語で簡潔にあらすじを500文字程度で記して ください。 文章:{text} """ PROMPT = PromptTemplate( input_variables=["text"], template=template, )
  6. 1. Wikipediaのあらすじ(491文字)と1 . The map_reduce Chainテンプレート〃カスタマイズとの比較 . The map_reduce Chain(テンプレ)

    Wikipediaのあらすじ(491文字) ナレッジグラフでは比較的、広くカバーされている。 御釈迦様が極楽の蓮池で 散歩していたところ、地獄が あることを知り、罪人たちを 見た。 、極楽の蓮池の蓮は美しく揺れ、良 い香りが漂っていた。
  7. 1. Wikipediaのあらすじ(491文字)と2. The refine Chainとの比較 Wikipediaのあらすじ(491文字) 2つのナレッジグラフで、カバーされているが、ややバラバラ。 . The refine

    Chain ある日、仏陀は多田という 男が地獄にいるのを見て、 彼を救う決心をしました。 それを地獄の多田に降ろして 救った。しかし、タダの残酷な 心は彼を地獄に落とした.
  8. 1. Wikipediaのあらすじ(491文字)と2. The refine Chainテンプレート〃カスタマイズとの比較 prompt_template = """次の文章の簡潔なあらすじを500文字程度で記してください: {text} 簡潔な日本語のあらすじ:"""

    PROMPT = PromptTemplate(template=prompt_template, input_variables=["text"]) refine_template = ( "あなたの仕事は最終的なあらすじを400文字程度で作ることです¥n" "途中までのあらすじがあります: {existing_answer}¥n" "必要に応じて下記の文章を使い、さらに良いあらすじを作成してください¥n" "------------¥n" "{text}¥n" "------------¥n" "与えられた文章を踏まえて、日本語であらすじを改善してください" "与えられた文章が有用でない場合、途中までの文章を返してください" ) refine_prompt = PromptTemplate( input_variables=["existing_answer", "text"], template=refine_template, )
  9. 1. Wikipediaのあらすじ(491文字)と2. The refine Chainテンプレート〃カスタマイズとの比較 . The refine Chain(テンプレ) Wikipediaのあらすじ(491文字)

    ナレッジグラフでは網羅的にカバーされている。 言い換えがやや強く聞いている。 陀多は彼らを追い払 おうとするが、糸が断 れて地獄に落ちてし まいます。
  10. 5. 参考文献〃URL一覧 1. 蜘蛛の糸 - Wikipedia 2. LangChain Summarization 公式ドキュメン

    ト 20230414時点 3. LanguChain Summarization Notebook 公式ドキュ メント 20230414時点 4. LexRank sumy python library 5. GraphGPT 20230414時点 6. GraphGPTのアプリ 20230414時点 7. github otanet/LangChain_Summarization_202304 8. 本slide/PPT