Как стать автором
Обновить

Компания Content AI временно не ведёт блог на Хабре

Сначала показывать

Первый пользователь с миллионом на Stack Overflow

Время на прочтение2 мин
Количество просмотров15K
Achievement unlocked: на Stack Overflow появился первый пользователь с 1 миллионом баллов репутации.

Stack Overflow открыт в сентябре 2008 года и с тех пор помогает разработчикам со всего мира находить необходимые ответы на технические вопросы. Например, сайт показал миллиону пользователей выход из Vim. На январь 2017 года на Stack Overflow 8 миллионов зарегистрированных пользователей, 15 миллионов вопросов и 24 миллиона ответов. Еще десять лет назад ничего этого не было.


Читать дальше →
Всего голосов 40: ↑39 и ↓1+38
Комментарии30

Дорожка по извлечению значений слов из текстов и разрешению лексической многозначности

Время на прочтение7 мин
Количество просмотров6.4K
Ежегодно в России проходит крупнейшая конференция по компьютерной лингвистике «Диалог», на которой специалисты обсуждают методы компьютерного анализа русского языка, оценивают уровень компьютерного языкознания и определяют направления его развития. Каждый год в рамках «Диалога» организуются соревнования систем автоматической обработки русского языка — Dialogue Evaluation. В этом посте мы расскажем о том, как устроено соревнование Dialogue Evaluation, и более подробно о том, как проходит одна из его составляющих — RUSSE и что ждет его участников в этом году. Поехали.

image

Читать дальше →
Всего голосов 23: ↑22 и ↓1+21
Комментарии10

Хакатон от ABBYY

Время на прочтение2 мин
Количество просмотров3.6K
В прошлый раз мы анонсировали конкурс идей (и он, кстати, продолжается, вы всё ещё можете выиграть iPhone X), а теперь приглашаем вас на хакатон по мобильным сервисам от ABBYY. Пройдёт 7-8 октября в ФизТехПарке. Направления самые разные. Крутое жюри. Призовой фонд 220 000 рублей. Заявки принимаются до 3 октября включительно на mobility.abbyy.com/hack
А подробности ниже.
Читать дальше →
Всего голосов 16: ↑14 и ↓2+12
Комментарии0

Конкурс идей от ABBYY – как выиграть новый iPhone

Время на прочтение5 мин
Количество просмотров4.8K
mABBYYlity logoВсем привет. Меня зовут Игорь Акимов, я руководитель направления мобильных продуктов ABBYY. Наверное, многие знают ABBYY по лучшим словарям Lingvo и помощнику любого студента FineReader, но кроме этого мы занимаемся ещё много чем интересным в сфере интеллектуальной обработки информации и лингвистики. За 28 лет накопили огромный багаж в сфере машинного обучения и нейросетей, а новых проектов и идей так много, что кажется, нам нужна помощь :) Поэтому мы приглашаем вас принять участие в конкурсе. Мы ищем идеи по применению новых технологий в мобильной разработке, которые будут близки большому числу людей. И назвали конкурс мы смело – mABBYYlity (тут и ABBYY, и мобильность, и ability – способность). Короче, всё основное тут – mobility.abbyy.com. А в статью за подробностями.
Читать дальше →
Всего голосов 18: ↑16 и ↓2+14
Комментарии25

«Предъявите документы» или что поможет распознать паспорт

Время на прочтение6 мин
Количество просмотров13K
Мы уже говорили о распознавании текста из видеопотока, его преимуществах по сравнению с обработкой фотографии и сценариях, где это особенно полезно.

Сегодня мы запускаем ABBYY Real-Time Recognition SDK для мобильных платформ Android и iOS. Поэтому хотим поговорить об особенностях распознавания данных на мобильном устройстве, а именно, об извлечении информации в видеопотоке на примере одного из самых сложных документов – гражданского паспорта.

Всем нам часто приходится использовать свои паспортные данные. Паспорт нужен для регистрации в мобильном банке или платёжной системе, покупки билетов, аренды машины. Сейчас многие используют для этих задач смартфон. Набирать информацию на маленькой клавиатуре мобильного устройства очень неудобно. Особенно неприятное поле для ввода – это данные о месте выдачи паспорта: обычно они занимают пару-тройку строк и содержат множество аббревиатур.
Читать дальше →
Всего голосов 42: ↑35 и ↓7+28
Комментарии17

