Понимание кредитных соглашений?

Кредитный договор является важным документом, в котором излагаются все детали кредитного договора между заемщиком и кредитором. Он служит юридически обязывающим договором, который фиксирует условия кредитования, такие как годовая процентная ставка, метод расчета процентов, связанные сборы, срок кредита, условия оплаты и последствия просроченных платежей. Кредитное соглашение должно быть составлено таким образом, чтобы не оставлять места для толкования, что способствует запутанности положений, используемых для определения этих терминов. Сложность языка, используемого в кредитных соглашениях, возникает из-за необходимости точного и однозначного определения условий кредита. Точное определение условий кредита гарантирует, что и заемщик, и кредитор осознают свои соответствующие обязанности и права. Давайте подробно рассмотрим одно из этих сложных предложений и посмотрим, как мы можем преобразовать их в машиночитаемый формат.

Эра до LLM!

Идентификация элементов

Первым шагом в этом процессе является распознавание отдельных компонентов, которые представляют структуру ограничения. Это включает Отношение, такое как «не превышать», Оператора, «большее из» и «меньшее из», Регуляторы, такие как «Консолидированные общие активы» и «Консолидированная скорректированная EBITDA», и Объекты, такие как «100 000 000 долларов», «11,5%», «45%» и «200 миллионов долларов». Все эти элементы можно извлечь с помощью простых методов, таких как поиск по словарю, или с помощью более сложных маркеров последовательностей, специально обученных для этой цели. Мы можем обучить несколько отдельных тегов последовательности или совместно обучить тегировщик последовательности, который моделирует все вышеперечисленные элементы вместе. Мы можем использовать языковые модели, предварительно обученные на общедоступном юридическом тексте, или мы можем предварительно обучить языковую модель специально для кредитных соглашений с нуля, чтобы еще больше повысить точность нашего тегера последовательности. Есть несколько способов двигаться дальше, какой из них мы должны выбрать? Приняв это решение, рекомендуется быстро установить базовое решение и итеративно улучшить его.

Проведение предварительного анализа данных может дать ценную информацию для моделирования наших решений. Например, когда объект идентифицируется, известно, что также должен присутствовать регулятор. И если объект представляет собой процент, распознавание может выиграть от совместного вывода с помощью тегера последовательности. В качестве базового решения может оказаться эффективным реализация простого метода поиска по словарю для определяющих факторов и использование регулярных выражений для объектов. Однако определение темпоральности с помощью поиска по словарю — непростая задача, и поэтому для этой цели может потребоваться обучение специального маркера последовательности.

Выявление отношений между ними

После успешного извлечения отдельных элементов крайне важно определить взаимосвязь или взаимозависимость между ними. Объекты должны быть назначены операторам, а операторы должны быть связаны с отношением. Эта задача может быть выполнена путем обучения модели извлечения отношений либо путем создания наших функций и использования традиционного классификатора на основе случайного леса, либо путем реализации более сложной модели извлечения отношений на основе базовой архитектуры BERT. Важнейшим аспектом, который следует учитывать, является уровень, на котором находятся объекты, независимо от того, являются ли они вложенными или существуют на одном уровне. В некоторых случаях текст может содержать маркеры, такие как «(x)», «(y)» или «(z)», которые предоставляют ценные сигналы для алгоритма. Однако не все случаи могут быть отмечены явно. Например, содержимое узла «z» может быть не указано, и в этом узле могут быть два элемента, которые не разделены маркерами. Чтобы решить эту проблему, классификатор можно научить принимать бинарные решения для каждого из этих вопросов.

Как только структура ограничения определена, крайне важно нормализовать ее и связать с соответствующей базой знаний. Это включает в себя нормализацию Provision и Type, которые имеют ограниченное количество возможных значений. Эту информацию можно получить в бизнес-центрах. Кроме того, стек заголовков или иерархию разделов документа можно использовать для добавления дополнительного контекста для классификатора положений и типов.

Узрите силу LLM!

Большие языковые модели, такие как GPT-4 и PALM-2, обученные работе с разнообразным интернет-текстом, невероятно хорошо понимают и генерируют человеческий текст. Эти модели могут выполнять самые разные задачи: от составления электронных писем до написания кода и ответов на викторины. И что важно для нашего контекста, они также могут помочь проанализировать и интерпретировать сложности кредитных соглашений.

Парсинг кредитных соглашений с помощью ИИ

GPT-4 можно эффективно использовать для понимания ограничений и зависимостей отрицательных ковенантов в кредитных соглашениях. Он может идентифицировать и классифицировать отдельные элементы и их иерархическую структуру.

Для рассматриваемого примера он может точно идентифицировать «x», «y» и «z» как три отдельных условия, он определяет, что «z» состоит из 2 подусловий, понимает их связь с «большее из» и «меньшее из» операторов, а также правильно классифицировать термины «Консолидированный скорректированный показатель EBITDA» и «Консолидированные общие активы» в условиях нулевого выстрела.

Подсказка:An example of a clause present in the Negative Covenant Section of Credit Agreements — “Indebtedness of the borrower in an aggregate outstanding principal amount at any time outstanding not to exceed the greater of x) $100,000,000 y) 11.5% of Consolidated Total Assets (determined at the time of incurrence) and z) the lesser of 45% of Consolidated Adjusted EBITDA (for the most recent fourth fiscal quarter period) and $200 million.”. Pay attention to the details around the use of starts of enumerated lists for representing information hierarchically. Can you tell me the elements that are part of the above constraint and represent them in JSON LD?

