Применение возможностей Python для автоматизации патентно-лицензионной работы | Статья в журнале «Молодой ученый»

Отправьте статью сегодня! Журнал выйдет 18 мая, печатный экземпляр отправим 22 мая.

Опубликовать статью в журнале

Автор:

Рубрика: Технические науки

Опубликовано в Молодой учёный №31 (165) август 2017 г.

Дата публикации: 03.08.2017

Статья просмотрена: 850 раз

Библиографическое описание:

Кучуков, В. А. Применение возможностей Python для автоматизации патентно-лицензионной работы / В. А. Кучуков. — Текст : непосредственный // Молодой ученый. — 2017. — № 31 (165). — С. 8-11. — URL: https://moluch.ru/archive/165/45298/ (дата обращения: 08.05.2024).



Рассмотрены инструменты для автоматизации работы по заполнения документов, необходимых при подаче заявки на регистрацию программ для ЭВМ и баз данных. Описаны возможности языка программирования Python для решения поставленной задачи, обозначены перспективы для дальнейшей работы.

Ключевые слова: Python, PyQt5, python-docx, программа для ЭВМ, база данных

Введение. Переход отечественной экономики от сырьевой к высокотехнологичной невозможен без развития рынка интеллектуальной собственности. Исследования показывают, что показатели изобретательской активности, практического использования патентов в России растут, хотя и остаются на довольно низком уровне [1]. Получение патента позволяет защитить разработку, ограничить её неправомерное использование. Для получения патентов на изобретение и полезную модель необходимо заполнение заявления о выдаче патента Российской Федерации, согласия на обработку персональных данных.

Необходимость в регистрации объектов авторского права, к которым относятся программы для ЭВМ и базы данных, возникает для подтверждения авторства разработки и её последующей коммерциализации. Свидетельства о регистрации часто используются сотрудниками и обучающимися высших учебных заведений для отчетности по грантам, при написании квалификационных работ и диссертационных исследований.

Для регистрации в Федеральном институте промышленной собственности необходимо заполнить ряд документов: заявление о государственной регистрации программы для ЭВМ или базы данных, дополнение к заявлению, согласие на обработку персональных данных, согласие на указание сведений об авторе и т.д. [2] В вузе, возможно, потребуется заполнить ряд других документов. При этом они являются юридически значимыми и требуют внимательного заполнения. Даже незначительные отличия в одних и тех же полях документов может привести к отзыву заявок. По данным годового отчета ФИПС за 2016 год, за последние 5 лет подано 66756 заявок на регистрацию программ для ЭВМ и 8914 заявок на регистрацию баз данных, из них зарегистрировано 64417 и 8186 заявок соответственно. Отсюда следует, что 3-8% заявок не проходят регистрацию, что является нежелательным ввиду частой срочной необходимости в данной регистрации и потери уплаченной пошлины.

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

В организациях, таких как вуз, количество регистрируемых результатов интеллектуальной деятельности может достигать десятков и даже сотен в год, поэтому встает вопрос автоматизации заполнения утвержденных форм документов, чтобы избежать ошибок заполнения. Средством для автоматизации был выбран язык программирования Python 3.5, а именно 32-битная версия, поскольку подключаемые в дальнейшем библиотеки требуют именно эту разрядность.

Графический интерфейс. По умолчанию работа в Python ведётся в интерпретаторе, что по существу является консольным приложением. Однако для большинства пользователей использование консоли является неприемлемым, и встает вопрос о разработке графического интерфейса. Для 32-битного Python 3.5 существует библиотека PyQt5, являющаяся расширением фреймворка Qt на язык Python, необходимая для создания графического интерфейса. Интерфейс программы представлен на рисунке 1.

Рис. 1. Интерфейс программы

Интерфейс был создан посредством подключения ряда модулей. Для создания элементов классических пользовательских интерфейсов был подключен модуль QtWidgets, в котором выбирались следующие классы: QApplication, QWidget, QGroupBox, QRadioButton, QVBoxLayout, QHBoxLayout, QLabel, QPushButton, QLineEdit, QSpinBox, QScrollArea, QDateEdit, QTextEdit, QComboBox, QMessageBox, QFileDialog, QProgressBar. Рассмотрим их применение. Класс QApplication использовался для создания объекта приложения и для взаимодействия с операционной системой, а именно для получения размеров рабочего стола. Класс QWidget является родителем разработанного класса, а также используется отдельно как контейнер для вложенных элементов. Класс QGroupBox позволяет объединить в группу элементы, например, переключатели QRadioButton, используемые в данной программе для выбора регистрируемого объекта.

