Свежий обзор The Modern Data Stack Ecosystem: Spring 2022 Edition [1] от Continual.ai, Конечно, как и все, они описывают Modern Data Stack с точки зрения их места в экосистеме, но, собственно и сам термин так активно используется стартапами именно для того чтобы показать позиционирование своего продукта. Удивительно что для MDS ещё нет холста в популярных системах проектирования вроде Miro и т.д.
Обзор полезный, например, автор отмечает отход от SQL-only подхода в преобразовании данных и в dbt рассматривают вариант включить поддержку non-SQL [2] и Snowflake рассматривают добавление Python-in-DB через Snowpark [3]
Главный недостаток именно этого обзора с слабом покрытии инструментов с открытым кодом, их там совсем немного упомянуто. Зато роли и применение продуктов стартапов довольно много.
Ссылки:
[1] https://continual.ai/post/the-modern-data-stack-ecosystem-spring-2022-edition
[2] https://roundup.getdbt.com/p/disjointed-lineage
[3] https://www.snowflake.com/blog/snowpark-is-now-generally-available/
#data #reading #tools #moderndatastack
Обзор полезный, например, автор отмечает отход от SQL-only подхода в преобразовании данных и в dbt рассматривают вариант включить поддержку non-SQL [2] и Snowflake рассматривают добавление Python-in-DB через Snowpark [3]
Главный недостаток именно этого обзора с слабом покрытии инструментов с открытым кодом, их там совсем немного упомянуто. Зато роли и применение продуктов стартапов довольно много.
Ссылки:
[1] https://continual.ai/post/the-modern-data-stack-ecosystem-spring-2022-edition
[2] https://roundup.getdbt.com/p/disjointed-lineage
[3] https://www.snowflake.com/blog/snowpark-is-now-generally-available/
#data #reading #tools #moderndatastack
continual.ai
The Modern Data Stack Ecosystem: Spring 2022 Edition
In this article, we take a peek at what is developing in the modern data stack ecosystem and summarize the main tools and vendors to consider when reaching for new functionality.
Яндекс выложили в открытый доступ систему управления базами данных YDB [1] с полным исходным кодом [2]. Эта распределенная SQL база данных, с собственным расширением языка SQL - YQL [3] и, в целом, выглядит любопытно.
Что стоит внимания:
- работа в кластере как часть системы
- обещанная простая масштабируемость
Что удивительно:
- база написана полностью на C++, хотя сейчас более популярно когда базы данных создаются на более высокоуровневых языках, в том числе и для того чтобы привлечь разработчиков которые хотят их изучать
- поддержка JSON и иерархических данных весьма скромная, по крайней мере документации об этом мало, хотя и упоминается
- вместо придумывания своего языка запросов расширяют SQL, что может быть и не плохо, просто +1 SQL диалект
- нет PostgreSQL или MySQL "совместимости из коробки", а это полезная фича которую декларируют многие новые СУБД и сервисы.
В целом база явно написана под высокие нагрузки, стоит пристального внимания и тестирования.
Ссылки:
[1] https://ydb.tech/
[2] https://github.com/ydb-platform/ydb
[3] https://ydb.tech/ru/docs/yql/reference/
#data #opensource #yandex #tools
Что стоит внимания:
- работа в кластере как часть системы
- обещанная простая масштабируемость
Что удивительно:
- база написана полностью на C++, хотя сейчас более популярно когда базы данных создаются на более высокоуровневых языках, в том числе и для того чтобы привлечь разработчиков которые хотят их изучать
- поддержка JSON и иерархических данных весьма скромная, по крайней мере документации об этом мало, хотя и упоминается
- вместо придумывания своего языка запросов расширяют SQL, что может быть и не плохо, просто +1 SQL диалект
- нет PostgreSQL или MySQL "совместимости из коробки", а это полезная фича которую декларируют многие новые СУБД и сервисы.
В целом база явно написана под высокие нагрузки, стоит пристального внимания и тестирования.
Ссылки:
[1] https://ydb.tech/
[2] https://github.com/ydb-platform/ydb
[3] https://ydb.tech/ru/docs/yql/reference/
#data #opensource #yandex #tools
ydb.tech
YDB — an open source Distributed SQL Database
YDB is an open source Distributed SQL Database that combines high availability and scalability with strong consistency and ACID transactions.
В рубрике полезных инструментов для работы с данными несколько обновлений
- spcrawler [1] утилита командной строки для выгрузки данных и файлов из открытых сайтов Sharepoint к которой я наконец-то нашёл время дописать документацию и выложил как открытый код. Предистория: в открытом доступе много сайтов на Sharepoint, некоторые государственные системы/сайты тоже сделаны нём. Эта утилита выгружает все данные доступные через API "/_api/web" для тех случаев когда такое API есть. Похоже на другую утилиту wparc - по архивации данных через API Wordpress, которую я ранее выкладывал.
- у утилиты undatum появилась команда query использующая mistql как язык запросов. Удобно при необходимости потоковой фильтрации данных при работе с JSON lines. Пока в экспериментальном режиме, функции незавершённые. Одна из идей в том чтобы реализовать полноценную команду запросов на многих языках, не только mistql, но и dictquery и ещё нескольких вариантах.
- у меня в планах написать гайд по apibackuper, утилите по архивации данных внутри API. Очень много примеров API по России и оказывается мало по миру, не могу быстро найти зарубежные недокументированные API.
- добавлены новые общедоступные правила к утилите идентфикации типов данных metacrafter, добавлены правила: intcodes.yaml - международные коды, boolean.yaml - булевые значения, orgs.yaml - организации, science.yaml - научные идентификаторы, vehicles.yaml - автомобили. Все они в категории common в репозитории. Напомню, что утилита является открытой и общедоступной как и базовые правила, а у нас внутри проходит бета тестирование сервис с расширенными правилами. Желающие могут использовать открытый код и сами писать правила под свои данные или привлечь нашу команду и мы применим расширенный свод правил + напишем под Ваши данные.
В ближайших планах собрать вместе открытый код + наработки по APICrafter'у и Datacrafter՛у и собрать продукт + сервис на международную и русскоязычную аудитории.
Ссылки:
[1] https://github.com/ruarxive/spcrawler
#opensource #tools #data
- spcrawler [1] утилита командной строки для выгрузки данных и файлов из открытых сайтов Sharepoint к которой я наконец-то нашёл время дописать документацию и выложил как открытый код. Предистория: в открытом доступе много сайтов на Sharepoint, некоторые государственные системы/сайты тоже сделаны нём. Эта утилита выгружает все данные доступные через API "/_api/web" для тех случаев когда такое API есть. Похоже на другую утилиту wparc - по архивации данных через API Wordpress, которую я ранее выкладывал.
- у утилиты undatum появилась команда query использующая mistql как язык запросов. Удобно при необходимости потоковой фильтрации данных при работе с JSON lines. Пока в экспериментальном режиме, функции незавершённые. Одна из идей в том чтобы реализовать полноценную команду запросов на многих языках, не только mistql, но и dictquery и ещё нескольких вариантах.
- у меня в планах написать гайд по apibackuper, утилите по архивации данных внутри API. Очень много примеров API по России и оказывается мало по миру, не могу быстро найти зарубежные недокументированные API.
- добавлены новые общедоступные правила к утилите идентфикации типов данных metacrafter, добавлены правила: intcodes.yaml - международные коды, boolean.yaml - булевые значения, orgs.yaml - организации, science.yaml - научные идентификаторы, vehicles.yaml - автомобили. Все они в категории common в репозитории. Напомню, что утилита является открытой и общедоступной как и базовые правила, а у нас внутри проходит бета тестирование сервис с расширенными правилами. Желающие могут использовать открытый код и сами писать правила под свои данные или привлечь нашу команду и мы применим расширенный свод правил + напишем под Ваши данные.
В ближайших планах собрать вместе открытый код + наработки по APICrafter'у и Datacrafter՛у и собрать продукт + сервис на международную и русскоязычную аудитории.
Ссылки:
[1] https://github.com/ruarxive/spcrawler
#opensource #tools #data
GitHub
GitHub - ruarxive/spcrawler: A command-line tool to backup Sharepoint public installations data from open API endpoint
A command-line tool to backup Sharepoint public installations data from open API endpoint - ruarxive/spcrawler
Я продолжаю писать на английском языке о инструментах для работы с данными которые делал последние несколько лет. Написал заметку [1] про утилиту APIBackuper используемую для извлечению данных из API. Не открою большого секрета если скажу что большая часть данных в DataCrafter[2] собрана с её помощью. Слишком многие данные в России доступны только как API.
Но в заметке пример сбора данных с недокументированного API аэропорта Берлина.
Ссылки:
[1] https://medium.com/@ibegtin/apibackuper-a-command-line-tool-to-archive-backup-data-api-calls-3eb0e98e1a3b
#tools #datatools #opensource #articles
Но в заметке пример сбора данных с недокументированного API аэропорта Берлина.
Ссылки:
[1] https://medium.com/@ibegtin/apibackuper-a-command-line-tool-to-archive-backup-data-api-calls-3eb0e98e1a3b
#tools #datatools #opensource #articles
Medium
APIBackuper: a command-line tool to archive/backup data API calls
A lot of data published as API, iterable by page or skip parameters API. Sometimes it’s documented, sometimes not, but quite often it’s…
Из свежего полезного чтения про оптимизацию работы с данными, заметка How to Build a Lossless Data Compression and Data Decompression Pipeline [1] о построении многопоточного компрессора bz2 на Python. Статья полезная, но лично мне так и хочется ехидно прокомментировать про то что "хипстеры обнаружили для себя многопоточность". Многопоточное сжатие и другие многопоточные операции это один из многих трюков отличающих общедоступные и коммерческие продукты по обработке данных. При правильно подобранном железе и иных оптимизациях оно даёт многократное ускорение.
При этом придумывать что-то своё совершенно необязательно. Есть реализация многопоточного Gzip на Python - pgzip [2] . Есть реализация многопоточности в python-zstandard [3] и это если только говорить про компрессию, а есть и другие многопоточные задачи используемые при обработке данных.
Другое чтение, про Software defined assets [4] про новый декларативный подход управления данными и оркестрацией от команды Dagster. Не могу сказать что с лёту мне удалось понять принципиальные преимущества подхода, но почитать точно стоит
Ссылки:
[1] https://python.plainenglish.io/lossless-data-compression-and-data-decompression-pipeline-2f5391a6b7e7
[2] https://github.com/pgzip/pgzip
[3] https://python-zstandard.readthedocs.io/en/latest/multithreaded.html
[4] https://dagster.io/blog/software-defined-assets
#readings #tools #datatools
При этом придумывать что-то своё совершенно необязательно. Есть реализация многопоточного Gzip на Python - pgzip [2] . Есть реализация многопоточности в python-zstandard [3] и это если только говорить про компрессию, а есть и другие многопоточные задачи используемые при обработке данных.
Другое чтение, про Software defined assets [4] про новый декларативный подход управления данными и оркестрацией от команды Dagster. Не могу сказать что с лёту мне удалось понять принципиальные преимущества подхода, но почитать точно стоит
Ссылки:
[1] https://python.plainenglish.io/lossless-data-compression-and-data-decompression-pipeline-2f5391a6b7e7
[2] https://github.com/pgzip/pgzip
[3] https://python-zstandard.readthedocs.io/en/latest/multithreaded.html
[4] https://dagster.io/blog/software-defined-assets
#readings #tools #datatools
Medium
How to Build a Lossless Data Compression and Data Decompression Pipeline
A parallel implementation of the bzip2 high-quality data compressor tool in Python.
Интересные продукты для работы с данными и не только
- PostgresML [1] реализация системы машинного обучения внутри Postgres, только через SQL. Для настоящих фанатов Postgres
- PyScript [2] реализация языка Python на Javascript
- HARI - The First Annotation And Dataset Analytics Platform [3] - интересный коммерческий продукт для визуализации и анализа алгоритмов распознвания видео. К сожалению описания маловато
- tinypandas [4] для тех кто привык к pandas, но хочет инструмент попроще. Не знаю кому такое может пригодится, но вдруг
- Metabase 0.43 [5] новая версия Metabase, самое интересное, на мой взгляд, поддержка JSON записей в Postgres, но много чего другого тоже есть
- Reconcilation [6] инструмент для создания сервисов обогащения данных для OpenRefine, написан на Python + Flask. Нужен для тех кто пользуется OpenRefine и хочет его расширять
- Squirel [7] свежая ETL на базе Python позиционируемая как инструмент для ML.
Ссылки:
[1] https://postgresml.org/
[2] https://pyscript.net/
[3] https://www.quality-match.com/hari
[4] https://talegari.github.io/tidypandas/_build/html/index.html
[5] https://github.com/metabase/metabase/releases/tag/v0.43.0
[6] https://github.com/preftech/reconciliation
[7] https://squirrel-core.readthedocs.io/en/latest/
#opensource #tools #datatools
- PostgresML [1] реализация системы машинного обучения внутри Postgres, только через SQL. Для настоящих фанатов Postgres
- PyScript [2] реализация языка Python на Javascript
- HARI - The First Annotation And Dataset Analytics Platform [3] - интересный коммерческий продукт для визуализации и анализа алгоритмов распознвания видео. К сожалению описания маловато
- tinypandas [4] для тех кто привык к pandas, но хочет инструмент попроще. Не знаю кому такое может пригодится, но вдруг
- Metabase 0.43 [5] новая версия Metabase, самое интересное, на мой взгляд, поддержка JSON записей в Postgres, но много чего другого тоже есть
- Reconcilation [6] инструмент для создания сервисов обогащения данных для OpenRefine, написан на Python + Flask. Нужен для тех кто пользуется OpenRefine и хочет его расширять
- Squirel [7] свежая ETL на базе Python позиционируемая как инструмент для ML.
Ссылки:
[1] https://postgresml.org/
[2] https://pyscript.net/
[3] https://www.quality-match.com/hari
[4] https://talegari.github.io/tidypandas/_build/html/index.html
[5] https://github.com/metabase/metabase/releases/tag/v0.43.0
[6] https://github.com/preftech/reconciliation
[7] https://squirrel-core.readthedocs.io/en/latest/
#opensource #tools #datatools
PostgresML
PostgresML | You know Postgres. Now you know machine learning – PostgresML
Build AI apps in minutes with a GPU-powered Postgres database
Для тех кто любит сжатие данных также как это люблю я, подборка полезных ссылок:
- про сжатие CSV файла в 22 ГБ в 1.5 ГБ файла Parquet [1] включает преобразование структур данных, сжатие zstd внутри файла parquet и тд. Для сравнения оригинальный сжатый файл был около 12GB. Для работы на ноутбуках и десктопах может быть значимо.
- Bzip3 [2] автор позиционирует как замену Bzip2. Сжимает существенно лучше чем Bzip2, немного лучше чем Xz и 7Zip (LZMA2), при этом не существенно теряет в скорости. В общем надо измерять.
- PLZip [3] и LZTurbo [4] два особо быстрых декомпрессора для lzip и lz77 соответственно, важно когда скорость сжатия некритична, а скорость распаковки важна
Ссылки:
[1] https://medium.com/@deephavendatalabs/the-r-place-dataset-bf4b0d70ce72
[2] https://github.com/kspalaiologos/bzip3
[3] https://www.nongnu.org/lzip/plzip.html
[4] https://sites.google.com/site/powturbo/home
#compression #tools #opensource
- про сжатие CSV файла в 22 ГБ в 1.5 ГБ файла Parquet [1] включает преобразование структур данных, сжатие zstd внутри файла parquet и тд. Для сравнения оригинальный сжатый файл был около 12GB. Для работы на ноутбуках и десктопах может быть значимо.
- Bzip3 [2] автор позиционирует как замену Bzip2. Сжимает существенно лучше чем Bzip2, немного лучше чем Xz и 7Zip (LZMA2), при этом не существенно теряет в скорости. В общем надо измерять.
- PLZip [3] и LZTurbo [4] два особо быстрых декомпрессора для lzip и lz77 соответственно, важно когда скорость сжатия некритична, а скорость распаковки важна
Ссылки:
[1] https://medium.com/@deephavendatalabs/the-r-place-dataset-bf4b0d70ce72
[2] https://github.com/kspalaiologos/bzip3
[3] https://www.nongnu.org/lzip/plzip.html
[4] https://sites.google.com/site/powturbo/home
#compression #tools #opensource
Medium
The r/place dataset
22GB CSV -> 1.5GB Parquet
Low code добралось и до инженерии данных. Стартап Prophecy.io [1] поднял в общей сложности $38.5M за 5 раундов инвестиций создавая платформу с минимальным программированием на базе Apache Spark и Apache Airlow. Эдакий подход - антихардкор, никакой командной строки, только работа мышкой.
Интересно до чего ещё докатится волна создания low-code продуктов?
Ссылки:
[1] https://www.prophecy.io/
#startups #dataengineering #tools
Интересно до чего ещё докатится волна создания low-code продуктов?
Ссылки:
[1] https://www.prophecy.io/
#startups #dataengineering #tools
Те кто ищет продукты по работе с базами данных и при этом больше похожие на MS Access, но в облаке, обычно быстро находят Airtable, но это совсем далеко не единственный low-code и no-code продукт в этой области. О некоторых я ранее писал, а других ещё нет:
- NocoDB [1] альтернатива Airtable с открытым кодом.
- Rows [2] позиционируют себя как "переизобретение таблиц", стартап и онлайн сервис
- Clay [3] стартап с интеграцией с кучей онлайн сервисов, CRM, аналитики и т.д.
- Dataland [4] стартап и онлайн сервис ориентированный на удобство разработчиков, как универсальный фронтенд над базами данных. Пока в бета по запросу
- Tulr [5] бесплатная альтернатива Airtable. Платные тарифы тоже есть. Стартап, онлайн сервис
- StackBy [6] сервис ориентированный на маркетологов, с кучей шаблонов под их работу
- Basedash [7] ещё один сервис упрощения редактирования баз данных, словно не база, а таблица в Excel.
- Grist [8] довольно продвинутый инструмент с открытым кодом и облачный стартап.
- Smartsheet [9] корпоративный продукт, вернее продукт с корпоративной версией.
- Actiondesk [10] позволяет подключаться к СУБД и ещё и создавать аналитические интерфейсы.
А также большая подборка инструментов в списке Awesome NoCode/LowCode [11]
Ссылки:
[1] https://nocodb.com
[2] https://rows.com
[3] https://www.clay.com
[4] https://dataland.io/
[5] https://tulr.io/
[6] https://stackby.com/
[7] https://www.basedash.com/
[8] https://www.getgrist.com/
[9] https://www.smartsheet.com/
[10] https://www.actiondesk.io/
[11] https://github.com/kairichard/awesome-nocode-lowcode#database
#nocode #lowcode #tools #data
- NocoDB [1] альтернатива Airtable с открытым кодом.
- Rows [2] позиционируют себя как "переизобретение таблиц", стартап и онлайн сервис
- Clay [3] стартап с интеграцией с кучей онлайн сервисов, CRM, аналитики и т.д.
- Dataland [4] стартап и онлайн сервис ориентированный на удобство разработчиков, как универсальный фронтенд над базами данных. Пока в бета по запросу
- Tulr [5] бесплатная альтернатива Airtable. Платные тарифы тоже есть. Стартап, онлайн сервис
- StackBy [6] сервис ориентированный на маркетологов, с кучей шаблонов под их работу
- Basedash [7] ещё один сервис упрощения редактирования баз данных, словно не база, а таблица в Excel.
- Grist [8] довольно продвинутый инструмент с открытым кодом и облачный стартап.
- Smartsheet [9] корпоративный продукт, вернее продукт с корпоративной версией.
- Actiondesk [10] позволяет подключаться к СУБД и ещё и создавать аналитические интерфейсы.
А также большая подборка инструментов в списке Awesome NoCode/LowCode [11]
Ссылки:
[1] https://nocodb.com
[2] https://rows.com
[3] https://www.clay.com
[4] https://dataland.io/
[5] https://tulr.io/
[6] https://stackby.com/
[7] https://www.basedash.com/
[8] https://www.getgrist.com/
[9] https://www.smartsheet.com/
[10] https://www.actiondesk.io/
[11] https://github.com/kairichard/awesome-nocode-lowcode#database
#nocode #lowcode #tools #data
Nocodb
NocoDB Cloud
Instantly turn your Database into a No-Code Platform
В рубрике инструментов работы с данными ArangoDb [1] NoSQL СУБД для хранения документов, с акцентом на графовые данные и собственный язык запросов AQL [2].
Довольно развитый продукт, сравнимый с MongoDB по многим возможностям, со своими плюсами и ограничениями.
Из плюсов:
- JSON Native
- поддержка графовых данных
- реально свободная лицензия Apache 2 в сравнении с ограниченной SSPL у MongoDB
- поддержка JOIN՛ов (редкость для NoSQL)
Из ограничений:
- поскольку внутри JSON, то нет родных типов date и datetime, работа с датами через функции
- значительно меньшее сообщество чем у MongoDB
- по некоторым тестам ArangoDB работает медленнее чем MongoDB или OrientDB [3]
Ссылки:
[1] https://www.arangodb.com
[2] https://www.arangodb.com/docs/stable/aql/
[3] https://www.diva-portal.org/smash/get/diva2:1567918/FULLTEXT01.pdf
#tools #opensource
Довольно развитый продукт, сравнимый с MongoDB по многим возможностям, со своими плюсами и ограничениями.
Из плюсов:
- JSON Native
- поддержка графовых данных
- реально свободная лицензия Apache 2 в сравнении с ограниченной SSPL у MongoDB
- поддержка JOIN՛ов (редкость для NoSQL)
Из ограничений:
- поскольку внутри JSON, то нет родных типов date и datetime, работа с датами через функции
- значительно меньшее сообщество чем у MongoDB
- по некоторым тестам ArangoDB работает медленнее чем MongoDB или OrientDB [3]
Ссылки:
[1] https://www.arangodb.com
[2] https://www.arangodb.com/docs/stable/aql/
[3] https://www.diva-portal.org/smash/get/diva2:1567918/FULLTEXT01.pdf
#tools #opensource
ArangoDB
Home
ArangoDB is the leading multi-model database for high-performance applications. Try it now for flexible data modeling and efficient querying.
Может ли ИИ лишить работы журналистов и писателей? Может быть, когда-нибудь. А вот что он может уже сейчас - это выступить соавтором текста.
ИИ мой соавтор [1] в рассылке Stories by AI о сервисе Sudowrite использующем языковую модель GPT-3 для сонаписания текстов.
ИИ выступает в ролях:
- Помощника в мозговых штурмах
- Читателя, предоставляя автоматическую обратную связь на тексты
а также писателя и редактора.
Страшная штука, если задуматься, но, пока ещё, поддерживает только английский язык.
Сейчас это художественные тексты, а, если подумать, то можно ведь сделать сервисы написания текстов публицистических. Сонаписания научных статей, работ журналистов и так далее. Про всяческие пресс-релизы даже не говорю, для этого и ИИ не нужен.
Если подумать об этом чуть дальше, то такие усилители могут быть в разных профессиях. Например, может ли ИИ писать законы или распоряжения, переписывать ранее написанные? И нужны ли будут после этого профессии юристов и нормотворцев?
Но это вопрос, относительно, далекого будущего. А в нашем настоящем творческие профессии могут меняться уже в самом ближайшем будущем.
Ссылки:
[1] https://storiesby.ai/p/ai-is-my-co-writer
[2] https://www.sudowrite.com
#ai #tools #writing
ИИ мой соавтор [1] в рассылке Stories by AI о сервисе Sudowrite использующем языковую модель GPT-3 для сонаписания текстов.
ИИ выступает в ролях:
- Помощника в мозговых штурмах
- Читателя, предоставляя автоматическую обратную связь на тексты
а также писателя и редактора.
Страшная штука, если задуматься, но, пока ещё, поддерживает только английский язык.
Сейчас это художественные тексты, а, если подумать, то можно ведь сделать сервисы написания текстов публицистических. Сонаписания научных статей, работ журналистов и так далее. Про всяческие пресс-релизы даже не говорю, для этого и ИИ не нужен.
Если подумать об этом чуть дальше, то такие усилители могут быть в разных профессиях. Например, может ли ИИ писать законы или распоряжения, переписывать ранее написанные? И нужны ли будут после этого профессии юристов и нормотворцев?
Но это вопрос, относительно, далекого будущего. А в нашем настоящем творческие профессии могут меняться уже в самом ближайшем будущем.
Ссылки:
[1] https://storiesby.ai/p/ai-is-my-co-writer
[2] https://www.sudowrite.com
#ai #tools #writing
storiesby.ai
How GPT-3 Helps Me Write Short Stories
On how GPT-3 helps me writes short fiction
В рубрике регулярных напоминаний не могу не рассказать про сервис оценки простоты языка Простой язык (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
Это очень простой сервис который на вход получает текст на русском языке и на выходе выдает его сложность в баллах где баллы - это число лет учёбы которые необходимо пройти чтобы понимать этот текст. Например, 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
Telegram
Инфокультура
Новости Информационной культуры. https://infoculture.ru
Forwarded from Open Data Armenia (Kseniia Orlova)
[EN] Awesome list: a toolkit for text analyzis Armenian language
- Eastern Armenian National Corpus Electronic Library provides a full view of works by classical authors (these books are in the public domain because their authors died more than 70 years ago). The corpus contains 4547379 words from 104 books by 12 authors.
- Named entity recognition. pioNer — trained data for Armenian NER using Wikipedia. This corpus provides the gold standard for automatically generated annotated datasets using GloVe models for Armenian. Along with the datasets, 50-, 100-, 200-, and 300-dimensional GloVe word embeddings trained on a collection of Armenian texts from Wikipedia, news, blogs, and encyclopedias have been released.
- The Polyglot library for Python supports language detection, named entity extraction (using Wikipedia data), morphological analysis, transliteration, and sentiment analysis for Armenian.
- Kevin Bougé Stopword Lists Page includes th Armenian language.
- Ranks NL Stopword Lists Page includes the Armenian language.
If you know of new usefull tools and guides, please share that knowledge with us!
Image author Aparna Melaput
#opendata #armenia #language #tools #digitalhumanities
- Eastern Armenian National Corpus Electronic Library provides a full view of works by classical authors (these books are in the public domain because their authors died more than 70 years ago). The corpus contains 4547379 words from 104 books by 12 authors.
- Named entity recognition. pioNer — trained data for Armenian NER using Wikipedia. This corpus provides the gold standard for automatically generated annotated datasets using GloVe models for Armenian. Along with the datasets, 50-, 100-, 200-, and 300-dimensional GloVe word embeddings trained on a collection of Armenian texts from Wikipedia, news, blogs, and encyclopedias have been released.
- The Polyglot library for Python supports language detection, named entity extraction (using Wikipedia data), morphological analysis, transliteration, and sentiment analysis for Armenian.
- Kevin Bougé Stopword Lists Page includes th Armenian language.
- Ranks NL Stopword Lists Page includes the Armenian language.
If you know of new usefull tools and guides, please share that knowledge with us!
Image author Aparna Melaput
#opendata #armenia #language #tools #digitalhumanities