Ivan Begtin
7.98K subscribers
1.82K photos
3 videos
101 files
4.53K links
I write about Open Data, Data Engineering, Government, Privacy, Digital Preservation and other gov related and tech stuff.

Founder of Dateno https://dateno.io

Telegram @ibegtin
Facebook - https://facebook.com/ibegtin
Secure contacts ivan@begtin.tech
Download Telegram
пока в режиме внутреннего тестирования работает бот для телеграма по оценке простоты текстов русского языка
Его можно найти как @PlainRussianBot [1] основанный на сервисе оценки простоты русского языка [2]

Он реагирует на 3 команды:
- /text [содержание сообщения] - выдаст сложность текста сообщения
- /url [ссылка на веб-страницу] - выдаст сложность текста по ссылке
- /start или /help повтор этого сообщения

Пример в виде текста:
/text Дмитрий Медведев поздравил главного детского травматолога-ортопеда Санкт-Петербурга, заслуженного врача России, доктора медицинских наук, профессора, академика РАН с 70-летием.
«Выдающийся хирург, учёный, организатор, Вы посвятили свою жизнь благородному делу – лечению детей, страдающих от тяжёлых заболеваний опорно-двигательной системы. Благодаря Вам, работе всего коллектива первоклассных специалистов, работающих в знаменитом НИИ имени Г.И.Турнера, дети, которые были прикованы к постели, выздоравливают. И это – самый большой, самый важный результат Вашего труда. У Вас много заслуженных наград, но главная из них – это сотни тысяч благодарных пациентов, которым Вы помогли обрести надежду на счастливую жизнь без болезней», – говорится, в частности, в телеграмме.

Пример по ссылке:
/url http://government.ru/gov/persons/183/telegrams/28998/
Тема простоты языка часто выпадает из нашего внимания, но она никуда не делась.
Прошу всех активно потестировать сам бот и писать мне на ibegtin@infoculture.ru и @ibegtin в телеграме если будут предложения и идеи как его улучшить.
После пары недель тестирования сделаем публичный анонс.

Ссылки:
[1] https://t.me/PlainRussianBot
[2] http://plainrussian.ru
#plainrussian #opengov
Один из самых простых внешне и сложных внутри общественно полезных проектов которыми я занимался - это "Простой русский язык" http://plainrussian.ru

Это сервис который проверяет текст на предмет его простоты и измеряет эту простоту в годах обучения и возрасте аудитории.

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

Поэтому много лет назад я потратил несколько месяцев на то чтобы такие формулы адаптировать под русский язык. В статье на Хабре "Что такое «Понятный русский язык» с точки зрения технологий. Заглянем в метрики удобочитаемости текстов" [1] в 2014 году я рассказывал как это делалось. Не имея возможности проверить эти формулы на разных аудиториях, я, по сути, на базе обучающей выборки из текстов внеклассного чтения методом грубого перебора коэффициентов подобрал такие их показатели при которых среднее отклонение расчётного и предобученного значений было минимальным.

Тогда же и появился сервис plainrussian.ru и тогда же было доступно его API [2]. И тогда же я выложил исходный код формул [3], каждый желающий может реализовать это в своём приложении.

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

Это один из тех проектов которые, на мой взгляд, могут быть исключительно некоммерческими. Многое можно ещё сделать к нему в довесок. Например, в телеграме @PlainRussianBot написан поверх этого API. Это наш внутренний бот в Инфокультуре для проверки текстов, но его можно использовать и извне. Он понимает команды /help, /url, /text и если ему переслать файл doc то он извлечет из него текст и измерит его сложность.

Ссылки:
[1] https://habr.com/company/infoculture/blog/238875/
[2] https://github.com/ivbeg/readability.io/wiki/API
[3] https://github.com/infoculture/plainrussian

#plainlanguage #plainrussian
Институт проблем правоприменения сделал очень познавательное исследование "Сложность правовых актов в России" [1], они упоминают и наш проект Инфокультуры "Простым языком" [2].

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

