Взгляд на ClauseBase

ClauseBase была основана тремя бывшими юристами, разочарованными в утомительном процессе составления договоров. Они поняли, что юридические команды и юридические фирмы часто воссоздают договоры чрезвычайно трудоёмким способом, что повышает стоимость юридических услуг. Обычно отправной точкой для составления является старый файл — очищенный от старых имён — после чего следует длительный процесс добавления, редактирования и перестановки пунктов. Копирование пунктов из старых договоров тратит много времени, особенно потому, что релевантные пункты часто разбросаны по старым файлам и цепочкам электронных писем.
Для решения этой проблемы ClauseBase создала Clause9 , инструмент для автоматизации полных юридических документов. Вместо того чтобы тратить часы на ручное составление, юристы теперь могут создавать сложные документы всего в несколько кликов. ClauseBuddy , их второй продукт, позволяет пользователям создавать «библиотеку пунктов», собирая и повторно используя полезные элементы договоров. Изначально эти пункты нужно было загружать вручную. Но недавно ClauseBase добавила функцию, автоматически извлекающую пункты из старых договоров — организующую их в библиотеку, хранящуюся в Manticore Search.
Векторный поиск для юридических пунктов
ClauseBase хотела предоставить юристам простой способ находить альтернативные версии пунктов договоров, как для составления, так и во время переговоров. Для любого пункта существует бесчисленное количество вариантов: разная длина, разные тона (нейтральный, агрессивный или отраслевой) и т.д. Юристам нужен был способ быстро просматривать эти варианты, чтобы не изобретать велосипед и находить вдохновение.
Идеальный вариант — вручную составленная библиотека пунктов с подробными метаданными, но на её создание уходит время. Многие юристы только начинают осваивать технологии и ищут способ попроще находить похожие пункты. Эту задачу решает векторный поиск : для каждого пункта в Manticore хранится текстовый вектор, и юристы быстро находят пункты с похожим смыслом — без ручной расстановки тегов. Это лучшая замена идеально размеченным пунктам.
Почему Manticore Search?
Изначально ClauseBase хранила извлечённые пункты в PostgreSQL. Хотя PostgreSQL был способен до определённого уровня, у него были значительные ограничения в полнотекстовом поиске. Такие функции, как автодополнение, фасетный поиск и поиск по близости фраз, было сложно реализовать. В PostgreSQL также отсутствовали продвинутые функции ранжирования, такие как BM25, что критично для юридических текстов, где общие слова, такие как «obligation», «party» и «liability», необходимо правильно взвешивать для улучшения результатов поиска.
Кроме того, начали возникать проблемы с производительностью. ClauseBuddy предоставляет пользователям возможность извлекать собственные документы, а также предлагает публичную образцовую базу данных с миллионами пунктов, полученных из библиотеки US EDGAR. Сочетание PostgreSQL и Pgvector стало заметно медленным при таком объёме данных, занимая несколько секунд для возврата результатов. Именно в этот момент ClauseBase решила перейти на Manticore Search.
Ранее используя Manticore для поиска по полным юридическим документам, ClauseBase уже знала, что он быстрый и богатый функциями. Поэтому они перенесли библиотеку пунктов в Manticore, и это окупилось — пользователи теперь могут без проблем переключаться между пунктом и оригинальным документом.
Совместная работа над векторным поиском
Когда ClauseBase решила, что им нужен векторный поиск, он ещё не был доступен в Manticore. Они обратились к команде Manticore, и вместе с ней реализовали функциональность векторного поиска. Через несколько недель ClauseBase смогла начать экспериментировать с новой функцией векторного поиска от Manticore. Позже, когда ClauseBase столкнулась с проблемами, команда Manticore быстро их устранила, чтобы всё работало без сбоев.
Влияние векторного поиска
Интеграция векторного поиска в ClauseBase работает почти год, и результаты очень обнадеживают. ClauseBase стремилась найти решение, которое позволило бы избежать зависимости от коммерческих векторных сервисов, часто имеющих более медленное время отклика. После проведения обширных экспериментов они выбрали модели, сочетающие качество и производительность, специально адаптированные под их сценарий использования.
В дополнение к использованию векторного поиска в Manticore Search, ClauseBase добавила этап переранжирования (reranking), чтобы ещё точнее отбирать результаты поиска. Реранкер обрабатывает лучшие совпадения из начального векторного поиска, по сути «думая глубже» над меньшим набором потенциальных ответов. Этот подход значительно улучшил релевантность результатов поиска, предоставляя пользователям результаты, которые не только быстры, но и контекстуально точны и крайне полезны.

