ホームページ テクノロジー周辺機器 AI Langchainテキストスプリッターを使用してデータを分割する7つの方法-AnalyticsVidhya

Langchainテキストスプリッターを使用してデータを分割する7つの方法-AnalyticsVidhya

Apr 19, 2025 am 10:11 AM

Langchainテキストスプリッター:効率と精度のためにLLM入力を最適化する

以前の記事では、Langchainのドキュメントローダーについて説明しました。ただし、LLMにはコンテキストウィンドウサイズの制限(トークンで測定)があります。この制限を超えると、データが切り捨てられ、精度が損なわれ、コストが増加します。解決策?関連データのみをLLMに送信し、データの分割が必要です。 Langchainのテキストスプリッターを入力します。

Langchainテキストスプリッターを使用してデータを分割する7つの方法-AnalyticsVidhya

重要な概念:

  1. テキストスプリッターの重要な役割: LLMアプリケーションを最適化し、コンテキストのウィンドウサイズとコストのバランスをとるために、効率的なテキスト分割が不可欠である理由を理解します。
  2. 多様なテキスト分割技術:文字カウント、トークンカウント、再帰的分割、HTML、コード、JSON構造に合わせたテクニックなど、さまざまな方法を探索します。
  3. Langchain Text Splitterの実装:インストール、テキスト分割のコード例、多様なデータ形式の処理など、実用的なアプリケーションを学習します。
  4. 強化された関連性のためのセマンティック分割:文の埋め込みとコサインの類似性がどのように意味的にコヒーレントなチャンクを作成し、関連性を最大化するかを発見します。

目次:

  • テキストスプリッターとは何ですか?
  • データ分割方法
  • 文字カウントベースの分割
  • 再帰的分割
  • トークンカウントベースの分割
  • HTMLの処理
  • コード固有の分割
  • JSONデータ処理
  • セマンティックチャンク
  • よくある質問

テキストスプリッターとは何ですか?

テキストスプリッターは、LLMクエリの関連性を改善するために、大きなテキストをより小さく管理可能なチャンクに分割します。彼らは、生のテキストまたはLangchainドキュメントオブジェクトで直接動作します。複数のメソッドは、さまざまなコンテンツタイプとユースケースに対応します。

データ分割方法

Langchainテキストスプリッターは、効率的な大規模なドキュメント処理のために重要です。パフォーマンスを向上させ、コンテキストの理解を改善し、並列処理を可能にし、より良いデータ管理を促進します。いくつかの方法を調べてみましょう。

前提条件: pip install langchain_text_splittersを使用してパッケージをインストールします

文字カウントベースの分割

この方法は、指定されたセパレーターを使用して、文字カウントに基づいてテキストを分割します。

 from langchain_community.document_loaders unstructuredpdfloaderをインポートします
langchain_text_splittersからImport charateTextSplitter

#データを読み込みます(PDFパスに置き換えます)
loader = unstructuredpdfloader( 'How-to-formulate-successful-business-strategy.pdf'、mode = 'single')
data = roader.load()

text_splitter = charateTextSplitter(separator = "\ n"、chunk_size = 500、chunk_overlap = 0、is_separator_regex = false)
texts = text_splitter.split_documents(data)
len(テキスト)#出力:チャンク数
ログイン後にコピー

この例では、テキストを500文字のチャンクに分割し、Newline Charactersをセパレータとして使用します。

再帰的分割

これは、チャンクがchunk_size以下になるまで、複数のセパレータを順番に使用します。文レベルの分割に役立ちます。

 langchain_text_splittersからrecursiveCharacterTextSplitterをインポートします

recursive_splitter = recursiveCharacterTextSplitter(隔たり= ["\ n \ n"、 "\ n"、r "(?>> 293)

#...(コードの残りの部分は同様のままです)
ログイン後にコピー

トークンカウントベースの分割

LLMSはトークンを使用します。トークンカウントによる分割はより正確です。この例では、 o200k_baseエンコーディングを使用します(モデル/エンコーディングマッピングのGitHubリンクを確認してください)。

 langchain_text_splittersからtokentextsplitterをインポートします

text_splitter = tokentextsplitter(encoding_name = 'o200k_base'、chunk_size = 50、chunk_overlap = 0)
texts = text_splitter.split_documents(data)
len(テキスト)#出力:チャンク数
ログイン後にコピー

再帰的な分割は、トークンカウントと組み合わせることもできます。

平易なテキストの場合、文字またはトークンカウントを使用した再帰的分割が一般的に推奨されます。

HTMLの処理

HTMLのような構造化されたデータの場合、分割は構造を尊重する必要があります。この例は、HTMLヘッダーに基づいて分割されます。

 langchain_text_splittersからhtmlheadertextsplitterをインポートします

headers_to_split_on = [( "h1"、 "header 1")、( "h2"、 "header 2")、( "h3"、 "header 3")]]]
html_splitter = htmlheadertextsplitter(headers_to_split_on、return_each_element = true)
html_header_splits = html_splitter.split_text_from_url( 'https://diataxis.fr/')
len(html_header_splits)#出力:チャンクの数
ログイン後にコピー

HTMLSectionSplitter使用すると、他のセクションに基づいて分割できます。

コード固有の分割