Мобильный OCR. Как всё начиналось (часть 2)

Время на прочтение6 мин
Количество просмотров5.8K
В предыдущем посте мы начали рассказывать, как OCR-технологии «переезжали» с настольных компьютеров в смартфоны – а началось всё с приложения для сканирования визиток Business Card Reader. Но сканирование визиток – это только один сценарий, где нужно мобильное распознавание. О том, как решались другие задачи хотелки пользователей, – читайте ниже.

Как мы уже говорили, перенос технологии распознавания на смартфоны связан с кучей ограничений и сложностей. Главной была и остаётся ресурсоёмкость технологии – невозможно перенести ее в мобильное устройство как есть. Но у нас уже с 2007 года был готовый инструментарий разработчика ABBYY Mobile OCR Engine, который позволял на мобильном оцифровать изображение и выдать результат в формате TXT без сохранения форматирования. И для начала в 2011 году мы решили воплотить в жизнь небольшие пользовательские сценарии, в которых такое «элементарное» распознавание вполне подходило.
Читать дальше →
Всего голосов 27: ↑27 и ↓0+27
Комментарии3

Подписки в ABBYY Cloud OCR SDK: «заткнитесь и возьмите мои деньги!»

Время на прочтение5 мин
Количество просмотров4K
Хорошая новость™: теперь в ABBYY Cloud OCR SDK помимо разовой покупки страниц можно оформить подписку через PayPal. Мы долго планировали эту разработку, довольно долго она была в состоянии беты для ограниченного круга пользователей. Сейчас подписки доступны всем, а этот пост – о разных технических и социальных моментах этой эпичной разработки.

Начать нужно с ответа на вопрос «зачем». Ответ на него: подписки удобны и понятны многим пользователям. Хотя покупать пакеты страниц тоже удобно и несложно, пользователю нужно следить за остатком страниц приложения и докупать страницы. Сервис умеет отправлять предупреждение о скором исчерпании остатка страниц, но пользователь может его пропустить. Если пользователь забудет докупить страницы – его приложение может в самый неподходящий момент доизрасходовать остаток страниц и перестать работать.

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

Мы старались сделать логику подписок как можно более понятной и одновременно удобной для пользователей.
Читать дальше →
Всего голосов 22: ↑18 и ↓4+14
Комментарии0

Lingvo API: словари ABBYY в облаке Windows Azure

Время на прочтение6 мин
Количество просмотров8.1K
Думаем, читателям нашего блога не нужно рассказывать подробно, что такое словарь ABBYY Lingvo. C этого продукта началась компания ABBYY 27 лет назад. Сначала словарь можно было использовать только на компьютерах, потом появились мобильные приложения и онлайн-сервисы. Недавно мы открыли доступ к словарям Lingvo для сторонних разработчиков на сайте https://developers.lingvolive.com – пока в бесплатном бета режиме.

Под катом мы подробнее расскажем о том, как мы работали над этим сервисом и как его можно использовать.
Читать дальше →
Всего голосов 22: ↑22 и ↓0+22
Комментарии9

Как технологии ABBYY помогают улучшить работу систем обнаружения утечек данных

Время на прочтение10 мин
Количество просмотров9.7K
Несмотря на прогнозы о скором наступлении светлого безбумажного будущего, объём бумажных документов всё ещё огромен. Часть из них сканируется и продолжает свою «жизнь» уже в электронном варианте – но только в виде изображений. В среднем в организациях объем сканированных копий составляет 30% от всех документов, которые хранятся в электронном виде. В госсекторе он достигает 41,5%, в ритейле – 17%, в сфере услуг – 23%, в банках и телеком-сфере приближается к 45%. Когда сканы документов лежат себе в нужной папке или делают работу, для которой они предназначены, – это хорошо. Плохо, когда кто-то пытается использовать данные из этих сканов в мошеннических схемах или как-то иначе злоупотреблять ими. Чтобы конфиденциальная информация не «утекла», в информационные системы компаний устанавливают DLP – системы предотвращения утечек.