Поскольку в программе с динамически изменяемым содержимым абсолютное позиционирование было бы неэффективным, для горизонтального и вертикального выравнивания элементов на форме были использованы соответственно классы QHBoxLayout и QVBoxLayout. Добавление в контейнеры виджетов и других контейнеров происходит с помощью методов addWidget() и addLayout(). Помимо стандартных меток QLabel, кнопок QPushButton, и однострочных надписей QLineEdit в программе использовалось поле ввода целых чисел QSpinBox, которое указывало количество авторов результата интеллектуальной деятельности. При изменении значения в экземпляре QSpinBox происходит вызов функции, которая перерисовывает блок ввода информации об авторах, помещенный в контейнер QScrollArea, предусматривающий возможность прокрутки. В зависимости от переданного значения количества авторов программа уменьшает или увеличивает количество полей ввода.

При вводе сведений об авторах следует упомянуть класс QDateEdit, позволяющий вызывать методом setCalendarPopup(True) календарь для получения даты и тип QDate из модуля QtCore. Объекты класса QDate позволяют получить как сегодняшнюю дату, так и хранить в удобной форме дату, полученную от элемента QDateEdit [3].

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

В целом разработка графического интерфейса с помощью инструмента PyQt5 довольно трудоемкий процесс. И хотя есть средство Qt Designer автоматизирующее разработку дизайна, но выходной файл имеет своё расширение, и файл необходимо целиком подгружать в свой проект, без возможности точной подстройки в коде. Данный файл можно конвертировать в код на языке python, но тогда все дальнейшие изменения придется вносить вручную уже в этом коде.

Экспорт документов. Описанная выше форма способна получить все необходимые данные, однако образцы документов для отправки в ФИПС имеют строгую и довольно сложную форму, которую трудно воссоздать программно, например, в Latex, поэтому возникла задача редактирования именно шаблонов документов ФИПС. Изначально данные шаблоны были представлены в устаревшем формате doc и для редактирования современными средствами были преобразованы в формат docx.

Для работы с документами в формате docx на python существует библиотека python-docx, способная создавать новые и редактировать существующие документы [4]. Функциональность данной библиотеки ограничена, в основном она способна добавлять абзацы, слова, таблицы, строки и столбцы таблиц, но не способна удалять их. Также существуют сложности с редактированием сложных объектов, таких как гиперссылки и флажки, которые присутствуют в формах на регистрацию результата интеллектуальной деятельности. За счет этого пришлось создать ряд шаблонов с уже отмеченными флажками.

Для открытия документов в данной библиотеке предусмотрен класс Document(). Если в скобках атрибуты не указаны, то создается новый документ, если указаны путь и имя в виде строки, то открывается существующий файл, например, "filename.docx".

Документ, с которым ведется работа, имеет несколько упрощенную структуру, а именно состоит из параграфов (paragraphs) и таблиц (tables), доступ к которым осуществляется по индексу. Параграфы состоят из элементов runs, содержащих отдельные слова и элементы. Если параграф задает общий стиль текста, такой как выравнивание, то для элементов runs доступны стилевые свойства, применяемые непосредственно к тексту, а именно различные виды начертания, курсив, подчеркивание и т.д. Каждая таблица имеет массив строк (rows), состоящих из ячеек (cells), таким образом для доступа к первой ячейке первой строки первой таблицы необходимо ввести NameDocx.tables[0].rows[0].cells[0].text. Текст в каждой ячейке состоит из параграфов, взаимодействие с которыми аналогично взаимодействию с параграфами вне таблиц.

Доступ к элементам текста возможет при использовании циклов, например, чтобы вывести содержимое всех параграфов документа NameDocx, необходимо написать следующий цикл:

for paragraph in NameDocx.paragraphs:

for cell in paragraph.cells:

print(cell.text)

Сохранение отредактированного документа возможно с помощью метода save():

NameDocx.save(“New_doc.docx”)

Заключение: Таким образом, применение python и подключенных модулей позволило автоматизировать заполнение документов заявки на регистрацию программы для ЭВМ или базы данных. Однако для использования данной программы на компьютере пользователя должен быть установлен сам Python и модули PyQt5 и python-docx. Существуют модули, например, cx_Freeze, способные создать из кода на языке python исполняемый exe файл, однако данный модуль некорректно работает с модулем python-docx и решить проблему переноса программы на другие компьютеры на данном этапе работы пока не удалось. Однако достигнутые результаты позволяют на 80% сократить время заполнения документов и избежать формальных ошибок.

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

Литература:

