Телефон: 8-800-350-22-65
WhatsApp: 8-800-350-22-65
Telegram: sibac
Прием заявок круглосуточно
График работы офиса: с 9.00 до 18.00 Нск (5.00 - 14.00 Мск)

Статья опубликована в рамках: XXXVI Международной научно-практической конференции «Научное сообщество студентов XXI столетия. ТЕХНИЧЕСКИЕ НАУКИ» (Россия, г. Новосибирск, 24 ноября 2015 г.)

Наука: Информационные технологии

Скачать книгу(-и): Сборник статей конференции

Библиографическое описание:
Панькин А.В. РАЗРАБОТКА КЛИЕНТСКОГО ПРИЛОЖЕНИЯ ПОСЛОВНОГО ПЕРЕВОДА ТЕКСТА С ИСПОЛЬЗОВАНИЕМ БАЗЫ ДАННЫХ SQLITE И АВТОРСКОГО АЛГОРИТМА ШИФРОВАНИЯ ПОЛЬЗОВАТЕЛЬСКИХ И СОХРАНЕННЫХ ДАННЫХ // Научное сообщество студентов XXI столетия. ТЕХНИЧЕСКИЕ НАУКИ: сб. ст. по мат. XXXVI междунар. студ. науч.-практ. конф. № 9(35). URL: http://sibac.info/archive/technic/9(35).pdf (дата обращения: 14.05.2024)
Проголосовать за статью
Конференция завершена
Эта статья набрала 0 голосов
Дипломы участников
У данной статьи нет
дипломов


РАЗРАБОТКА  КЛИЕНТСКОГО  ПРИЛОЖЕНИЯ  ПОСЛОВНОГО  ПЕРЕВОДА  ТЕКСТА  С  ИСПОЛЬЗОВАНИЕМ  БАЗЫ  ДАННЫХ  SQLITE  И  АВТОРСКОГО  АЛГОРИТМА  ШИФРОВАНИЯ  ПОЛЬЗОВАТЕЛЬСКИХ  И  СОХРАНЕННЫХ  ДАННЫХ

Панькин  Андрей  Витальевич

студент  2-го  курса,  факультет  оптико-информационных  систем  и  технологий,  МИИГАиК, 
РФ,  г.  Москва

Е-mailDlyavyza@yandex.com

 


В  настоящее  время,  с  развитием  сетей  и  коммуникаций,  когда  мир  все  больше  подвергается  глобализации,  а  границы  в  коммуникабельности  людей  размываются,  общение  и  обмен  информацией  давно  приняли  интернациональный  характер.  В  таком  обществе  возникает  потребность  владеть  другими  иностранными  языками,  в  частности,  общепринятым  английским  языком.  На  сегодняшний  день  перевод  информации  с  какого-либо  иностранного  языка  осуществляется  в  несколько  кликов  мышки  или  касаний  по  экрану  смартфона,  появились  приложения,  способные  перехватывать  текст  с  камеры  мобильного  телефона  и  обрабатывать  его  в  реальном  режиме  времени.  Существуют  также  популярные  онлайн  сервисы,  имеющие  сопутствующее  ПО,  от  таких  компаний  как  “Google”,  «Яндекс»  и  др.,  которые  предлагают  машинный  перевод  текста,  прослушивание  его  правильного  произношения  и  транскрипцию  слов.


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


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


Для  этого  мною  был  разработан  аналог  программного  обеспечения  (ПО),  удовлетворяющий  поставленной  задаче.  ПО  выполнено  на  языке  JAVA  под  мобильную  платформу  Android  с  использованием  базы  данных  SQlite  [1],  API  «Яндекс  переводчика»  [2]  [3]  и  собственного  алгоритма  шифрования.


Основу  программы  составляет  клиентское  однооконное  приложение  (Рис.  1),  главное  назначение  которого  состоит  в  выполнении  двух  основных  задач:


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


2.  представление  обработанных  данных  в  виде  списка  прокрутки  парой:  «исходное  слово»  –  «перевод».  Перевод  может  быть  выполнен  с  помощью  подключенного  свободно  распространяемого  API  «Яндекс  переводчика»  (далее  просто  API),  пользовательской  заполненной  базы  данных  SQlite  или  с  помощью  комбинированного  метода  с  выбором  приоритета  (перевод  знакомых  слов  из  ранее  составленной  БД  или  с  использованием  API).


 



Рисунок  1.  Интерфейс


 


Основные  возможности  (опции)  разработанного  клиентского  программного  приложения  состоят  в  следующем:


1.  Перевод  текста  с  использованием  пользовательской  БД  или/и  API.  При  этом  заполнение  базы  данных  слов  происходит  путем  добавления  их  в  ручном  режиме  по  одному  через  встроенную  форму  или  автоматически  группами  при  переводе  через  API.


