🐷

LangChainのtext_splitterについて軽く調べた

2023/05/07に公開

text_splitterを使うと、長い文章を分割してくれます。
以下のように数行のコードで使うことできます。

from langchain.text_splitter import RecursiveCharacterTextSplitter
text_splitter = RecursiveCharacterTextSplitter(chunk_size=1000, chunk_overlap=0)
texts = text_splitter.split_documents(documents)

上記のRecursiveCharacterTextSplitterは、文字単位でテキストを分割する実装で、再帰的に異なる文字で分割をします。

それ以外にも分割する方法があるようです。

  • CharacterTextSplitter: 文字単位でテキストを分割する実装です。デフォルトでは、改行を区切りとして使用します。

  • TokenTextSplitter: トークン単位でテキストを分割する実装です。デフォルトでは、GPT-2のエンコーディングを使用します。

  • NLTKTextSplitter: NLTKを使用して文単位でテキストを分割する。

  • SpacyTextSplitter: Spacyを使用して文単位でテキストを分割する。

  • MarkdownTextSplitter: Markdown形式の見出しに沿ってテキストを分割する。

  • LatexTextSplitter: Latex形式のレイアウト要素に沿ってテキストを分割する。

目的に応じてテキストを分割すると良さそうですね。

もちろん、株式会社piponでも技術でお困りのことがある方はオンライン相談が可能です。
こちらから会社概要資料をDLできます!
お問い合わせ内容に「オンライン相談希望」とご記載ください。
https://share.hsforms.com/19XNce4U5TZuPebGH_BB9Igegfgt

株式会社piponでは定期的に技術勉強会を開催しています。
ChatGPT・AI・データサイエンスについてご興味がある方は是非、ご参加ください。
https://chatgptllm.connpass.com/

株式会社piponではChatGPT・AI・データサイエンスについて業界ごとの事例を紹介しています。ご興味ある方はこちらのオウンドメディアをご覧ください。
https://bigdata-tools.com/

Discussion