Сегодня мы расскажем, как в одну из таких программ – Контур информационной безопасности SearchInform – был интегрирован SDK-продукт ABBYY FineReader Engine и что из этого получилось.
Читать дальше →
Всего голосов 34: ↑33 и ↓1+32
Комментарии7

Устранение перспективных искажений и разгибание кривых строк на фотографиях книжных разворотов

Время на прочтение6 мин
Количество просмотров18K
В прошлый раз в статье «Поиск линии корешка на фотографиях книжных разворотов» мы обещали рассказать о том, что случается с фотографией книжного разворота после этого, а именно — про устранение перспективных искажений и разгибание кривых строк текста. Без этого получить качественные результаты OCR практически невозможно.

Итак, считаем, что мы уже нашли на фотографии линию корешка, воспользуемся этим знанием, чтобы определить ваниш-точки для страниц разворота (vanishing point). Ваниш-точки – это точки схождения параллельных прямых в перспективной проекции книги на плоскость изображения. Они обе должны располагаться на продолжении этой линии, но для каждой из страниц положение точки может быть свое. Схематически это показано на следующей иллюстрации (на самом деле, это лог для отладки). Линия корешка выделена красным, линии, пересекающиеся в ваниш-точках, – зеленым.


Читать дальше →
Всего голосов 65: ↑65 и ↓0+65
Комментарии13

Как мы помогали проводить медицинскую перепись в Республике Бангладеш

Время на прочтение7 мин
Количество просмотров7K


Бангладеш – государство в юго-восточной Азии, занимает восьмое место в мире по численности населения (Россия, по данным Википедии, сейчас на 9 месте), граничит с Индией и Бирмой. Подавляющее большинство бангладешцев – сельские жители (135 миллионов из 160), и условия их жизни, мягко говоря, далеки от идеальных. Не во всех домохозяйствах есть доступ к питьевой воде, санитарные условия оставляют желать лучшего.

Сегодняшний наш материал о том, как при помощи нашего ABBYY FlexiCapture министерство здравоохранения Бангладеш обработало результаты медицинской переписи — такая перепись нужна, чтобы принимать правильные стратегические решения в области здравоохранения.

Читать дальше →
Всего голосов 57: ↑57 и ↓0+57
Комментарии21

Cинхронный перевод: как это устроено

Время на прочтение11 мин
Количество просмотров64K
От редактора. Сделать эту статью меня вдохновил Milfgard. Я вернулась с семинара, который всепомогающая редакция Хабрахабра провела для редакторов корпоративных блогов. Сергей рассказывал там, что интересная информация есть в любой компании, надо только уметь её раскопать. Я вернулась с семинара, открыла Facebook и увидела там короткую заметку о том, что ABBYY LS — одна из наших компаний, которая занимается лингвистическими услугами — организовала весь синхронный перевод на торгово-экономическом форуме, где участвовали Россия, Монголия и Китай. Вот бы раскопать, как устроен синхронный перевод на крупном международном форуме… В раскопках мне помогала наш новый автор AnastasiyaMaksimova, ну а что у нас с ней получилось — читайте ниже. luciana

В некоторых вузах, где обучают будущих переводчиков, есть такое упражнение. Преподаватель начинает читать какой-то текст, а вы должны повторять за ним с отставанием в 3-4 секунды, ни на что не отвлекаясь. Просто повторять слово в слово, не добавляя ничего от себя и ничего не забывая. Неподготовленные «отваливаются» через минуту-две, те, кто покрепче, выдерживают минут десять. В какой-то момент твоё сознание съеживается до тонкой цепочки слов, ты ни о чем не думаешь, ничего не замечаешь вокруг себя — просто повторяешь.
Читать дальше →
Всего голосов 95: ↑94 и ↓1+93
Комментарии39

Оптимизация сравнения this с нулевым указателем в gcc 6.1

Время на прочтение3 мин
Количество просмотров15K


Хорошие новостиTM ждут пользователей gcc при переходе на версию 6.1 Код такого вида (взят отсюда):

