Конвертация unicode zawgyi что это в вайбере
Распознавание бирманского языка: теперь мы умеем даже это
Может, кому-то из вас покажется это удивительным, но текст, аналогичный тому, что вы видите на картинке (а это бирманский язык) тоже можно распознать. Некоторое время назад по интернету ходил забавный комикс про различие азиатских языков, но он слишком неприличный, чтобы публиковать его в корпоративном блоге 🙂 О том, зачем нам понадобилось распознавать бирманский и с какими проблемами пришлось при этом столкнуться, – под катом.
Республика Мьянма (ранее – Бирма) – государство в Юго-Восточной Азии. В 1962-2010 гг. в стране действовала военная диктатура, а в последние 5 лет Мьянма стала открываться для внешнего мира – активизировалось торговое и культурное сотрудничество.
Понятно, что в таких условиях у соседей появилось много возможностей для того, чтобы мониторить ситуацию в стране – мало ли что.
В какой-то момент один из наших партнеров (а работаем мы в Юго-Восточной Азии много и активно – и в основном через партнёров) принёс нам проект – от нас требовалось сделать распознавание символов (OCR) бирманского языка. Конечный заказчик планировал делать мониторинг бирманских печатных СМИ – сначала распознавать, а потом переводить автоматическим переводчиком на английский язык.
В бирманском есть много диалектов, при этом существует некоторый набор букв, который используется в официальных сообщениях, в прессе и т.п. Он составляет примерно 30% от всех букв, используемых в регионах, в него входят 33 согласных буквы и 12 дополнительных знаков. Распознавать нам предстояло картинки, на которых были тексты, напечатанные именно этим набором букв в самом популярном начертании (шрифт Myanmar 3), кегль – не меньше 10. Изображения могли быть серыми, чёрно-белыми или цветными, разрешение – не меньше 300 dpi. Например, такие:
На первом этапе нам нужно было показать точность распознавания в 75%, на втором – не менее 94%.
Людей, владеющих бирманским, в нашей разношерстной лингвистической компании не нашлось, поэтому разработчикам, которым достался проект, пришлось знакомиться с языком самим и с нуля.
Бирманское письмо – слоговое, в основе его лежит силлабический алфавит — каждая согласная буква «по умолчанию» произносится вместе с гласным звуком [a]. Другие гласные звуки обозначаются с помощью отдельных букв или вспомогательных знаков над, под, перед, после или даже вокруг согласной буквы (примеры см. в таблице ниже).
Кстати, оказалось, что бирманские буквы такие круглые вот почему – когда бирманское письмо зарождалось, писали на пальмовых листьях, и начертание прямых линий повредило бы листья.
Бирманский язык — тоновый. Тон – это знак, который указывает, как произносить слог – и от этого зависит значение слога. Выделяют три основных тона (высокий, низкий и скрипучий), а также еще два других тона (взрывной и пониженный). Тон обозначается на письме с помощью специальных сочетаний символов. В таблице показано, как пишутся сочетания согласной буквы с некоторыми гласными в каждом из трёх основных тонов.
То есть бирманский язык – язык с двойной диакритикой (дополнительные символы могут располагаться одновременно как под, так и над основным). Это, как мы увидим дальше, имеет большое значение при распознавании.
Кроме того, некоторые согласные в определенных сочетаниях могут образовывать лигатуры.
Желающим углубиться в тонкости бирманского рекомендуем довольно подробные статьи в википедии про бирманский язык и бирманское письмо, а мы на этом остановимся и покажем, как эти особенности создавали нам дополнительные трудности в «подключении» бирманского в нашу технологию OCR.
Напомним вкратце, как вообще происходит распознавание. Мы получаем картинку с текстом, обрабатываем её (исправляем искажения, переводим в ч/б), затем на странице определяются блоки (заголовки, текст, сноски, картинки, таблицы и т.д.), потом текстовые блоки разбираем на отдельные строчки, строчки – на слова, слова – на буквы, буквы распознаём, дальше по цепочке собираем все обратно в текст страницы. Поскольку в обработке изображений и в разбиении на блоки в случае с бирманским языком не было ничего специального, начнём рассказывать сразу с деления на строки.
Из-за двойной диакритики на наших текстах плохо выделялись короткие строки – и вот почему. В наших алгоритмах есть дополнительные характеристики строчек, одна из них – базовая линия, на которой находятся основные символы. Базовую линию нужно выделять, чтобы правильно строить гипотезы относительно тех или иных символов и, соответственно, лучше их распознавать.
Для выделения базовой линии мы пользуемся статистикой: анализируем гистрограммы (проекции чёрных точек на вертикаль), ищем пики. На гистограммах европейских языков хорошо видны 3 выраженных пика, которые образуют основу строки (базовую линию и высоту строчных букв):
В бирманском языке большое количество символов, выходящих за границы основной части строки, вносят дополнительные значимые пики в гистограмму. Поэтому алгоритмы, настроенные на распознавание европейских языков, не совсем правильно определяли основные параметры строки.
В первых двух строках базовая линия найдена правильно, в третьей – неправильно:
Чтобы правильно определять строки в бирманском языке, пришлось дополнительно настраивать алгоритм.
После того как выделены строки, мы начинаем искать в этих строках промежутки между словами и знаками. Так же строится гистограмма, только горизонтальная, ищутся промежутки и определяется, что из них является пробелами, а что — расстоянием между символами. С определением пробелов в бирманском проблем практически не было – их в этой письменности немного, но есть (в отличие от того же тайского, где пробелов почти нет – да, мы умеем распознавать тайский, а также около 200 других языков).
После определения пробелов начинаем работать с фрагментами текста («словами» — хотя это слово не очень применимо к бирманскому, в нем пробелами разделяются части предложения), начинаем распознавать каждый фрагмент отдельно. Фрагменты надо разделить на символы. На гистограмме снова ищем пики и впадины (впадины – это возможные точки деления). Некоторые точки деления более-менее очевидны, для проверки других применяются специальные эвристики. В европейских языках гистограмма выглядит примерно так:
Из-за того что в бирманском много полукруглых символов, мы получаем много «лишних» пиков и впадин, это затрудняет выделение промежутков, но и с этой проблемой мы справились.
Более подробно общая теория выделения строк и символов описана в этом посте.
После определения точек деления каждый символ начинаем распознавать отдельно. В статье мы употребляем слово «символы», потому что оно всем понятно и известно. Но это сделано только для упрощения текста, на самом деле мы распознаем не символы, а графемы. Графема – это конкретный способ графического представления символа. Отношение между символами и графемами достаточно сложное – в европейских языках одной графеме может соответствовать несколько символов (маленькая «с» и большая «С» в латинице и кириллице – это все одна графема), а одному символу может соответствовать несколько графем (буква «a» в разных шрифтах может быть обозначена разными графемами).
Стандартного списка графем не существует, мы его составляем сами и для каждой графемы задан список символов, которым она может соответствовать. Преобразование из графем в символы происходит уже после распознавания символов на этапе генерации вариантов распознавания слов.
В бирманском, как мы уже упоминали, очень много диакритики, и большая часть вспомогательных символов при написании сливается с основным символом, образуя лигатуры:
В общих случаях, если мы распознаём символ с диакритикой, и диакритика на изображении отделена от основного символа, у нас работает такой алгоритм: распознаем сначала основной символ, потом диакритику, потом соединяем и получаем одну графему. Если мы имеем дело с лигатурой, то мы сразу пробуем распознать её целиком. Распознавание происходит путем сравнения символа с эталонами и выбора наиболее подходящих (похожих вариантов) – подробнее об этом мы писали здесь. Поскольку в бирманском очень много лигатур, мы должны были обучить наши алгоритмы гораздо большему (чем в среднем для нового языка) количеству новых графем (добавлено порядка 3500 графем).
Когда мы распознали графему (то есть поняли, что наше сочетание символов – это она), мы должны оттранслировать её в виде символов юникода (чтобы потом собрать символы в слова, слова в текст и так далее). В европейских языках здесь всё просто – распознаём символы по порядку, один за другим, и в таком же порядке «отдаём» обратно. С лигатурами в бирманском языке дело обстоит гораздо сложнее.
Есть определенный порядок написания букв, который нужно соблюдать при работе с текстовыми редакторами, чтобы Windows правильно преобразовывал в лигатуры (да и просто в сложные «слова») то, что пользователь напечатал. Некоторые символы должны набираться (печататься) в конце слога – тогда Windows поставит их в начало слога и слог будет написан правильно.
Например, чтобы в текстовом редакторе получить вот такое слово:
надо набрать следующую последовательность символов
тогда Windows правильно отобразит слово. Если вручную написать этот символ
первым, получим ошибку (ошибки выделены пунктирной линией):
Чтобы собрать вот такую лигатуру
надо обязательно соблюдать следующий порядок символов:
В бирманском языке для слов, пришедших из языка пали, принято двухуровневое написание согласных
И таких случаев в бирманском очень много.
Соответственно, эти же правила должны соблюдаться при трансляции распознанных символов, чтобы Windows правильно их понял и автоматически собрал, – и этим правилам мы должны были обучить наши алгоритмы.
Для проверки соблюдения этих правил нашей технологии есть посткоррекция. Работает она так: после того как мы все распознали, мы идем по тексту и проверяем порядок символов в соответствии с правилами языка. Как мы уже писали выше, бирманский – очень хорошо структурированный язык, и правил в нём достаточно.
Вот, собственно, и все сюрпризы, которые нам преподнёс бирманский язык. Всю работу мы проделали за 4 месяца и достигли в итоге точности распознавания в 97% (против 94%, которые мы обещали заказчику). В перспективе, скорее всего, добавим описание других шрифтов.
Что значит верифицировать контакт в Viber
Что такое верифицированные контакты в Вайбере? Этот вопрос задают практически все новички. Ведь термин действительно непонятный. В данном материале мы подробно ответим на вопрос, сначала предоставим немного общей информации, а потом поговорим о том, как создать верифицированный контакт. Итак, начнем.
Что это такое
Верификация контакта – это подтверждение личности при создании аккаунта в Вайбере. Эта процедура необходима для того, чтобы защитить данные пользователя и его учетную запись от взлома. Еще одна особенность мессенджера в плане безопасности.
Дело в том, что связка «логин-пароль» уже давно устарела. Злоумышленники научились взламывать аккаунты с такой защитой. А вот верификация при помощи номера телефона – это совсем другое. Пользователь с другой сим-картой никак не сможет получить доступ к приложению и переписке.
Стоит отметить, что без верификации вы никак не сможете пользоваться Viber. И такая политика дает свои плоды. Взлом данной системы очень сложен. Поэтому и зарегистрированных случаев крайне мало. А это уже о многом говорит.
По сути, злоумышленники могут использовать только невнимательность человека. Другие технические средства никак не помогут взломать Вайбер. Именно поэтому данный мессенджер считается наиболее защищенным.
Поэтому проходить верификацию необходимо в любом случае. Мало того, что это положительно влияет на безопасность. Но также пользоваться приложением будет невозможно. И сейчас мы поговорим о данном процессе.
Верификация на смартфоне
Сначала поговорим об аппаратах с самой популярной операционной системой на борту. Процесс верификации до неприличного прост. Но может занять определенное время. Для этого нам потребуется смартфон с рабочей сим-картой на борту:
В принципе, на этом верификация закончена. Останется только осуществить базовую настройку приложения: ввести имя и фамилию, подтвердить, что вам больше 16 и установить фото контакта. После этого можно будет полноценно использовать мессенджер.
Верификация конкретного контакта
Это нужно для того, чтобы беседа с человеком была зашифрована. Ведь сквозное шифрование может применяться только в этом случае. Естественно, на своем аппарате пользователь уже верифицирован. Вам нужно только сделать то же самое в вашей копии приложения:
После этого останется только тапнуть по пункту «Бесплатный вызов», в процессе вызова нажать на иконку с изображением щита и снова тапнуть «Верифицировать контакт».
Вот и все. После этого ваш собеседник будет верифицированным. Это значит, что любой тип разговора с ним будет защищен дополнительным шифрованием. А это несомненный плюс в плане приватности. Так что стоит попробовать такой вариант.
Заключение
В рамках данного материала мы поговорили о том, что такое верификация в Вайбере и для чего она нужна. Также нами был рассмотрен сам процесс на различных устройствах. Он не особенно сложен, но на всякий случай мы предоставили подробные инструкции с четким алгоритмом действий. Они точно помогут все сделать правильно.
Верифицировать контакт в Вайбере: что это значит
Популярный мессенджер Viber теперь стал безопаснее. В программное обеспечение приложения разработчик.
Популярный мессенджер Viber теперь стал безопаснее. В программное обеспечение приложения разработчики установили функцию сквозного шифрования – end-to-end encryption. В результате вайбер работает на устройствах iOS, Андроид, Mac, PCs. Благодаря обновлению шифруется переписка и контент пользователей. Это означает, что читать текстовые или слушать голосовые сообщения, вызовы могут только участники чата. Причем под защитой находятся как индивидуальные, так и групповые чаты. Дополнительно разработана возможность верифицировать контакты в вайбере. Это значит, что аккаунт надежно защищен от взлома. Технология распространяется на мобильные устройства, лэптопы, десктопы (iOS, Android-версии 6.0 и выше, Desktop-версия 6.0 и выше, Windows 10 – все модели).
Что такое верифицировать контакт в Вайбере
Верифицировать – установить доверие. Процесс подразумевает проверку на подлинность для исключения махинаций и взлома аккаунта. В начале использования мессенджера пользователь проходит указанный процесс – подтверждает контактные данные (что называется, «привязывает» номер телефона).
Этот процесс простой: после установки вайбера человек получает сообщение с кодом активации, который автоматически вводится в соответствующее поле. После чего начинает пользоваться приложением. Аналогичную процедуру проходят пользователи и после восстановления утраченной сим-карты. Так система определяет, что аккаунт не пострадал от взлома.
Но в ходе последнего обновления пользователи могут верифицировать контакт в Вайбере – что это значит, разберемся. Опция доступна только в последней версии. Чтобы ей воспользоваться, сначала придется обновить программу. В результате появятся дополнительные возможности, способные повысить безопасность юзера: возможность определить доверенные контакты, скрывать чаты, блокировать нежелательных пользователей, избавляться от спама.
Как верифицировать контакт в Viber: описание процедуры
Теперь можно подтвердить подлинность любого контакта из списка пользователя. Это гарантирует, что профиль контакта – не фейковая страница и не угрожает безопасности смартфона. Если добавленные контакты будут верифицированы, это будет список доверенных контактов. Сначала переходим в чат с человеком, чей аккаунт собираемся подтвердить. В информации о чате присутствует соответствующая надпись: «Верифицировать контакт».
После нажатия на нее запускается процесс. Для чего начинаем бесплатный вызов, а во время разговора оба собеседника должны нажать на значок в виде замочка – он отображается на экране. После чего на экран выводится специальный код – одинаковый для обоих собеседников. Нужно его сравнить, после чего нажать «Верифицировать». В случае успеха значок блокировки, который отображается во время вызова, изменит цвет на зеленый.
Подобным образом можно бороться со спамом. Новая технология защищает от надоедливой рекламы и вредоносных ссылок. Перед тем, как верифицировать контакт в вайбере, нужно пройти два этапа. Если поступает сообщение от неизвестного либо нежелательного контакта, сразу можно выбрать – заблокировать контакт или изучить информацию послания. В первом случае сообщения с заблокированного номера больше не будут поступать пользователю. Во втором случае предлагается три варианта действий: пожаловаться на спам, заблокировать, добавить контакт в свой список. Это снижает шансы на взлом аккаунта и минимизирует количество спама, поступающего в мессенджер.
Как подтвердить подлинность профиля на компьютере
Мессенджер Viber устанавливается на мобильные устройства и стационарные компьютеры. Ранее для подтверждения профиля требовалось ввести код. Его программа отправляла на привязанный к аккаунту телефонный номер, а затем пользователь вручную вводил его в соответствующее окно на десктопе или лэптопе. Сейчас процедура изменилась. Поэтому пользователи и задаются вопросом, «верифицировать контакт в Вайбере что это значит» и как это сделать на компьютере.
Причин, по которым утилита устанавливается на ПК, много. Так, на лэптопе удобней печатать (клавиатура в этом отношении превосходит сенсорные экраны). Еще вайбер используют как платформу для консультаций покупателей и клиентов.
Установка программы на Windows простая. По данным разработчиков, приложение поддерживается на версиях от XP, Vista и выше, до 10-й версии. Процесс начинается со скачивания десктопной версии с сайта разработчиков. Затем скачанный файл запускается. Главное – принять условия соглашения, поставив галочку в нужном окне и нажать Install. Установщик сам выполнит оставшуюся часть процедуры. Для операционных систем, работающих на базе Linux (в том числе Debian, Fedora) и MacOS, также имеются бесплатные версии утилиты. Установка осуществляется аналогичным образом.
После установки нужно разобраться, что значит верифицировать контакт в вайбер на компьютере. Речь идет о первоначальном входе в собственный аккаунт с лэптопа. Есть два способа, которые используются для активации приложения на персональном компьютере. Первый – с помощью графического кода.
В этом случае на мониторе возникает графическое изображение QR-кода. Этот способ быстрее и удобнее стандартных SMS-оповещений, которые использовались ранее. Код сканируется камерой смартфона или планшета, и компьютерный клиент программы доступен для использования. При этом у некоторых пользователей иногда возникают сложности. Например, камера не может отсканировать картинку либо выполняет задачу некорректно. В этом случае есть используется второй способ идентификации.
Разработчики заранее предусмотрели сценарий, когда камера (фото- или видео) не позволяет считать изображение. Если возникла подобная ситуация, необходимо обратить внимание на кнопку в нижней части сообщения на мониторе. На ней написано: камера не работает. Что делать? Нажатие кнопки приводит к формированию секретного пароля в виде ссылки. Ее нужно скопировать нажатием соответствующей кнопки и отправить на свой смартфон, где установлен вайбер. Сделать это можно разными путями: используя e-mail, другой мессенджер и проч.
Когда ссылка получена, открываем ее в браузере (лучше в стандартном) и следуем алгоритму. После открытия ссылки запрос переадресовывается в вайбер. В программе появляется окошко, где ставим галку напротив надписи «Хочу активировать». А уже в следующем окне даем программе разрешение на работу.
Верификация аккаунта Вайбер на компьютере без привязки к телефону
Несмотря на то, что у большинства современных пользователей имеются смартфоны, иногда возможны ситуации, когда подключить viber нужно в отсутствии такового. Чтобы инициировать работу вайбер на десктопе не используя смартфон, скачиваем эмулятор Андроид. Например, приложение BlueStacks. У него есть ряд преимуществ, но также и некоторые недостатки. Среди последних – многочисленная реклама, большая нагрузка на систему. Но для установки мессенджера программа незаменима. После установки эмулятора важно помнить – нельзя скачивать viber с официального сайта. Поскольку там в наличии будет только официальная версия продукта. Чтобы добиться желаемого, скачиваем версию утилиты 5.0.
В появившейся форме указываются параметры: телефонный номер, название страны, имя пользователя. Нельзя забывать о том, что в обязательном порядке ставится галка напротив пункта «Данное устройство является телефоном». В противном случае SMS не придет. Затем ждем, когда придет код. Здесь важно проявить терпение – код присылают спустя продолжительный отрезок времени. Полученный код вводится в окно, после чего приложение можно полноценно использовать.
Если удалось установить, пользоваться шифрованием, скрывать переписку, то двигаемся дальше. Нецелесообразно пользоваться мессенджером с помощью эмулятора. Программа ресурсоемкая, отбирает много памяти и процессора. А вайбер дежурит постоянно, поэтому стоит установить последний вариант приложения.
Для этого (не закрывая уже работающий с помощью эмулятора viber) запускается десктопная модель. Конечно, требуется синхронизироваться со смартфоном, для чего вводится номер телефона. Указываем номер, поскольку в этот раз он придет на вайбер, работающий при помощи эмулятора. Полученный таким образом код вводится в соответствующее поле приложения для ПК, которая и начинает работу в полноценном режиме. Но перед удалением приложения, работающего от эмулятора, выполняем операции:
В программе, написанной для десктопа, часто не получается выполнить перечисленные действия. А после их проведения на вайбер от эмулятора, программа работает в правильном режиме и отображается в настольной модели утилиты.
Таким образом, нет сложностей с установкой программы на смартфон или компьютер, даже при отсутствии возможности «привязать» вайбер к номеру телефона. И разобраться, что значит верифицировать контакт в вайбере, можно быстро.