В статье автор обосновывает актуальность разработки программного модуля автодополнения и описания слов.
Ключевые слова: автодополнение, программный модуль, разработка, слово.
В эпоху бурного развития информационных технологий и быстрой цифровизации различных отраслей бизнеса скорость написания текста в различных текстовых редакторах и редакторах программного кода играет важнейшую роль для: быстрого создания различных документов, написания программного кода, настройки различных программ. Одним из средств, помогающих ускорить выполнение вышеперечисленных задач, является программа автодополнения слов.
Автодополнение — это функция, с помощью которой приложение выводит список слов, подходящих под комбинацию символов, которую вводит пользователь.
Автодополнение ускоряет взаимодействие человека с компьютером, выводя список слов, которое пользователь, возможно, хочет ввести после того, как в поле ввода текста было введено его несколько символов. Оно лучше всего работает в программах с ограниченным количеством возможных слов (например, в интерпретаторах командной строки), когда некоторые слова гораздо более распространены (например, при адресе электронной почты) или при написании структурированного и предсказуемого текста (как в исходном коде).
В текстовых редакторах или средах разработки присутствуют функции автодополнения слов. Они позволяют значительно ускорить набор текста и программного кода, экономя время человека. Можно просто щелкнуть на нужное слово в появившемся окне с предложенными словами вместо того, чтобы вводить слово целиком. Вы также можете нажать стрелку вниз/вниз на клавиатуре, чтобы прокрутить список слов, а затем нажать Enter, чтобы выбрать одно из них.
Изначально цель программного обеспечения для автодополнения слов заключалась в том, чтобы помочь людям с физическими недостатками увеличить скорость набора текста [1], а также помочь им уменьшить количество нажатий клавиш, необходимых для завершения слова или предложения [2]. Но эта функция чрезвычайно полезна для всех, кто пишет текст, особенно для людей, например, врачей, которые часто используют длинную, трудную для написания терминологию, которая может иметь технический или медицинский характер.
Эффективность автодополнения слов основана на средней длине набранных слов. Если, например, текст состоит из языков программирования, которые часто имеют длинные имена из нескольких слов для переменных, функций или классов, завершение полезно и обычно применяется в редакторах, специально предназначенных для программистов, таких как Sublime Text 3, IntelliJ IDEA, Visual Studio Code. В разных языках длина слова может сильно отличаться. Так, например средняя длина английских слов в словаре из более чем 100 000 слов составляет 8,93, для чешского — 10,55 и для немецкого — 13,24. Кроме того, в некоторых языках, таких как немецкий, называемых фузионными языками, а также в агглютинативных языках, слова можно комбинировать, создавая даже более длинные слова [3].
Люди, которые часто используют очень длинные слова, например, врачи и программисты, даже больше нуждаются в программном обеспечении для автодополнения (завершения слов), чем другие остальные.
Во многих частях программы, созданной предприятием, существует необходимость вводить длинные названия ключевых слов в течение 3–5 сек, а при совершении ошибок значительно больше. Это сильно замедляет процесс настройки программы для ее корректного функционирования.
Также, чтобы использовать необходимые ключевые слова по их прямому назначению, необходимо обращаться к документации, заходя на официальный сайт компании, и искать описание конкретного слова на странице.
В ходе предварительных исследований проведен анализ существующих решений на предмет удовлетворения требований, необходимым предприятия, к программе автодополнения. При анализе учитывался не только необходимый функционал: выпадающий список, описание слова, выбор с помощью устройств ввода, но и дополнительные возможности, облегчающие использование решение; также учитывались требования компании к технологиям, которые должны использоваться при создании программного модуля. Результаты анализа представлены в таблице 1.
Таблица 1
Сравнительный анализ существующих решений
Решение Критерий |
swingx |
Uberi Autocomplete |
GlazedList |
TypingAid |
Выпадающий список |
Да (с ограничениями) |
Да |
Да (с ограничениями) |
Да |
Подсветка слова при наведении |
Да |
Да |
Да |
Да |
Описание подсвеченного слова |
Нет |
Нет |
Нет |
Нет |
Выбор слов с помощью мыши и клавиатуры |
Да |
Да |
Да |
Да |
Решение на Java Swing |
Да |
Нет |
Да |
Нет |
Не является сторонней программой |
Да |
Нет |
Да |
Нет |
Поскольку существующие решения не удовлетворяют требованиям предприятия, то для ускорения набора ключевых слов и просмотра их документации, было принято решение разработать программный модуль автодополнения и описания слов, решающий данную задачу.
Литература:
- Tam, Cynthia Evaluating the Benefits of Displaying Word Prediction Lists on a Personal Digital Assistant at the Keyboard Leve / Cynthia Tam, David Wells. — Текст: непосредственный // Assistive Technology. — 2009. — Volume 21, Issue 3. — С. 105–114.
- Anson, Denis The Effects of Word Completion and Word Prediction on Typing Rates Using On-Screen Keyboards / Denis Anson, Penni Moist, Mary Przywara, Heather Wells, Heather Saylor, Hantz Maxime — Текст: непосредственный // Assistive Technology. — 2006. — Volume 18. — С. 146–154.
- Sojka, Petr Notes on Compound Word Hyphenation in TEX / Petr Sojka. — Текст: непосредственный // TUGboat. — 1995. —Volume 16, No.3 — Proceedings of the 1995 Annual Meeting. — С. 290–296.