🐷
LangChainのtext_splitterについて軽く調べた
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できます!
お問い合わせ内容に「オンライン相談希望」とご記載ください。
株式会社piponでは定期的に技術勉強会を開催しています。
ChatGPT・AI・データサイエンスについてご興味がある方は是非、ご参加ください。
株式会社piponではChatGPT・AI・データサイエンスについて業界ごとの事例を紹介しています。ご興味ある方はこちらのオウンドメディアをご覧ください。
Discussion