class CWindow {
    HWND handle;
public:
    HWND GetSafeHandle() const
    {
         return this == 0 ? 0 : handle;
    }
};

«сломается» — при вызове метода через нулевой указатель на объект теперь может происходить разыменование нулевого указателя, потому что компилятор теперь может просто взять и удалить проверку. Код, конечно, с самого начала сломан, а gcc 6.1 его только немного доломает.
Читать дальше →
Всего голосов 66: ↑61 и ↓5+56
Комментарии194

Не так-то просто обнулять массивы в VC++ 2015

Время на прочтение5 мин
Количество просмотров20K
В чем разница между двумя этими определениями инициализированных локальных переменных С/С++?

char buffer[32] = { 0 };
char buffer[32] = {};

Одно отличие состоит в том, что первое допустимо в языках С и С++, а второе — только в С++.

Что ж, давайте тогда сосредоточимся на С++. Что означают эти два определения?

Первое гласит: компилятор должен установить значение первого элемента массива в ноль и затем (грубо говоря) инициализировать нулями оставшиеся элементы массива. Второе означает, что компилятор должен инициализировать нулями весь массив.

Эти определения несколько различаются, но по факту результат один — весь массив должен быть инициализирован нулями. Поэтому согласно правилу «as-if» в С++ они одинаковы. То есть любой достаточно современный оптимизатор должен генерировать идентичный код для каждого из этих фрагментов. Верно?
Читать дальше →
Всего голосов 59: ↑59 и ↓0+59
Комментарии30

Сегментация страницы — обзор

Время на прочтение11 мин
Количество просмотров8.8K
Некоторое время назад (о, боже, уже год прошёл!) на вопрос, будет ли кому-то интересен обзор по современным методам сегментации изображения страницы документа, я получил положительный ответ (от massimus). И сегодня наконец-то решил этот обзор сделать.

Вот как-то так страницу сегментируемНо для начала – маленькое отступление. Систему распознавания текста в наших продуктах можно описать очень просто. У нас есть страница с текстом, мы разбираем ее на текстовые блоки, затем блоки разбираем на отдельные строчки, строчки на слова, слова на буквы, буквы распознаем, дальше по цепочке собираем все обратно в текст страницы. Задача сегментации ставится примерно так: есть страница, надо её декомпозировать на текстовые и нетекстовые элементы.

Дальше задачу можно уточнять и уточнять (здесь я уже вам поднадоел с разъяснениями, что правильная формулировка задачи — уже полшага к её решению; можете не сомневаться, коллег и начальство я достал этим ещё сильнее). Научные работники из разных стран, авторы приводимых методов, хотят заниматься наукой, а не казуистикой, поэтому формулируют свою задачу попроще:

На странице есть текст и картинки. Требуется разбить на блоки текст и выделить картинки.
Читать дальше →
Всего голосов 37: ↑37 и ↓0+37
Комментарии27

От Англии до Таинственного острова вместе с героями романов Жюля Верна

Время на прочтение8 мин
Количество просмотров15K
С постоянно растущим объемом текстовой информации и уровнем развития инструментов web-визуализации возникает желание все эти объемы визуализировать. Демонстрация возможности такой визуализации — задача, которая была поставлена перед командой студентов в рамках работы ABBYY Labs и курса “Промышленное программирование” на Факультете инноваций и высоких технологий (ФИВТ) в МФТИ (если вы ещё ни разу не читали в нашем блоге о студенческих лабораториях ABBYY, есть смысл вернуться вот к этому посту).

Пятнадцати третьекурсникам-разработчикам и четырем четверокурсникам-менеджерам, студентам ФИВТ, было предложено за три месяца исследовать современные open-source решения визуализации структурированных данных и затем, выбрав для себя тему, визуализировать текстовую информацию на естественном языке. Переход от неструктурированной информации к структурированной предлагалось осуществить при помощи семантико-синтаксического парсера ABBYY Compreno.


Читать дальше →
Всего голосов 32: ↑31 и ↓1+30
Комментарии5

Как мы помогли крупному бразильскому банку справиться с последствиями деноминации

