======== Информация по iTAP ========= Данный текст был написан с целью обобщения всех сведений, собранных мной, о технологии предективного ввода текста iTAP, разработанного Lexicus для компании Motorola с целью внедрения данной технологии в программное обеспечение мобильных телефонов, как противопоставление T9. ------------------------------------- В данном тексте использованы следующие ресурсы интернет: ==>Материалы форума www.motofan.ru ==>Материалы с интернет-энциклопедии wikipedia. ==>http://www.inference.phy.cam.ac.uk/mackay/itprnn/itap/ ==>http://wiki.howardforums.com/index.php/SHX_File_Modding_Guide#Lang_Pack_BIN а так же мои личные опыты и изыскания :) ------------------------------------- 1. ОБЩЕЕ О ТЕХНОЛОГИИ ПРЕДЕКТИВНОГО ВВОДА ТЕКСТА iTAP Итак, как уже было описано раньше, iTAP был создан как противовес набирающему популярность предективному языку ввода T9 одним из подразделений компании Motorola под названием Lexicus. Суть работы всех предективных языков сводится к следующему. Так как при разработке мобильных телефонов(хотя предиктивные языки ввода используются не только для программного обеспечения мобильных телефонов) достаточно проблематично выполнять полноценную клавиатуру, что затрудняло возможность использовать текстовый ввод с 11-ти кнопочных клавиатур телефонов. Первым решением проблемы было внедрение в програмное обеспечение так называемого "маппинга" (letter mapping, сейчас существует множество различных способов маппинга, например TAP, но суть остается той же), который работал используя принципы распределения нескольких букв алфавита на каждой кнопке клавиатуры телефона и ввода символов при помощи последовательного нажатия на кнопку. Данный способ ввода был довольно не эффективен и у разработчиков ПО возникло желание сделать технологию ввода удобнее, например так, чтобы при однократном нажатии кнопки, телефон(или другое устройство) подбирало оптимальное сочетание символов, как бы "угадывая" слово, которое хотел ввести пользователь. Решением могло служить, в силу того, что искуственного интелекта, пока, не существует, создание структуры, которая бы содержала большое количество слов, часто используемых при эксплуатации телефона. Так родился Т9 - система ввода текста, которая выбирала требуемое слово из своего собственного текстового словаря, по соответствию с введенными пользователем кодами кнопок. На примере это выглядит так: При вводе 22737 язык выбирает из своего словаря слово у которого кодировка символов совпадает с кодировкой определенных кнопок - ACRES, BARDS, BARER, BARES, BASER, BASES, CAPER, CAPES, CARDS, CARES, CASES, а затем пользователь может выбрать необходимое ему слово. Lexecus, пошла дальше. Ее програмисты создали iTAP, технологию предективного ввода текста, которая имела более высокую скорость работы и главное отличие от принципа работы Т9 - iTAP может "запоминать" слова, которых нет в "стартовом"(далее он будет упомянаться как основной) словаре, сохраняя их в динамический словарь. Недостатком iTAP явился недостаточный обьем основного словаря(по сравнению с Т9) и тот факт, что основной словарь является статическим. ------------------------------------- 2. ОБЩИЕ СВЕДЕНИЯ О СТРУКТУРЕ ТЕХНОЛОГИИ iTAP В данном разделе я попытаюсь изложить все, что я знаю о структуре iTAP в общем виде. Будет рассмотрен iTAP для P2K телефонов моторола, так как работать с другими телефонами у меня, к сожалению нет возможности. Все сведения описанные здесь являются эмпирическими(полученными в ходе эксперементов, фактически методом научного тыка :) ), поэтому в них могут быть ошибки и неточности. Итак, весь язык предективного ввода iTAP можно рассматривать как 3 большие составляющие: Первая - исполнительный код в программном обеспечении(SW,CG1, не знаю, можно ли это расценивать как часть iTAP, но без исполнительного кода никуда, а он может находиться только в ПО). Вторая часть - основной словарь iTAP, который находится в языковом пакете(language pack, CG4), непосредственно содержащий "информационную" часть языка. Он является статическим(неизменным, т.е. изменить-то его можно, но не средствами программного обеспечения). И третья - пользовательский словарь, который находится во флексе(flex,CG2), а именно в корне диска а => /а/iTAP_Users_Dictionary. Он является динамическим. ------------------------------------- 3. НЕКОТОРЫЕ СВЕДЕНИЯ О СТРУКТУРЕ ЯЗЫКОВЫХ ПАКЕТОВ Языковым пакетом является кодовая группа программного обеспечения телефонов Мotorola, в которой хранятся текстовые строки языков меню, данные языка iTAP, шрифты и может быть что-нибудь еще :). Так как информации о языковых пакетах(в дальнейшем LP) очень мало, можно сказать, что о структуре iTAP неизвестно почти ничего, я, например, знаю только адрес словаря iTAP в LP, часть заголовка словаря, месторасположение кодировки символов, раскладки клавиатуры. Как уже было сказано, LP не содержит исполнительных алгоритмов. Вот, пожалуй, и все, что известно о iTAP в LP. ------------------------------------- 4. ДИНАМИЧЕСКИЙ ПОЛЬЗОВАТЕЛЬСКИЙ(ПС) СЛОВАРЬ iTAP Структура этого словаря известна полностью. Он, фактически, состоит из списка слов, которые "не нашлись" в основном словаре (в дальнейшем ОС) при вводе пользователем. Итак, ПС имеет стандартное ограничение в 5100 байт, но общими усилиями на сегодняшний день созданы патчи для изменения размера. При попытке загрузки файла с размером не соответствующим ПО телефона, телефон обнуляет словарь. При заполненном словаре, iTAP записывает новое введенное слово, удаляя одно или несколько самых "старых" слов. Подробное описание структуры словаря вы можете найти на форуме www.motofan.ru ------------------------------------- 5. НОВОВВЕДЕНИЕ ОТ MOTOROLA. В конце 2006 - начале 2007 года motorola порадовала покупателей новыми моделями телефонов - L7e, Z3, K1 и др. В ПО этих телефонов было введено очередное обновление технологии. На вышеописанных телефонах пользовательский словарь расположен в файле /а/iTAP6_Users_Dictionary, который имеет принципиально новую структуру. Теперь стандартный размер файла - 8000 байт. Работа над расшифровкой структуры начата, если у вас есть время, желание и терпение вы можете оказать помощь в этой работе. ------------------------------------- Если вы знаете о iTAP что нибудь, чего не знаю я огромная просьба сообщить об этом мне. Мои координаты: e-mail: itapde@mail.ru ICQ: 204358483 ------------------------------------- Текст составил kENOD