1. Кузнецова Л. А. Рынок интеллектуальной собственности и его развитие в России: автореф. дис. на соиск. учен. степ. канд. эконом. наук: – Воронеж.–2013.–23 с.

2. Кучуков В.А. Особенности оформления документов для государственной регистрации программ для ЭВМ и баз данных // Молодой ученый. — 2016. — №16. — С. 254-256.

3. Python 3 и PyQt 5. Разработка приложений / Н. А. Прохоренок, В. А. Дронов. — СПб.: БХВ-Петербург, 2016. — 832 с

4. Sweigart A. Automate the Boring Stuff with Python: Practical Programming for Total Beginners. – No Starch Press, 2015.

Основные термины (генерируются автоматически): баз данных, графический интерфейс, интеллектуальная деятельность, класс, автоматизация заполнения, автоматизация работы, заполнение документов, интерфейс программы, регистрация программ, ряд документов.


Ключевые слова

база данных, программа для ЭВМ, python, PyQt5, python-docx

Похожие статьи

Автоматизация разработки чертежей AutoCad на основе...

Результатом работы программы является графический файл, готовый к открытию, корректировке, печати и пр. (рис. 1).

2. Автоматизация с использованием API-интерфейса.

Особенности оформления документов для государственной...

баз данных, государственная регистрация программы, интеллектуальная деятельность, пункт, автор, ЭВМ, Правило оформления заявки, правило оформления, административный регламент, Экспортный контроль.

Анализ существующего программного обеспечения для...

Для автоматизации работы предприятия на рынке в наше время имеются как зарубежные, так и отечественные программные продукты.

– возможность как ручного, так и автоматизированного заполнения базы данных.

Анализ современных средств автоматизации офисного...

Программы, обеспечивающие работу по созданию и накоплению баз данных - СУБД и встроенная СУБД HSQLDB.

Visio, CorelDraw. Программы для обработки графических изображений - векторный графический редактор.

Тестирование графического интерфейса (GUI testing)

Вход / Регистрация.

GUI означает графический интерфейс пользователя, где вы взаимодействуете с компьютером, используя изображения, а не текст.

О технологии организация web-интерфейса к базе данных.

Организация базы данных в автоматизированных системах

Вход / Регистрация.

Автоматизация обработки данных с помощью ЭВМ требует в свою очередь построения рациональных потоков информации, формализации

Система управления базами данных (СУБД) включает комплекс программ для ввода данных, загрузки и...

Программное обеспечение для автоматизации информационных...

Программы экономического предназначения обширно употребляются в автоматизации учёта в организациях.

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

О технологии организация web-интерфейса к базе данных

Ключевые слова:web-интерфейс, информационная система, база данных. В настоящее время используется большое количество различных информационных систем, которые предназначены для автоматизации различных процессов.

Автоматизация системы управления в сфере учета и управления...

Так, чтобы ускорить работу, можно до проведения инвентаризации произвести автоматическое заполнение документа «Инвентаризация товаров на складе» сведениями об остатках товаров на складе, которые содержатся в информационной базе...

Автоматизация разработки чертежей AutoCad на основе...

Результатом работы программы является графический файл, готовый к открытию, корректировке, печати и пр. (рис. 1).

2. Автоматизация с использованием API-интерфейса.

Особенности оформления документов для государственной...

баз данных, государственная регистрация программы, интеллектуальная деятельность, пункт, автор, ЭВМ, Правило оформления заявки, правило оформления, административный регламент, Экспортный контроль.

Анализ существующего программного обеспечения для...

Для автоматизации работы предприятия на рынке в наше время имеются как зарубежные, так и отечественные программные продукты.

– возможность как ручного, так и автоматизированного заполнения базы данных.

Анализ современных средств автоматизации офисного...

Программы, обеспечивающие работу по созданию и накоплению баз данных - СУБД и встроенная СУБД HSQLDB.

Visio, CorelDraw. Программы для обработки графических изображений - векторный графический редактор.

Тестирование графического интерфейса (GUI testing)

Вход / Регистрация.

GUI означает графический интерфейс пользователя, где вы взаимодействуете с компьютером, используя изображения, а не текст.

О технологии организация web-интерфейса к базе данных.

Организация базы данных в автоматизированных системах

Вход / Регистрация.

Автоматизация обработки данных с помощью ЭВМ требует в свою очередь построения рациональных потоков информации, формализации

Система управления базами данных (СУБД) включает комплекс программ для ввода данных, загрузки и...

Программное обеспечение для автоматизации информационных...

Программы экономического предназначения обширно употребляются в автоматизации учёта в организациях.

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