2.  Возможность  зарегистрировать  и  использовать  свой  API  ключ,  так  как  у  вшитого  бесплатного  API  ключа  есть  лимиты  на  число  запросов,  которые  могут  быть  превышены  при  общем  массовом  использовании.


3.  Возможность  защиты  пользовательских  и  сохраненных  данных,  включенным  в  программу  авторским  алгоритмом  шифрования.  Этот  алгоритм  осуществляет  как  шифрование  переводов  текста  и  хранение  БД  в  закриптовонном  виде,  так  и  элементарную  и  минимальную  защиту  от  любопытных  глаз  важнейших  констант  программы,  в  том  числе  встроенного  API  ключа.  Если  зашифровать  необходимые  сведения  данным  алгоритмом,  а  ключ  для  расшифрования  будет  храниться  по  частям  в  разных  областях  кода,  применив  к  java  классам  обфускацию  (процесс  для  разбиения  класса  на  множество  классов  и  запутывания  кода,  делая  его  для  человека  плохо  читаемым),  мы  получим  определенную  защиту  важных  сведений  программы.  Отметим,  что  реверсинг  (англ.,  reversing  –  обратный  процесс,  получение  исходного  кода  программы  из  ее  уже  скомпилированных  частей)  android  java  приложений  без  защиты  является  легко  доступным  и  простым  средством  для  получения  конфиденциальной  информации  из  тела  уже  собранной  программы.


4.  Распознавание  однокоренных  слов  для  перевода  с  помощью  БД.


5.  Выбор  языка  при  переводе  с  помощью  API,  включая  автоматическое  распознание.


6.  Дополнительные  функции:


6.1.  Возможность  задать  ключ  шифрования/дешифрования  выше  описанных  операций


6.2.  Сохранение  БД  и  переведенных  текстов


6.3  Просмотр  БД,  редактирование  и  удаление  ее  элементов


6.4.  Экспорт  и  импорт  БД  в  файл 


6.5.  Масштабирование  текста 


Возможность  настройки  пользовательских  тем  интерфейса  и  повышение  его  эргономики  и  удобства  в  последующих  версиях  ПО.

Выводы  и  перспективы


1.  Разработанное  клиентское  приложение,  позволяет  с  легкостью  разбить  текст  на  минимальные  фрагменты,  получить  их  перевод  и  составить  на  их  основе  логически  и  синтаксически  верное  предложение.  Данную  операцию  нет  необходимости  выполнять  каждый  раз  повторно  в  ручном  режиме.  Встроенная  база  данных  SQlite  заполняется  с  использованием  API  “Яндекс  переводчика”  для  последующей  работы  в  режиме  «офлайн».  Приложение  отлично  подойдет  для  работы  с  техническими  и  узкоспециализированными  текстами,  по  мере  постепенного  заполнения  пользовательской  базы  данных  новыми  встречающимися  и  изученными  словами.  Данное  приложение  будет  востребованным  среди  людей,  плохо  квалифицированных  в  иностранных  языках  и  тех,  кто  только  проходит  обучение  иностранному  языку.


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


3.  Представленное  программное  приложение  перевода  текста  может  быть  применено  не  только  по  своему  прямому  назначению.  Используя  полученные  наработки,  данный  исходный  код  может  быть  использован  (дополнительно  к  задаче  шифрования)  для  защиты  конфиденциальных  данных  путем  метода  стеганографии  (скрытие  смысла  или/и  факта  передачи  информации).  Для  ранее  написанных  текстов  (без  специально  искаженного  смысла)  исходные  слова  могут  быть  заменены  на  слова  из  БД  словами  жаргонами  и  диалектиками  ограниченных  кругов  лиц,  таким  образом,  чтобы  даже  расшифрованный  текст  не  давал  стопроцентной  открытой  информации.  Таким  образом,  в  перспективе  разработанное  клиентское  программное  приложение  планируется  преобразовать  в  комплекс  клиентских  программ  и  создать  на  их  основе  программное  обеспечение  с  расширенными  потенциальными  возможностями.


 

Список  литературы:

  1. Варакин  М.  Разработка  мобильных  приложений  под  Android.  Курс  I.  Москва:  УЦ  «Специалист»,  2012.  –  128  с.
  2. Дейтел  П.,  Дейтел  Х.,  Дейтел  Э.,  Моргано  М.  Android  для  программистов:  создаём  приложения.  СПб.:  Питер,  2013.  –  560  с.:  ил.
  3. Хашими  С.,  Коматинени  С.,  Маклин  Д.  Разработка  приложений  для  Android.  СПб.:  Питер,  2011.  –  736  с.:  ил.
Проголосовать за статью
Конференция завершена
Эта статья набрала 0 голосов
Дипломы участников
У данной статьи нет
дипломов

Оставить комментарий

Форма обратной связи о взаимодействии с сайтом
CAPTCHA
Этот вопрос задается для того, чтобы выяснить, являетесь ли Вы человеком или представляете из себя автоматическую спам-рассылку.