Сбер выложил русскоязычную модель GPT-3 Large с 760 миллионами параметров в открытый доступ

Источник изображения

Компьютерный анализ и синтез естественных языков

В продолжение цикла статей мы решили выложить на Хабр запись недавнего мероприятия Moscow Legal Hackers, посвященного теме создания юридического ИИ.
Основные вопросы мероприятия:
Картинка для привлечения внимания:
Представь что ты будешь знать завтра, когда заработает юридический ИИ.

Полное видео и таймкоды записи — под катом:
Вы наверняка знакомы с ситуацией, когда при обращении в какую-либо крупную организацию приходится подавать целый пакет документов, точнее пакет их сканов. И это в век «цифры»! Теперь посмотрите на это глазами второй стороны и представьте, что у вас миллионы таких заявок со сканами, и они… не содержат информации о границах документов. Апокалипсис? Всё придётся сегментировать вручную? К счастью, существуют алгоритмы автоматической сегментации потоков многостраничных документов. Здесь мы расскажем о новом подходе в сегментации с использованием модели BERT.
Я состою в жюри World AI & Data Challenge. Это такой международный конкурс для разработчиков технологий для решения разных социальных задач, таких как борьба с бедностью, помощь людям с ограничениями слуха и зрения, улучшение обратной связи между человеком и государственными организациями, и так далее. Сейчас идет второй этап конкурса, он продлится до октября. В рамках этого этапа мы отбираем лучшие решения для дальнейшей реализации проектов. Поскольку мы в ABBYY много работаем с текстами и их смыслом, то меня больше всего заинтересовала проверка текстов в рамках проекта «Тотальный диктант». Давайте на примере этой задачи разберёмся, почему обработка естественного языка — одна из самых недооценённых областей современного машинного обучения, а на сдачу обсудим, почему, даже когда речь идёт о проверке диктанта, всё «немного сложнее, чем кажется». И интереснее, естественно.



При поиске параллельных корпусов для своих нужд, — это может быть обучение модели машинного перевода или изучение иностранного языка, можно столкнуться с тем, что их не так уж и много, особенно, если речь идет не об английском, а каком-то редком языке. В этой статье мы попробуем создать свой корпус для популярной языковой пары русский-немецкий на основе романа Ремарка "Три товарища". Любителям параллельного чтения книг и разработчикам систем машинного перевода посвящается.
Такая задача называется выравниванием текстов и может быть до какой-то степени решена следующими способами:


Мы продолжаем цикл статей на тему юридического искусственного интеллекта, аспектов его разработки и перспектив практического применения на отечественном рынке. В предыдущих публикациях мы неоднократно говорили, что, по нашему мнению, разработка Legal AI может быть обеспечена с помощью создания и применения нового семантического блока, включающего в себя:
В первой статье мы детально исследовали существующие инструменты процессинга русскоязычного текста. Во второй статье мы рассмотрели подходы к созданию продуктов на основе искусственного интеллекта, а также вопросы взаимодействия специалистов в области IT и юриспруденции. В настоящей статье мы предлагаем погрузиться в тему онтологий и ответить на следующие вопросы:

Здравствуйте, продолжение статьи про методы создания эмбедингов предложений. В этом гайде мало слов и много кода, готово для Ctrl+с, Ctrl+v, улучшений и дальнейших тестов.
Часть1 обязательна для ознакомления
from deeppavlov.core.common.file import read_json
from deeppavlov import build_model, configs
from deeppavlov.models.embedders.elmo_embedder import ELMoEmbedder
# ссылка для скачивания моделей http://docs.deeppavlov.ai/en/master/features/pretrained_vectors.htmlclass RU_BERT_CLASS:
def __init__(self, name):
bert_config = read_json(configs.embedder.bert_embedder)
bert_config['metadata']['variables']['BERT_PATH'] = os.path.join('./.', name)
self.m = build_model(bert_config)
def vectorizer(self, sentences):
return [sentence.split() for sentence in sentences]
def predict(self, tokens):
_, _, _, _, sent_max_embs, sent_mean_embs, _ = self.m(tokens)
return sent_mean_embs
bert = RU_BERT_CLASS('rubert_cased_L-12_H-768_A-12_pt')
get_similarity_values = similarity_values_wrapper(bert.predict, bert.vectorizer, distance_function=cosine_distances)
evaluate(get_similarity_values, 'rubert')'rubert: 2895.7'
Представте себе, как было бы удобно, написать предложение и найти похожее к нему по смыслу. Для этого нужно уметь векторизовать всё предложение, что может быть очень не тривиальной задачей.
По специфике своей работы, я должен искать похожие запросы в службу поддержки и даже имея достаточно большую разметку, бывает тяжело собрать необходимое количество сообщений подходящих по тематике, но написанных другими словами.
Ниже обзорное исследование на способы векторизации всего предложения и не просто векторизации, а попытка векторизовать предложение с учётом его смысла.
Например две фразы 'эпл лучше самсунг' от 'самсунг лучше эпл', должны быть на противоположном конце по одному из значений вектора, но при этом совпадать по другим.
Можно привести аналогию с картинкой ниже. По шкале от кекса до собаки они находятся на разных концах, а по количеству чёрных точек и цвету объекта на одном.


В этой заметке я хотел бы дополнить эту статью и рассказать, как можно гибче использовать экстрактор Википедии WikiExtractor, фильтруя статьи по категориям.
Многие знают, что ABBYY занимается обработкой и извлечением данных из разных документов. Но у наших продуктов есть и другие интересные возможности. В частности, с помощью решения ABBYY Intelligent Search можно быстро и удобно искать информацию по смыслу в электронных документах из корпоративных систем. Этим уже пользуются крупные российские компании, например, производитель ракетных двигателей АО «НПО Энергомаш». 
Анализ актуальной в настоящее время темы искусственного интеллекта и его применения в области юриспруденции мы начали с обзора инструментов синтаксического и семантического анализа текстов, которые применяются при разработке LegalTech-решений.
В комментариях к предыдущей статье красной нитью проходил очень непростой вопрос: а почему бы не извлекать из текста все имеющиеся в нем смыслы? В чем здесь сложность? Такой вопрос — крайне показателен, поэтому мы решили уделить ему более пристальное внимание и дать максимально развернутый ответ.

Ложбан — искусственный человеческий язык, созданный на основе Логланга в 1987 году Группой логического языка (The Logical Language Group). Лицензионно-открыт и свободен. Основан на логике предикатов. Имеет описание в формате YACC и EBNF.
a, b, d, f, g, i, k, l, m, n, o, p, r, s, t, v, z — читаются как в английском
h, w, q — нет в алфавите
e — читается как русская Э
u — читается как русская У
c — читается как русская Ш. Но ci — произносится как «щи».
х — читается как русская Х (!)
j — читается как русская Ж
tc — читается как русская Ч
y — это шва и произноситься как безударная Ы. Например cy — произносится как «шы».
' — просто разделитель наподобие наших Ь, Ъ знаков (в транскрипции заменяется на h).
. — пауза в произношении.
0 — no, 1 — pa, 2 — re, 3 — ci, 4 — vo, 5 — mu, 6 — ха, 7 — ze, 8 — bi, 9 — so
pi — десятичная точка
Например:
pa re ci pi vo mu — 123,45
pa no no — 100