Ссылки:
[1] http://enforce.spb.ru/images/analit_zapiski/memo_readability_2018_web.pdf
[2] http://plainrussian.ru

#plainlanguage #plainrussian
Сегодня было большое онлайн мероприятие по простоте и понятности законов «О языке законов, их понятности и сложности» с презентациями и выступлениями коллег из нескольких университетов и, в том числе, моим выступлением.

Если была запись, я потом выложу на него ссылку. А пока небольшая презентация про то как простота НПА устроена в мире и в России и о нашем проекте Простой русский язык

Ссылки:
[1] https://www.beautiful.ai/player/-MKtlUfFd3FAkgQyXZca
[2] http://plainrussian.ru

#plainrussian
Алексей Лукацкий проверил регуляторные документы по инфобезу через наш сервис Простой язык [1] и отметил наиболее сложную нормативку. А я со своей стороны расскажу что когда-то простой русский язык я сделал после того как потратил несколько месяцев на то чтобы адаптировать формулы английского языка под русский. Это было непросто и делал я это, Вы не поверите, брут-форсным перебором нескольких миллионов комбинаций коэффициентов.

Потому что самое главное в этих формулах - это привязка значений к годам обучения. Если формула выдаёт 10 - это означает что 10 лет надо учиться чтобы понять этот текст (примерно 9-11 классы школы), а сложность в 18 означает что учиться надо 18 лет (а то есть 11 классов школы + 5 лет ВУЗа + ещё чему-то, например, в аспирантуре) ну и так далее.

Дело в том что формулы читабельности основаны на нескольких параметрах сложности текста таких как:
- среднее число слов на предложение
- среднее число слогов в словах
- среднее число слогов на предложение
- число сложных слов на предложение
и так далее.

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

Дальше чтобы не вдаваться в сложную математику я просто перебрал все коэффициенты с шагом в 0.01 для всех формул и это заняло около месяца на нескольких домашних компьютерах.
Самой точной оказывалась формула SMOG (Simple Measure of Gobbledygook) с адаптированными коэффициентами поэтому она и является базовой в оценке plainrussian.ru.

Всё это было более 7 лет назад, сам код можно увидеть по ссылке на Github [2]. Сейчас его надо переработать чтобы лучше учитывать определение предложений, лучше понимать бюрократические тексты (нужна отдельная шкала) и ещё многое другое до чего постепенно "доходят руки".

Ссылки:
[1] https://plainrussian.ru
[2] https://github.com/infoculture/plainrussian

#plainlanguage #plainrussian
11-13 мая пройдёт большая международная конференция Access for All. Plain Language is a Civil Right [1]. Там большая насыщенная программа [2] со спикерами из десятков стран о практике простоты языка.

Конференция платная, не очень дешёвая, но есть скидки по тому к странам с какими доходами вы относитесь. Россия страна со средними доходами и код скидки ZONE2. Вместе с ним стоимость участия: $49.00 для студентов, $109 для членов ассоциаций, $139.00 для тех кто в ассоциации не входит.

Организует конференцию Clarity International, Center for Plain Language и Plain Language Association International. Я лично вхожу в ассоциацию Clarity International уже много лет, плачу членские взносы и получаю по подписке их журнал и поэтому получу небольшую скидку. Много лет я также представляю Россию в Clarity International и ещё 4 человека из России входят в Plain Language Association [3] и вот и всё. Практически никто от России не выступает на международных конференциях, честно говоря я вот тоже этого не делаю. Рассказываю только на российских конференциях или вот последняя моя презентация с российско-германского форума [4], но вот к этой международной конференции, увы, я не успел подготовиться, но с удовольствием послушаю участников.

Напомню что у Информационной культуры есть проект по простоте и понятности русского языка [5] где можно измерить сложность языка в годах обучения. У проекта есть открытое API с помощью которого можно анализировать тексты автоматически/автоматизировано.

Ссылки:
[1] https://www.accessforallconference.com/
[2] https://www.accessforallconference.com/may-program
[3] https://plainlanguagenetwork.org/membership/member-directory/
[4] https://www.beautiful.ai/player/-MZCRhasvASjRmvzWl7c
[5] https://plainrussian.ru

