opendataam / opendatam-tasks

Public tasks for volunteers, hackathons and contests
Creative Commons Zero v1.0 Universal
8 stars 0 forks source link

[RU] Собрать данные об армянских промышленных патентах #26

Open ansakoy opened 1 year ago

ansakoy commented 1 year ago

Цель

Собрать данные об армянских промышленных патентах.

Задачи

Чтобы собрать данные со страницы https://aipo.am/ru/search-int-classification, нужно иметь какой-то исчерпывающий принцип, по которому можно извлечь все записи. Таким принципом представляется классификатор Международная классификация промышленных образцов (МКПО) (https://classinform.ru/mkpo.html), коды из которого можно использовать для подбора записей. Предположительно, по итогам применения всех кодов, можно будет получить все записи, которые может предложить сервис.

Фактически для каждого из кодов МКПО нужно получить список найденных записей. Из этого списка следует получить ID каждой записи ("Номер свидетельства"). Затем этот ID можно использовать при формировании ссылки на подробное описание каждой записи (в веб-интерфейсе появляется во вспомогательном окне). Эти данные нужно собрать в набор в открытом машиночитаемом формате (JSON, XML, CSV). В случае, когда данные доступны на нескольких языках (а такое бывает), желательно собрать варианты для всех языков.

В описаниях, помимо текста, присутствуют также изображения. С ними можно поступить двояко:

Сервис доступен на армянском, русском и английском языках.

Контекст

Агентство интеллектуальной собственности Республики Армения публикует данные о патентах (https://aipo.am/ru/search-int-classification). Проблема в том, что там доступен только поиск, сполучить список патентов по какому-либо заданному признаку невозможно. Собрав эти данные, их можно использовать (со ссылкой на источник, разумеется) для разного рода аналитики, недоступной при посредстве интерфейса на сайте публикатора.

Требования

Нужно создать публичный репозиторий на Гитхабе, в котором будут храниться код и данные, опубликованные по свободной и открытой лицензии, например Creative Commons или MIT.

Пожелания

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

Ресурсы

https://aipo.am/ru/search-int-classification - собственно страница с данными https://classinform.ru/mkpo.html - справочник МКПО

Авторы задачи

Задачу подготовила команда Open Data Armenia.

Damir-k commented 4 months ago

Возьму эту задачу, в скором времени сделаю. Если не напишу через 5 дней, значит у меня не получилось

Damir-k commented 4 months ago

Пока работал над этой задачей, оказалось, что не у всех патентов есть МКПД (МКПО), но сертификаты видимо выдаются с инкрементальными ID, поэтому недостающие можно получить запросами по единичным патентам

К примеру, сертификат №8 не имеет МКПД

Damir-k commented 4 months ago

Я частично выполнил задание :) Пока что собрал все коды МКПО в json файл и все сертификаты с ссылками на их подробное описание для каждого языка

Репозиторий: https://github.com/Damir-k/armenian-patents/tree/v1.0.0 Посмотрите в папке data/ или архив в Releases Ничего ведь, что весь проект на английском?

Damir-k commented 4 months ago

Пока работал над этой задачей, оказалось, что не у всех патентов есть МКПД (МКПО), но сертификаты видимо выдаются с инкрементальными ID, поэтому недостающие можно получить запросами по единичным патентам

К примеру, сертификат №8 не имеет МКПД

Да, кстати, если что в ICID.json есть дубликаты (некоторые патенты имеют несколько категорий) и есть пропуски! patents.json содержат все патенты только 1 раз без пропусков

Damir-k commented 4 months ago

Опубликовал версию 2: https://github.com/Damir-k/armenian-patents/tree/v2.0.0

Задание выполнено в полном объеме :)

В ближайшем будущем может добавлю комментарии и какой-нибудь requirements, в README должно быть все достаточно описано

ansakoy commented 4 months ago

Супер, спасибо большое! В ближайшее время посмотрю в подробностях.

dkagramanyan commented 2 months ago

@ansakoy kindly reminder about the data above. My student worked hard to solve the problem 🙃