プログラミング言語には、独自の構造があります。この例では、PythonコードにSyntax-Aware分割を使用しています。

 langchain_text_splittersからインポートrecursiveCharacterTextSplitter、言語

#...(pythonコードの例)...

python_splitter = recursivecharactertextsplitter.from_language(language = language.python、chunk_size = 100、chunk_overlap = 0)
python_docs = python_splitter.create_documents([python_code])
ログイン後にコピー

JSONデータ処理

ネストされたJSONオブジェクトは、重要な関係を維持しながら分割できます。

 langchain_text_splittersからrecursivejsonsplitterをインポートします

#...(JSONデータの例)...

splitter = recursivejsonsplitter(max_chunk_size = 200、min_chunk_size = 20)
chunks = splitter.split_text(json_data、convert_lists = true)
ログイン後にコピー

セマンティックチャンク

この方法では、セマンティックに関連する文との文の埋め込みとコサインの類似性を使用します。

 langchain_experimental.text_splitterからsemanticchunkerをインポートします
langchain_openai.embeddingsからImport OpenAiembeddings#は、OpenAI APIキーが必要です

#...(OpenAiemBedingsとSemanticChunkerを使用してコード)...
ログイン後にコピー

結論

Langchainは、さまざまなデータ型に適したさまざまなテキスト分割方法を提供しています。適切な方法を選択すると、LLM入力が最適化され、精度が向上し、コストが削減されます。

よくある質問

(Q&Aセクションはほぼ同じままであり、明確さとフローのための軽微な文言の調整があります。)

以上がLangchainテキストスプリッターを使用してデータを分割する7つの方法-AnalyticsVidhyaの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

クリエイティブプロジェクトのための最高のAIアートジェネレーター(無料&有料) クリエイティブプロジェクトのための最高のAIアートジェネレーター(無料&有料) Apr 02, 2025 pm 06:10 PM

この記事では、トップAIアートジェネレーターをレビューし、その機能、創造的なプロジェクトへの適合性、価値について説明します。 Midjourneyを専門家にとって最高の価値として強調し、高品質でカスタマイズ可能なアートにDall-E 2を推奨しています。

Meta Llama 3.2を始めましょう - 分析Vidhya Meta Llama 3.2を始めましょう - 分析Vidhya Apr 11, 2025 pm 12:04 PM

メタのラマ3.2:マルチモーダルとモバイルAIの前進 メタは最近、ラマ3.2を発表しました。これは、モバイルデバイス向けに最適化された強力なビジョン機能と軽量テキストモデルを特徴とするAIの大幅な進歩です。 成功に基づいてo

ベストAIチャットボットが比較されました(chatgpt、gemini、claude& more) ベストAIチャットボットが比較されました(chatgpt、gemini、claude& more) Apr 02, 2025 pm 06:09 PM

この記事では、ChatGpt、Gemini、ClaudeなどのトップAIチャットボットを比較し、自然言語の処理と信頼性における独自の機能、カスタマイズオプション、パフォーマンスに焦点を当てています。

トップAIライティングアシスタントは、コンテンツの作成を後押しします トップAIライティングアシスタントは、コンテンツの作成を後押しします Apr 02, 2025 pm 06:11 PM

この記事では、Grammarly、Jasper、Copy.ai、Writesonic、RytrなどのトップAIライティングアシスタントについて説明し、コンテンツ作成のためのユニークな機能に焦点を当てています。 JasperがSEOの最適化に優れているのに対し、AIツールはトーンの維持に役立つと主張します

AIエージェントを構築するためのトップ7エージェントRAGシステム AIエージェントを構築するためのトップ7エージェントRAGシステム Mar 31, 2025 pm 04:25 PM

2024年は、コンテンツ生成にLLMSを使用することから、内部の仕組みを理解することへの移行を目撃しました。 この調査は、AIエージェントの発見につながりました。これは、最小限の人間の介入でタスクと決定を処理する自律システムを処理しました。 buildin

AVバイト:Meta' s llama 3.2、GoogleのGemini 1.5など AVバイト:Meta' s llama 3.2、GoogleのGemini 1.5など Apr 11, 2025 pm 12:01 PM

今週のAIの風景:進歩、倫理的考慮、規制の議論の旋風。 Openai、Google、Meta、Microsoftのような主要なプレーヤーは、画期的な新しいモデルからLEの重要な変化まで、アップデートの急流を解き放ちました

従業員へのAI戦略の販売:Shopify CEOのマニフェスト 従業員へのAI戦略の販売:Shopify CEOのマニフェスト Apr 10, 2025 am 11:19 AM

Shopify CEOのTobiLütkeの最近のメモは、AIの能力がすべての従業員にとって基本的な期待であると大胆に宣言し、会社内の重大な文化的変化を示しています。 これはつかの間の傾向ではありません。これは、pに統合された新しい運用パラダイムです

最高のAI音声ジェネレーターの選択:レビューされたトップオプション 最高のAI音声ジェネレーターの選択:レビューされたトップオプション Apr 02, 2025 pm 06:12 PM

この記事では、Google Cloud、Amazon Polly、Microsoft Azure、IBM Watson、DecriptなどのトップAI音声ジェネレーターをレビューし、機能、音声品質、さまざまなニーズへの適合性に焦点を当てています。

See all articles