О технологии организация web-интерфейса к базе данных

Ключевые слова:web-интерфейс, информационная система, база данных. В настоящее время используется большое количество различных информационных систем, которые предназначены для автоматизации различных процессов.

Автоматизация системы управления в сфере учета и управления...

Так, чтобы ускорить работу, можно до проведения инвентаризации произвести автоматическое заполнение документа «Инвентаризация товаров на складе» сведениями об остатках товаров на складе, которые содержатся в информационной базе...

Похожие статьи

Автоматизация разработки чертежей AutoCad на основе...

Результатом работы программы является графический файл, готовый к открытию, корректировке, печати и пр. (рис. 1).

2. Автоматизация с использованием API-интерфейса.

Особенности оформления документов для государственной...

баз данных, государственная регистрация программы, интеллектуальная деятельность, пункт, автор, ЭВМ, Правило оформления заявки, правило оформления, административный регламент, Экспортный контроль.

Анализ существующего программного обеспечения для...

Для автоматизации работы предприятия на рынке в наше время имеются как зарубежные, так и отечественные программные продукты.

– возможность как ручного, так и автоматизированного заполнения базы данных.

Анализ современных средств автоматизации офисного...

Программы, обеспечивающие работу по созданию и накоплению баз данных - СУБД и встроенная СУБД HSQLDB.

Visio, CorelDraw. Программы для обработки графических изображений - векторный графический редактор.

Тестирование графического интерфейса (GUI testing)

Вход / Регистрация.

GUI означает графический интерфейс пользователя, где вы взаимодействуете с компьютером, используя изображения, а не текст.

О технологии организация web-интерфейса к базе данных.

Организация базы данных в автоматизированных системах

Вход / Регистрация.

Автоматизация обработки данных с помощью ЭВМ требует в свою очередь построения рациональных потоков информации, формализации

Система управления базами данных (СУБД) включает комплекс программ для ввода данных, загрузки и...

Программное обеспечение для автоматизации информационных...

Программы экономического предназначения обширно употребляются в автоматизации учёта в организациях.

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

О технологии организация web-интерфейса к базе данных

Ключевые слова:web-интерфейс, информационная система, база данных. В настоящее время используется большое количество различных информационных систем, которые предназначены для автоматизации различных процессов.

Автоматизация системы управления в сфере учета и управления...

Так, чтобы ускорить работу, можно до проведения инвентаризации произвести автоматическое заполнение документа «Инвентаризация товаров на складе» сведениями об остатках товаров на складе, которые содержатся в информационной базе...

Автоматизация разработки чертежей AutoCad на основе...

Результатом работы программы является графический файл, готовый к открытию, корректировке, печати и пр. (рис. 1).

2. Автоматизация с использованием API-интерфейса.

Особенности оформления документов для государственной...

баз данных, государственная регистрация программы, интеллектуальная деятельность, пункт, автор, ЭВМ, Правило оформления заявки, правило оформления, административный регламент, Экспортный контроль.

Анализ существующего программного обеспечения для...

Для автоматизации работы предприятия на рынке в наше время имеются как зарубежные, так и отечественные программные продукты.

– возможность как ручного, так и автоматизированного заполнения базы данных.

Анализ современных средств автоматизации офисного...

Программы, обеспечивающие работу по созданию и накоплению баз данных - СУБД и встроенная СУБД HSQLDB.

Visio, CorelDraw. Программы для обработки графических изображений - векторный графический редактор.

Тестирование графического интерфейса (GUI testing)

Вход / Регистрация.

GUI означает графический интерфейс пользователя, где вы взаимодействуете с компьютером, используя изображения, а не текст.

О технологии организация web-интерфейса к базе данных.

Организация базы данных в автоматизированных системах

Вход / Регистрация.

Автоматизация обработки данных с помощью ЭВМ требует в свою очередь построения рациональных потоков информации, формализации

Система управления базами данных (СУБД) включает комплекс программ для ввода данных, загрузки и...

Программное обеспечение для автоматизации информационных...

Программы экономического предназначения обширно употребляются в автоматизации учёта в организациях.

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

О технологии организация web-интерфейса к базе данных

Ключевые слова:web-интерфейс, информационная система, база данных. В настоящее время используется большое количество различных информационных систем, которые предназначены для автоматизации различных процессов.

Автоматизация системы управления в сфере учета и управления...

Так, чтобы ускорить работу, можно до проведения инвентаризации произвести автоматическое заполнение документа «Инвентаризация товаров на складе» сведениями об остатках товаров на складе, которые содержатся в информационной базе...

Задать вопрос