The Seamless Web: Визуализируя американскую правовую систему
Как визуализировать корпус из 4 миллионов судебных прецедентов и сделать наглядной американскую правовую систему
Задача
В 2017 году к нам обратились с просьбой разработать нестандартный подход к поиску дел в американской правовой системе. В результате чего мы создали экспериментальный веб-инструмент, совмещающий классический текстовый поиск с техниками визуального анализа, о котором я и хотел бы сегодня рассказать.
🇺🇸 This article is also available in English
Американская правовая система строится на прецедентах. Это означает, что при разбирательстве каждого дела суд ориентируется на предыдущие решения по аналогичным делам. Разумеется, учитывая эпоху и социально-экономическую ситуацию в стране. Таким образом, каждое новое судебное дело ссылается на другие.
За три столетия накопилось более 6 миллионов кейсов, и все они связаны между собой. И конечно, предпринимаются попытки применить цифровые инструменты к этой базе данных. Однако все они основываются на линейном текстовом поиске. Такой фильтр уже упрощает работу для юристов, однако не дают увидеть взаимосвязей и иерархий между делами.
Бесконечные взаимосвязи можно представить в виде графа, где они дела будут авторитетнее других по целому ряду параметров. Так созрела идея визуализировать эту базу данных в объеме.
Основное решение
Мы задались целью визуализировать систему американских прецедентов и сделать работу с ней интерактивной. Исходная база данных заимствована у открытой библиотеки Free Law Project https://free.law/ и построена на тексте. А значит, главный инструмент работы с ней — текстовый поиск.
Мы решили развивать метафору с сетью и представили результаты поиска в виде сетей ссылающихся друг на друга документов. Судебные дела обозначены точками, размер которых показывает их значимость. Цветом обозначены кластеры кейсов, определенные алгоритмом. Крупные узлы со связями объединяются в подсети, которые, в свою очередь, соединяются в общую сеть. У отображения есть два режима: в сетевом (Network Mode) — вы видите все взаимосвязи в объеме, а в хронологическом (Timeline Mode) — распределение судебных решений во времени.
В проекте задействовано почти 4 миллиона судебных дел. Каждый из них добавлен в базу Elasticsearch и обработан рядом написанных нами алгоритмов для извлечения наиболее цитируемых участков текста, ключевых терминов и параграфов. Каждый раз, когда вы производите поиск, Elasticsearch находит релевантные кейсы, после чего наш серверный модуль связывает их в сеть, определяет кластеры связанных дел (используя метод Лувена) и отправляет их браузеру для визуализации.
Справа в интерфейсе представлены блоки Case Insights и Network Insights. Они нужны для быстрой навигации по кейсам, а также с их помощью можно углубить контекст поиска. В блоке отображаются самые авторитетные дела по вашему запросу, ключевые термины, фрагменты из самых авторитетных дел и самые цитируемые формулировки. И любая позиция может стать следующей ступенькой поиска. Здесь же есть вкладка Community Insights, в которой собрана такая же информация для каждого кластера. Таким образом, вы можете бесконечно двигаться по сети от кейса к кейсу, пока не подберете все подходящие ссылки и цитаты.
В итоге взаимосвязи судебных решений получили наглядное оформление. Но намного важнее, что для юристов визуализация стала полезным инструментом. Теперь не нужно выискивать в текстах кейсов взаимные ссылки — достаточно сформулировать запрос, чтобы система предложила сеть из дел, которые относятся к нему, и проранжировала дела по значимости и цитируемости.
Обработка текста
В основе этого проекта лежит одно из направлений искусственного интеллекта — обработка естественного языка (Natural language processing), объединяющая лингвистику и статистику. Чтобы ранжировать кейсы и вычленять термины, мы научили систему оценивать важность целых текстов, цитат или отдельных слов.
- Важность кейса определяется количеством ссылок на него: чем больше на него ссылаются другие кейсы — тем он важнее.
- Алгоритму поиска наиболее цитируемых фрагментов потребовался месяц, чтобы обработать всю базу данных. Помимо точных цитат, нужно было учесть возможные ошибки, опечатки и неточные цитаты. Схематично эта методика выглядит так: текст делится на отрывки, отрывки — на абзацы, абзацы — на предложения, предложения — на фрагменты предложений. Затем каждый фрагмент анализируется с точки зрения ссылок на него из 4 миллионов других кейсов. Уже после этого еще один алгоритм, основанный на принципах нечеткой логики просматривал цитаты на «похожесть», чтобы придать им большую релевантность. В итоге искусственный интеллект месяц работал над тем, чтобы максимально упростить поиск по юридическим текстам для людей. Теперь мы мгновенно видим все обнаруженные им связи и можем просматривать их в удобном виде.
- По схожему принципу выявляются и важные термины. Алгоритм выявляет уникальность слова по отношению к отдельному тексту и ко всему набору текстов. Если в отдельном тексте термин встречается часто, а в целом в базе данных — редко, то алгоритм воспринимает его как важный.
В заключении
Исследовали американской правовой системы описывают ее как «бесшовную сеть» (seamless web), что и дало название проекту. Мы визуализировали огромную базу данных, которая до этого существовала в виде линейных последовательностей текстов, и создали рабочий инструмент для исследователей и практиков.
С помощью возможностей, заложенных в визуализации, можно сделать очевидными неочевидные явления:
- проявить наибольшую авторитетность тех или иных дел,
- выстроить историю с помощью таймлайна,
- просмотреть эволюцию судебных решений по отдельной теме и т.д.
Для нас это один из самых ярких примеров основного предназначения визуализации данных: с помощью дизайна и алгоритмов создавать инструменты для работы и принятия решений.
Проект, по больше части, так и остался на фазе эксперимента и содержит немалое количество недоработок. Тем не менее, он доступен онлайн всем желающим: https://theseamlessweb.com
Команда: Никита Рокотян, Даррен Рейд, Оля Стукова
Текст: Тина Гарник, Никита Рокотян