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

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

О чем это тематическое исследование?

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

Что касается структуры этой статьи, мы кратко поговорим о преимуществах машинного обучения (ML) в юридической сфере, технологии, которую мы использовали для прогнозирования решений, и подробно обсудим процесс, который мы приняли для прогнозирования, начиная от сбора соответствующих данных до построение модели глубокого обучения. Мы также опишем следующие шаги по улучшению модели для повышения ее точности. Наконец, вы можете найти нашу контактную информацию для любых вопросов или предложений и связаться с нами для сотрудничества.

Почему машинное обучение?

Машинное обучение уже начало революционизировать различные отрасли, и мы не можем придумать причину, по которой оно не может помочь в правовой системе Индии. Его способность анализировать огромные объемы данных для изучения закономерностей и прогнозирования результатов может особенно пригодиться в юридическом секторе. Последние достижения в области машинного обучения, особенно в области НЛП, делают его еще более актуальным. На рынке уже есть решения и боты, в которых НЛП используется для «умного поиска» существующих суждений и постановлений, чтобы помочь с подготовкой нового дела.

Почему не традиционное машинное обучение?

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

Преимущества использования ОД в юридической

Ускоренный процесс принятия решений и результаты

Мгновенная проверка вводимых данных

Беспристрастная точка зрения

Возможность быстро продемонстрировать исторические кейсы с похожими шаблонами

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

Юридические области, которые уже используют машинное обучение

 Обзор документов и юридические исследования

 Управление контрактами

 Надлежащая проверка клиентов

 Прогнозирование юридических результатов

Важно отметить, что день, когда алгоритм сможет окончательно понять факты и объективно идентифицировать преступление на основе разделов IPC, упомянутых в обвинительном заключении, при одновременном получении подробного понимания окружающего мира, еще далек.

Какой ML?

Для сбора и предварительной обработки данных мы использовали Python3. Все модели были разработаны Fastai. Fastai - это библиотека глубокого обучения, построенная на основе PyTorch и способная запускать передовые алгоритмы глубокого обучения. Мы обнаружили, что fastai чрезвычайно полезен для этого упражнения, с его упором на * переносное обучение и практикой до теории, fastai почти революционизировал способ использования глубокого обучения, сделав его очень доступным и легко использовать.

* Передача обучения: fastai предоставляет встроенные модели, которые уже были обучены на значительном объеме данных, это позволяет пользователям запускать предварительно обученную модель и использовать новые данные только для обновления уже значимых значений веса, а не запускать с нуля (случайные значения). Этот процесс позволяет сэкономить много времени и усилий и дает результаты с хорошей точностью уже на ранних этапах тренировочного цикла.

Процесс

Соберите и отформатируйте данные

Создание меток данных (данные обучения)

Создать группу текстовых данных

Построить модель изучения языка

Сохранить кодировщик из языковой модели

Построить окончательную модель прогнозирования с помощью кодировщика

Сбор и форматирование данных

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

Мы воспользовались помощью простого метода очистки данных с использованием python для очистки данных за четыре года и преобразовали их в формат csv, который затем можно легко прочитать во фрейм данных в записной книжке Python. Наша база исходных данных состоит из более чем 3600 уникальных постановлений Верховного суда.

Создать метки данных

В типичной настройке машинного обучения у нас будут входные данные с метками (для наших данных «разрешено» и «отклонено»), которые можно использовать в качестве набора данных для обучения и проверки для обучения алгоритма.

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

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

Обозначение фактов или входных данных. После того, как мы извлекли текст из PDF-файла во фрейм данных, мы добавили столбец с названием «Ярлыки», который содержит информацию о результате апелляции. Мы уже установили, что последние две страницы содержат информацию об окончательном решении с использованием * сопоставления регулярных выражений. Затем мы извлекли ярлык с последних двух страниц решения, независимо от того, была ли апелляция разрешена или отклонена, тем самым создав ярлыки для каждой записи. Это устраняет любые дорогостоящие требования по созданию этикеток вручную и снимает ограничения на размер наших входных данных. Мы достаточно уверены, что этот способ маркировки в основном точен, мы не проверяли каждую метку вручную, но это предположение, которое * свидетельство допускает.

* (Если вам требуются дополнительные сведения о доказательствах, пожалуйста, проверьте фактический код и данные, представленные в репозитории github, ссылка на который была предоставлена ​​в конце этого тематического исследования.)

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

Создание текстовой группы данных

Для этой записной книжки csv-файл, полученный при парсинге, был преобразован во фрейм данных, а затем в группу данных. Data Bunch - это специализированная форма хранения данных, специфичная для fastai. Это настраиваемая форма хранения данных, которая очень удобна в использовании, поскольку выполняет несколько операций в фоновом режиме. Мы будем использовать специализированную форму DataBunch под названием TextDataBunch, которая используется в приложениях, где входные данные имеют форму текста. Невозможно просмотреть все фоновые операции, которые происходят при создании TextDataBunch, но мы объясним несколько важных ниже.

