blog-post

ClauseBase 如何利用 Manticore 向量搜索提升合同草拟

A Glimpse into ClauseBase

ClauseBase

ClauseBase 是由三位曾经的律师创立,他们对乏味的合同草拟过程感到沮丧。他们意识到,法律团队和律师事务所往往以极其劳动密集的方式重新创建合同,这提高了法律服务的成本。通常,草拟的起点是一个旧文件——通过删除旧名称进行清理——然后是添加、编辑和重新排列条款的漫长过程。从旧合同中复制和粘贴条款浪费了大量时间,尤其是因为相关条款通常分散在旧文件和电子邮件链中。

为此,ClauseBase 创建了 Clause9 ,一个用于自动化完整法律文件的工具。律师们现在可以用几次点击就制作出复杂的文件,而不是花费数小时进行手动草拟。 ClauseBuddy ,他们的第二款产品,允许用户构建“条款库”,以便收集和重用有用的合同元素。最初,这些条款必须手动上传。但最近,ClauseBase 增加了一个功能,可以自动从旧合同中提取条款——将它们组织成一个与 Manticore Search 存储的库。

ClauseBase 想要一种方法,让律师们能够轻松查找合同条款的替代版本,无论是用于草拟还是谈判。对于任何给定的条款,有无数变化:不同的长度、不同的语气(中性、激进或行业特定)等等。律师们需要一种方法快速浏览这些变体,以避免重复发明轮子并寻找灵感。

虽然拥有一个配备详细元数据的手动策划条款库是理想的,但创建一个需要时间。许多律师刚刚开始他们与技术的旅程,并且在寻找更简单的方法来找到相似的条款。向量搜索通过在 Manticore 中为每个条款存储文本向量提供了这种解决方案,使律师们能够快速搜索具有相似意义的条款——而无需手动标记。这是拥有完美注释条款的最佳选择。

最初,ClauseBase 将提取的条款存储在 PostgreSQL 中。虽然 PostgreSQL 在某种程度上是可行的,但在全文搜索方面存在显著的局限性。自动完成功能、分面搜索和短语接近搜索等功能都很难实现。PostgreSQL 还缺乏诸如 BM25 之类的高级排名功能,而这对于法律文本至关重要,因为像“义务”、“方”和“责任”这样的常见词需要适当地加权以改善搜索结果。

此外,性能问题也开始出现。ClauseBuddy 为用户提供了提取自己文档的能力,同时还提供了一个公共示例数据库,其中包含来自美国 EDGAR 库的数百万个条款。随着数据量的增加,PostgreSQL 和 Pgvector 的组合变得明显缓慢,返回结果需要几秒钟。在这一点上,ClauseBase 决定切换到 Manticore Search。

ClauseBase 曾经使用 Manticore 来搜索完整的法律文件,因此他们已经知道它快速且功能丰富。因此,他们将条款库迁移到 Manticore,并且这是值得的——用户现在可以在条款与原始文件之间无缝跳转。

当 ClauseBase 决定他们需要向量搜索时,Manticore 中还没有这一功能。他们联系了 Manticore 团队,双方合作实现了向量搜索功能。几周后,ClauseBase 就能够开始尝试 Manticore 的新向量搜索功能。不久之后,ClauseBase 遇到问题,Manticore 团队及时进行了处理和修复,确保了顺利的体验。

ClauseBase 中向量搜索的集成已持续近一年,结果非常令人鼓舞。ClauseBase 旨在寻找一种解决方案,以避免依赖那些通常响应时间较慢的商业向量服务。在进行大量实验后,他们选择了平衡质量和性能的模型,特别是针对他们的使用案例量身定制。

除了在 Manticore Search 中使用向量搜索外,ClauseBase 引入了重新排序流程,以进一步优化搜索结果。重新排序器处理初始向量搜索的最佳匹配,有效地对较小的一组潜在答案进行“更深入的思考”。这种方法显著提高了搜索结果的相关性,为用户提供了不仅快速而且上下文准确且极具实用性的结果。

安装Manticore Search

安装Manticore Search