#plainlanguage #plainrussian
В Высшей школе экономики разместили в открытом доступе сервис "Оценка синтаксической сложности нормативных текстов" для проверки языка нормативных документов [1]. Сервис, безусловно, полезный, надеюсь он будет активно применяться российскими нормотворцами, а у каждого законопроекта будет автоматическая оценка его сложности. Ко всему прочему результаты проекта также весьма интересны по оценке сложности российских законов [2] и открытые данные в виде корпуса российских законов [3].

Из пожеланий, сервису нехватает API и подробностей методологии, но и в таком виде он будет полезен.

А я напомню что ещё много лет назад в @infoculture мы создали сервис "Простой русский язык" который даёт оценку сложности любого текста [4]. Этот сервис не так сложно устроен как сервис от НИУ ВШЭ и он не затачивался под законы, а скорее на общедоступные простые тексты. Главное что его код открыт [5] включая все формулы используемые для расчёта. Подробнее о том как он создавался я писал на Хабре несколько лет назад [6]

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

Так что надеюсь проект который делает команда НИУ ВШЭ будет развиваться и применяться на практике.

Ссылка:
[1] http://lawreadability.hse.ru
[2] http://lawreadability.hse.ru/project-results/
[3] http://lawreadability.hse.ru/data-sources/
[4] https://plainrussian.ru/
[5] https://github.com/infoculture/plainrussian
[6] https://habr.com/ru/post/239511/

#opendata #plainrussian #plainlanguage
Один из наиболее востребованных сервисов Инфокультуры - это сервис оценки простоты языка PlainRussian.ru [1]. Я лично создавал его в 2013-2014 годах, а позже написал подробности этого в статье на Хабре [2].

Если вкратце, то есть набор признаков простоты и сложности языка, применимый, как минимум, к большинству европейских языков. Это такие параметры как:
- число слов на предложение
- число слогов на слово
- число многосложных слов (от 4-х и более слогов)
- число редких слов, за пределами 5000 наиболее употребляемых слов
- число знаков на слово

Это неполный список способов измерения сложности текста не прибегая к лексическому и смысловому анализу. Большинство сложных текстов быстро определяются по средним значениям этих параметров на текст и ещё с 40-х годов прошлого века в США велась разработка и применение этих формул. Тексты проверялись без компьютеров, вручную, по написанным правилам, формулам и с помощью калькулятора в итоге. Это такие формулы как SMOG, Coleman-Lian Readability Test, Flesch-Kinkaid Readability Test, Lexile и ещё многих других, применяемых и по сей день.

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

Я лично давно думал про то что надо уметь измерять простоту русского языка и вот тогда в 2013 я и взялся за перевод этих формул под русский язык. А чтобы это проделать надо было где-то раздобыть текстов у которых была бы чёткая возрастная пометка. В итоге мне тогда удалось собрать несколько десятков текстов для внеклассного чтения для классов с 1 по 11й и на основе этих текстов запустить алгоритм подбора коэффициентов для этих формул. Сейчас, наверняка, с распространием новых инструментов, data science и тд, всё это можно было сделать относительно быстрее, а тогда я поступил проще и на месяц на старом ноутбуке запустил процесс перебора всех вариантов коэффициентов с поиском комбинации наименьшего среднего отклонения и наименьшего максимального отклонения, а также кросс-проверку всех 5 формул с подобранными коэффициентами. Подход этот далёкий от изначального использованного разработчиками этих формул, они проводили проверку понимаемости текстов на большой социологической выборке, но, как итог, формулы получились рабочими.

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

Надо ли наш сервис улучшить, например, добавить рекомендации как работать над текстом? Или подсказывать какие слова можно заменить, а какие предложения переписать? Возможно. И мы довольно давно думаем над тем что более всего востребовано и нужно. Если у Вас есть идеи, пожелания и предложения - пишите на ibegtin@infoculture.ru или в чате к телеграм каналу @begtinchat