{
  "@context": {
    "xsd": "http://www.w3.org/2001/XMLSchema#",
    "constraintType": "http://example.com/constraintType",
    "elements": "http://example.com/elements",
    "FixedLimit": "http://example.com/FixedLimit",
    "limit": "http://example.com/limit",
    "label": "http://example.com/label",
    "PercentageLimit": "http://example.com/PercentageLimit",
    "percentage": "http://example.com/percentage",
    "of": "http://example.com/of",
    "determinationTime": "http://example.com/determinationTime",
    "LesserOf": "http://example.com/LesserOf",
    "subElements": "http://example.com/subElements",
    "determinationPeriod": "http://example.com/determinationPeriod"
  },
  "constraintType": "greatestValue",
  "elements": [
    {
      "@type": "FixedLimit",
      "limit": "100000000",
      "label": "x"
    },
    {
      "@type": "PercentageLimit",
      "percentage": "11.5",
      "of": "consolidatedTotalAssets",
      "determinationTime": "At the time of incurrence",
      "label": "y"
    },
    {
      "@type": "LesserOf",
      "label": "z",
      "subElements": [
        {
          "@type": "PercentageLimit",
          "percentage": "45",
          "of": "consolidatedAdjustedEBITDA",
          "determinationPeriod": "For the most recent fourth fiscal quarter period",
          "label": "a"
        },
        {
          "@type": "FixedLimit",
          "limit": "200000000",
          "label": "b"
        }
      ]
    }
  ]
}

Можем ли мы назвать элементы?

После пары итераций с обратной связью по именованным элементам и просьбой включить их в основное отношение вместо того, чтобы добавлять их по отдельности в конце, вот что мы получаем.

Подсказка1:The individual components that represent the structure of the constraint are the Relation, such as “not to exceed”, the Operator, “the greater of” and “the lesser of”, the Governors, such as “Consolidated Total Assets” and “Consolidated Adjusted EBIDTA” and the Objects, such as “$100,000,000”, “11.5%”, “45%” and “$200m”. Can you now regenerate your answer by taking this into account ?

Подсказка 2: I don’t want to see the list of governors and objects separately. Devise a way to incorporate it into the main relation.

{
  "@context": {
    "xsd": "http://www.w3.org/2001/XMLSchema#",
    "relation": "http://example.com/relation",
    "operator": "http://example.com/operator",
    "governor": "http://example.com/governor",
    "object": "http://example.com/object"
  },
  "relation": "not to exceed",
  "object": {
    "operator": "greatestValue",
    "elements": [
      {
        "@type": "FixedLimit",
        "limit": "100000000",
        "label": "x"
      },
      {
        "@type": "PercentageLimit",
        "percentage": "11.5",
        "governor": "consolidatedTotalAssets",
        "determinationTime": "At the time of incurrence",
        "label": "y"
      },
      {
        "@type": "operator",
        "operator": "LesserOf",
        "label": "z",
        "elements": [
          {
            "@type": "PercentageLimit",
            "percentage": "45",
            "governor": "consolidatedAdjustedEBITDA",
            "determinationPeriod": "For the most recent fourth fiscal quarter period",
            "label": "a"
          },
          {
            "@type": "FixedLimit",
            "limit": "200000000",
            "label": "b"
          }
        ]
      }
    ]
  }
}

Можем ли мы создать онтологию для наших извлечений?

Подсказка:Can you now generate an ontology which supports the extractions that you made and is extensible to incorporate the negative covenant constraints/clauses present in Credit agreements ?

Как насчет самого нового отрицательного завета?

Подсказка:Can you now generate a negative covenant constraint using the Ontology, knowledge about extractions, and the feedback given to you on Assets for a Credit agreement that could be signed between Goldman Sachs and Stripe in text?

Все это хорошо, но какую пользу от этого может извлечь бизнес?

Для повышения доступности и эффективности извлеченные термины могут отображаться в удобном для пользователя веб-интерфейсе. Это может представить термины в четком табличном формате, экономя время и ресурсы аналитиков. Кроме того, мощная функция семантического поиска может быть применена к нескольким кредитным соглашениям, позволяя пользователям выполнять расширенные запросы, такие как поиск всех условий с капитальной арендой на сумму, превышающую 50 миллионов долларов США, или поиск технологических компаний с условием поддержания кредитного плеча. Система также может предоставить возможность проанализировать набор нескольких компаний и определить, есть ли у них ограничение на снижение затрат.

Расширяемость и будущие возможности

Принятый нами подход, основанный на онтологии, является расширяемым, что позволяет нам определять дополнительные классы, свойства и отношения по мере необходимости, чтобы охватить разнообразие ограничений в кредитных соглашениях. По мере развития понимания ИИ он может обрабатывать все более сложные положения и соглашения.

При этом подход не ограничивается кредитными договорами. Любой юридический документ с аналогичными структурированными ограничениями потенциально может быть проанализирован и понят ИИ таким же образом.

Заключение

Хотя технология искусственного интеллекта никогда не заменит опыт и суждения финансовых аналитиков и юристов, она может значительно помочь в их работе, автоматизируя анализ сложных юридических документов и отмечая потенциальные проблемы. Это не только экономит время и снижает вероятность человеческой ошибки, но и позволяет специалистам сосредоточиться на более стратегических задачах.

Поскольку область ИИ продолжает развиваться, мы можем только ожидать появления еще более мощных инструментов для юридического и финансового анализа, изменяющих ландшафт этих отраслей.