Создание действительных и обучающих наборов данных: набор данных делится на обучающий набор и проверочный набор, при создании TextDataBunch мы предоставили значение 0,2 для параметра valid_pct, который разделил набор данных на 80 : 20 сохранение 80% набора данных в качестве обучающего набора и использование оставшихся 20% в качестве набора для проверки.

Токенизация: это относительно простой процесс, при котором текст разбивается на слова или токены. Этого можно добиться, разделив текст пробелами, но данные показали, что это не лучший способ, лучший способ - разбивать предложения не только на пробелы, но также разделяя знаки препинания и сокращения. Fastai выполняет все эти действия и делает шаг вперед в очистке данных, удаляя все экземпляры кода HTML. Весь текст также преобразуется в нижний регистр, чтобы любые заглавные буквы одних и тех же токенов не учитывались дважды. Fastai предоставляет возможность взглянуть на токенизированные данные, которые показывают не только выполнение шагов, которые уже упоминались ранее, но и другую полезную информацию. Например, можно заметить, что все апострофы сгруппированы вместе, чтобы сформировать только один токен, также создается несколько специальных токенов, которые используются для замены неизвестных токенов или для создания отдельных текстовых полей.

Нумерация: еще одна операция, которая выполняется fastai в фоновом режиме во время создания TextDataBunch, называется нумерацией. Это одна из самых важных задач TextDataBunch и одна из основных причин того, что мы используем TextDataBunch вместо обычного DataBunch fastai для обработки текста. Когда fastai читает набор данных изображения, набор данных уже состоит из числа, представляющего пиксели изображения, но когда мы читаем текст, нам нужно преобразовать этот текст в токены, а эти токены в числа, что позволяет применять универсальное приближение. Этот шаг известен как нумеркализация и работает путем преобразования всех токенов в целочисленные значения. Чтобы поддерживать оптимальную производительность и снизить вероятность создания очень разреженного вектора, fastai по умолчанию сохраняет только токены, которые появляются как минимум дважды в матрице, при этом ограничивая максимальный размер словаря до 60 000 токенов. Хотя максимальный размер словаря можно изменить, для этого решения использовались значения по умолчанию.

Модель изучения языка

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

Кроме того, Fastai имеет предварительно обученную языковую модель, которая встроена в библиотеку. Таким образом, нам не пришлось обучать нашу модель с нуля. Это сэкономило много времени и вычислительных мощностей. В нашем случае мы использовали предварительно обученную модель изучения языка, которая была обучена на наборе данных Википедии под названием Wiki-103.

Мы создали нашу новую языковую модель, содержащую предварительно обученные веса из Wikitext-103 в качестве начальных значений, эта новая языковая модель пытается предсказать следующее слово в оценочных данных. При чтении нового DataBunch, предоставленного нами, эта модель не начиналась с нуля, поскольку ее параметры модели не были установлены на случайные значения, как это было бы в противном случае в новой модели, которая начинается с нуля. Поскольку мы использовали предварительно обученную модель, веса были установлены на значения, полученные в результате обучения, выполненного с использованием текста из Википедии. Это позволило нам быстро достичь более высокой точности. Во время обучения наша модель показала точность 46%. Это означает, что наша языковая модель способна правильно предсказать следующее слово суждения в 46% случаев. Это очень хорошо по отраслевым стандартам.

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

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

Модель классификатора (RNN)

После обучения языковой модели мы сохранили кодировщик этой модели. На следующем этапе обучения мы использовали этот кодировщик для обучения нашей окончательной модели прогнозирования. Эта последняя модель была моделью классификации типов RNN (AWD LSTM), которая предпочтительна в приложениях NLP. RNN означает повторяющиеся нейронные сети, читатель может легко найти массу материала в Интернете, если он захочет освежить в памяти любую из концепций, упомянутых в этой статье.

Эта модель смогла достичь точности 76%, что означает, что она могла читать детали ранее неизвестного дела в качестве исходных данных и могла правильно предсказать решение суда примерно 76 раз из ста.

Мы уверены, что точность можно существенно повысить, настроив различные значения параметров модели, а также опробовав ряд скоростей обучения.

Заключение и результат

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

Автоматизировал процесс сбора огромных объемов юридических данных и создания структурированной информации и правил.

Значительно сокращает усилия судьи по изучению нескольких сотен документов и материалов по аналогичным делам.

Успешно дополняет анализ дела, помогая судьям быстрее прийти к решению

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

Это прекрасная возможность для юристов и технических специалистов поработать вместе и разработать систему, которая принесет пользу обществу в целом.

Связаться

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

[email protected]

Https://www.linkedIn.com/in/nik

Особая благодарность Дебабрате Рою за создание кода очистки, используемого в этом решении.

Код можно посмотреть по следующей ссылке на github.



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