Ссылки:
[1] https://plainrussian.ru/
[2] https://habr.com/ru/company/infoculture/blog/238875/

#russian #plainrussian #language
За начало границы муниципального района Волжский Самарской области принята точка, расположенная в юго-западном углу лесного квартала 21 Советского лесничества Кинельского лесхоза на развилке лесных дорог (точка 1 – пересечение границ муниципальных районов Волжский, Красноярский и Кинельский Самарской области), далее граница проходит смежно границе муниципального района Кинельский Самарской области в восточном направлении по южным границам лесных кварталов 21, 22 Советского лесничества Кинельского лесхоза до юго-восточного угла квартала 22 Советского лесничества Кинельского лесхоза (точка 12), в южном направлении на расстоянии 360 м, пересекая автодорогу, идущую от поселка городского типа Новосемейкино муниципального района Красноярский Самарской области до кольца автодороги, идущей от города Самары до города Отрадного, далее в западном направлении по северной границе лесного квартала 99 Советского лесничества Кинельского лесхоза...

Именно так начинается самое длинное предложение современного русского языка в 9377 слов и 61 064 знака без пробелов и является это предложение приложением "Картографическое описание границ муниципального района Волжский Самарской области" к закону Самарской области №58-ГД от 25.02.2005 "Об установлении границ муниципального района Волжский Самарской области" [1].

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

Ссылки:
[1] https://www.samregion.ru/documents/laws/58-gd-ot-25-02-2005/

#plainrussian #language #russian
Ай-яй-яй-яй, как интересно.

Коллеги из Счетная палата Российской Федерации опубликовали видеоролик о том как писать отчеты [1]

Что, безусловно, очень правильно и полезно. Вообще всем бы органам власти следовать тем же путём.
Я на всякий случай напомню что где-то с 5-й минуты в ролике приводится пример сравнения сложности текста. Для этого сравнения используется сервис Простым языком plainrussian.ru [2] созданным в Информационная культура и автором которого я являюсь.

Этот сервис специально создавался максимально простым и понятным, с оценкой сложности текста в годах обучения.
Сервис некоммерческий, использовать его может каждый, не стесняйтесь. А если будут вопросы/предложения/идеи то пишите на infoculture@infoculture.ru или в чате @begtinchat

В ролике Счетной палаты и в аннотации к нему коллеги, почему-то не упомянули ни меня ни сервис, но уверен что они это исправят.

Ссылки:
[1] https://www.youtube.com/watch?v=HvqerB5Bb2A
[2] https://plainrussian.ru

#plainrussian #services #lingustics #russian
В рубрике регулярных напоминаний не могу не рассказать про сервис оценки простоты языка Простой язык (plainrussian.ru) [1] который я много лет назад сделал и передал в Инфокультуру при её создании.

Это очень простой сервис который на вход получает текст на русском языке и на выходе выдает его сложность в баллах где баллы - это число лет учёбы которые необходимо пройти чтобы понимать этот текст. Например, 11.97 баллов - это, примерно, 1-3 курс ВУЗа, а то есть около 12 лет учебы.

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

У сервиса есть API [2] и открытый код [3]. Код не обновлялся примерно лет 10, во всяком случае та его часть которая использовалась для расчета формул.

И вот в формулах и было самое сложное и интересное. Алгоритмы сервиса работают на тех же принципах что формулы читабельности текста созданные изначально для английского языка: Flesch-Kincaid, SMOG, Automatic Readability Index и другие. В их основе подсчет числа слов на предложение, среднее число слогов на слово, среднее число букв на слово, число редких слов и так далее.

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

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

Особенность итогового результата в том что тексты простые/бытовые он идентифицирует хорошо, а вот тексты юридические или нормативно-государственные оценивает всегда как особо сложные.

По прежнему сайт остаётся одним из тех проектов которым регулярно пользуются несмотря на его неизменность в последние годы.

Ссылки:
[1] https://plainrussian.ru/
[2] https://github.com/ivbeg/readability.io/wiki/API
[3] https://github.com/infoculture/plainrussian/tree/master/textmetric

#plainrussian #russian #language #api #tools