Время на прочтение5 мин
Количество просмотров16K
Новейшая история денежного обращения в Бразилии – это череда деноминаций, первая из которых была проведена в 1942 году, а последняя – в 1994 году. К 1994 году национальная валюта Бразилии – крузейро – была настолько слабой, что в магазинах цены назначались в условных единицах, рядом с цифрами писали слово “real” – «настоящая» цена. В 1994 от лишних нулей решили избавиться, а слово “real”, к которому все привыкли, стало названием новой валюты – реал (впрочем, точно так же называлась денежная единица Бразилии до 1942 года).

Сегодня мы расскажем, как один из наших продуктов – ABBYY FineReader Engine помог крупнейшему частному бразильскому банку справиться с последствиями деноминации. Не представляете, как такое может быть? Добро пожаловать под кат.
Читать дальше →
Всего голосов 53: ↑53 и ↓0+53
Комментарии19

А ваш AngularJS умеет работать на 3.5Mb ОЗУ?

Время на прочтение15 мин
Количество просмотров24K

В начале весны ABBYY LS совместно с Xerox запустили сервис для перевода документов Xerox Easy Translator Service. Изюминкой этого сервиса является приложение, запускаемое на МФУ Xerox и позволяющее отсканировать необходимое количество документов, дождаться перевода на один из выбранных 38 языков, произвести печать перевода — и все это не отходя от МФУ.

Приложение запускается на определенной серии МФУ Xerox на основе технологии Xerox ConnectKey с сенсорным экраном 800x480 точек. Аппаратная начинка МФУ зависит от конкретной модели, например, наша тестовая малютка Xerox WorkCentre 3655 имеет на борту 1Ghz Dual Core процессор и 2Gb оперативной памяти. Как ни удивительно, но МФУ имеет встроенный webkit-браузер, а наше приложение — это обычное html-приложение, разработанное на AngularJS 1.3.15.

О самом проекте мы писали в блоге раньше, а эта статья посвящена одному из увлекательных этапов проекта, а именно оптимизации AngularJS под работу на МФУ Xerox. Как оказалось на деле, платформа МФУ практически не накладывает никаких серьезных ограничений на разработку приложений, и они работают практически так же, как и на десктопных webkit-браузерах, за исключением одного НО —
Читать дальше →
Всего голосов 55: ↑48 и ↓7+41
Комментарии24

Исправлена серьезная ошибка в официальной документации по настройке SSL в web-ролях Microsoft Azure

Время на прочтение2 мин
Количество просмотров4.3K

Хорошие новостиTM: есть небольшое, но важное развитие сюжета из этого поста, где много букв и долгая история, которая могла отвлечь часть целевой аудитории от необходимости проверить и исправить настройки. После вливания освежающих пул-запросов была обновлена официальная документация, показывающая, как правильно настраивать SSL в веб-ролях Microsoft Azure — один и два. Исправлена серьезная ошибка в примерах настроек.

Если вы разрабатываете или сопровождаете облачный сервис с веб-ролью, самое время проверить, что настройки SSL указаны правильно и вас не настигнет в самый неподходящий момент волна недовольства пользователей, у которых КРАЙНЕ НЕОЖИДАННО без ясных причин перестало устанавливаться защищенное соединение с вашим сервисом.
Читать дальше →
Всего голосов 20: ↑18 и ↓2+16
Комментарии0

Готическое распознавание: как мы помогали оцифровывать Национальную библиотеку Латвии

Время на прочтение4 мин
Количество просмотров12K


Сегодня мы хотим рассказать, как оцифровывали издания Национальной библиотеки Латвии. Если вы следите за нашим блогом, вы наверняка читали, как наши технологии помогают оцифровать литературное наследие разных библиотек, а также статьи, посвященные отдельным проектам — оцифровке в Сахалинской библиотеке, королевском ботаническом саду Эдинбурга и библиотеке Хартли. Сегодня история о том, как это было в Риге. Итак, Национальная библиотека Латвии – крупнейшая в стране, основана в 1919 году, обладает 4,5-миллионным собранием книг и документов, в том числе на латышском языке в уникальном готическом написании.
Читать дальше →
Всего голосов 40: ↑39 и ↓1+38
Комментарии21