Перейти до основного контенту

Overview

Засоби розділення тексту є важливою складовою при побудові додатків на основі великих моделей мови (LLM). Їхня основна роль полягає у розбитті довгих текстів на декілька коротших сегментів, що сприяє виконанню подальших завдань, таких як векторизація тексту, генерація з використанням пошуку (RAG) та системи питань-відповідей.

У LLM текст розбивається з кількох основних причин:

  • Оптимізація ефективності та точності: розбиваючи великі блоки тексту на менші сегменти, можна оптимізувати відповідність і точність векторів, отриманих за допомогою LLM. Розбиття на фрагменти допомагає забезпечити мінімальний шум у закодованому вмісті, зберігаючи при цьому семантичну релевантність. Наприклад, у семантичному пошуку, при індексації корпусу документів, кожен документ містить цінну інформацію про конкретні теми. Застосування ефективної стратегії розбиття дозволяє забезпечити, щоб результати пошуку точно відображали сутність запиту користувача.
  • Обмеження розміру контекстного вікна: при використанні моделей, таких як GPT-4, існує обмеження на кількість токенів, що можуть бути оброблені. Наприклад, GPT-4 має обмеження контекстного вікна до 32K токенів. Хоча це обмеження зазвичай не створює проблем, важливо враховувати розмір фрагментів з самого початку. Якщо фрагменти тексту надто великі, частина інформації може бути втрачена або не весь вміст може бути закодований у контексті, що може вплинути на продуктивність і результати моделі.
  • Обробка довгих документів: хоча векторизація довгих документів може охоплювати загальний контекст, вона може упускати важливі деталі, що стосуються конкретних тем, що призводить до нечітких або неповних результатів. Розбиття на сегменти забезпечує кращий контроль над вилученням та векторизацією інформації, таким чином зменшуючи ризик втрати даних.

Casibase наразі пропонує декілька методів розділення, що дозволяють користувачам застосовувати різні стратегії обробки для різних текстових сценаріїв.

Стандартний роздільник тексту

Стандартний роздільник тексту розроблено для ефективного сегментування тексту на основі кількості токенів та текстової структури. Його стратегія розділення включає:

  • Читання рядків та розпізнавання абзаців: текст читається рядок за рядком, причому суцільні порожні рядки використовуються для точного визначення розривів абзаців. Вона також чутливо визначає природні місця розриву за допомогою маркерів, забезпечуючи логічне та точне сегментування тексту.
  • Особливе оброблення блоків коду: блоки коду, оголошені символами ```, обробляються окремо. Кількість рядків у блоці коду визначає, чи може він існувати окремо як сегмент. Цей механізм зберігає цілісність блоків коду, ефективно запобігаючи перевищенню ліміту токенів у жодному окремому сегменті тексту.
  • Збереження цілісності речень: протягом всього процесу розбивки суворо дотримується цілісність речень, гарантуючи, що вони ніколи не розбиваються. Ця функція гарантує, що кожен сегмент тексту містить повну одиницю інформації. Незалежно від складності тексту, сегментація здійснюється точно на межах речень, ефективно уникаючи неоднозначності та втрати інформації через розрив речень.

Роздільник питань та відповідей

Роздільник питань та відповідей спрямований на точну сегментацію текстів у форматі питання-відповідь та пропонує наступні основні переваги:

  • Точне розділення одиниць питань та відповідей: використовується постійне сканування рядків для інтелектуального визначення структури текстів питань та відповідей. Визначаючи, чи починається кожен рядок з "Q:" або "A:", система точно знаходить межі між питаннями та відповідями, гарантуючи повне розділення кожної пари питань та відповідей. Це гарантує незалежність та повноту кожної одиниці питань та відповідей, забезпечуючи чисті дані для подальшої обробки та аналізу.
  • Чітка та логічна реалізація: код простий і інтуїтивно зрозумілий, що полегшує його розуміння та підтримку. Завдяки управлінню станом поточної пари питань та відповідей і використанню прапорця, що вказує, чи збирається відповідь, процес сегментації тексту чітко контрольований, що забезпечує правильне поєднання кожної одиниці питань та відповідей.