Как стать автором
Поиск
Написать публикацию
Обновить
83.02
Content AI
Решения для интеллектуальной обработки информации
Сначала показывать

Оптимизация сравнения 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 его только немного доломает.
Читать дальше →

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

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

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

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

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

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

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

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

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

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

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

На странице есть текст и картинки. Требуется разбить на блоки текст и выделить картинки.
Читать дальше →

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

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

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


Читать дальше →

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

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

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

А ваш 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-браузерах, за исключением одного НО —
Читать дальше →

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

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

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

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

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

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


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

Поиск линии корешка на фотографиях книжных разворотов

Время на прочтение5 мин
Количество просмотров18K
При съемке книжного разворота с помощью камеры мобильного устройства неизбежно возникают некоторые из нижеперечисленных дефектов (а возможно, что и все сразу):

• цифровой шум,
• тени и блики,
• расфокусировка и смаз,
• перекос,
• перспективные искажения,
• кривые строки,
• лишние объекты в кадре.

Обработка таких фотографий для последующего OCR – довольно трудоемкая задача даже для человека, хорошо владеющего навыками работы в Photoshop. Как быть, если мы хотим это сделать автоматически, с помощью программы? Сразу оговоримся, что подробное описание всех этапов алгоритма сделало бы публикацию чересчур объемной, поэтому мы сейчас расскажем только о том, как решать одну из подзадач – найти линию корешка на таких фотографиях. О том, как устранять тени и блики на фотографиях мы уже рассказывали. Про устранение цифрового шума написано много статей. А про автоматическое исправление перспективы и кривых строк мы расскажем в следующий раз.
Читать дальше →

Переводчик из машины, или как научить МФУ переводить документы

Время на прочтение5 мин
Количество просмотров6.6K
Привет, %username%!

Недавно мы, ABBYY LS, совместно с Xerox запустили Xerox Easy Translator Service — сервис, который позволяет получить машинный перевод документа – для этого его нужно отсканировать при помощи МФУ на базе технологии Xerox ConnectKey или же сфотографировать камерой телефона. Через эту же платформу можно заказать и профессиональный перевод.



Как это работает? Давай разбираться!
Читать дальше →

Распознавание текста из видеопотока: будущее мобильного OCR

Время на прочтение6 мин
Количество просмотров19K
В последнее время мы довольно часто рассказываем в блоге о наших технологиях распознавания, которые работают на мобильных устройствах и распознают фотографии, сделанные камерами этих устройств. Сейчас мы движемся дальше и учимся работать не с фотографиями, а с видеопотоком. И сегодня мы хотим рассказать вам чуть подробней, что это означает и где в повседневной жизни может пригодиться распознавание текста из видеопотока.

Кстати, сейчас мы расширяем команду, занимающуюся созданием продукта для распознавания текста из видеопотока на смартфонах. Если вы Android или iOS-разработчик с опытом написания высоконагруженных приложений и у вас есть желание разрабатывать новые технологии вместе с нами, спешите откликнуться на вакансию.

О видеопотоке и распознавании


Для начала скажем, с каким именно видеопотоком мы работаем.
Читать дальше →

Как не самое удачное поведение по умолчанию может годами маскировать неправильную работу

Время на прочтение8 мин
Количество просмотров18K
МНОГО ДЕТАЛЕЙОчень удобно, когда благодаря правильно выбранным умолчаниям все работает само и «из коробки» и не нужно ничего настраивать. Эта история о том, что выбранные умолчания должны быть работоспособными всегда, в противном случае есть риск непредвиденного отказа после многих лет беспроблемной работы.

Мы столкнулись с недокументированным поведением Windows Server в web-ролях Microsoft Azure, которое долгие годы маскировало неправильную настройку нашего сервиса Cloud OCR SDK, пока в один не самый прекрасный момент не привело к серьезным проблемам у отдельных пользователей.
Читать дальше →

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

Время на прочтение6 мин
Количество просмотров11K
Перенос OCR-технологий (технологий оптического распознавания) с ПК на мобильные устройства обсуждался, пожалуй, с момента их появления. Ещё в конце 90-х, когда «умные» устройства можно было пересчитать по пальцам, мы задумывались о создании программы, извлекающей данные из визитной карточки, – Business Card Reader, или сокращённо BCR. Эта идея, что называется, витала в воздухе, но ни возможности камер, ни вычислительная мощность устройств не позволяли тогда реализовать её. Выбирать особо не приходилось: либо обычный телефон с хорошей камерой «для обычных людей», либо продвинутый бизнес-наладонник «для профессионалов» (а зачем вообще бизнесменам нужны камеры на устройстве — себя, что ли, фотографировать?)

Но время шло, запросы людей росли, и худо-бедно приличные камеры начали появляться во всех устройствах. Как только возможности устройств «подтянулись», разработчики портировали нашу технологию распознавания, учитывая массу ограничений, свойственных мобильным операционным системам: размер библиотек (попробуй впихнуть OCR с базой изображений в 500 килобайт на носителе), скорость работы на малопроизводительных процессорах. Ещё пришлось учитывать, что распознавать предстояло не идеальные изображения со сканера, а фотографии, сделанные зачастую с перекосами, в условиях плохого освещения и т. п.
Читать дальше →

ABBYY: экологичность++. Четыре года спустя

Время на прочтение4 мин
Количество просмотров6.1K
Несколько лет назад в нашем блоге был пост об экологических инициативах, которые мы придумали и сделали у нас в ABBYY. Поскольку сотрудники у нас неугомонные инициативные всё время придумывают что-то новое, с тех пор возникли новые эко-проекты, и мы решили вернуться к этой теме. Если у вас в офисе тоже заботятся об экологии, давайте обмениваться опытом. Расскажите в комментариях, как у вас. Кстати, не знаете ли, когда у нас все-таки начнут перерабатывать использованные батарейки?
Читать дальше →

Ближайшие события

Продвигаем мобильные приложения в AppStore и Google Play: как правильно использовать методику featuring

Время на прочтение5 мин
Количество просмотров16K
В этой статье мы бы хотели обратить внимание разработчиков приложений на такой неоднозначный механизм продвижения, как фичеринг в магазинах мобильных приложений (AppStore и Google Play). Да, нашему редактору тоже не нравится слово «фичеринг» (featuring), но адекватного русского аналога нет, поэтому будем использовать кальку с английского.

Apple или Google featuring – это методика, когда сам Apple или Google выбирает приложения, соответствующие текущим маркетинговым приоритетам этих компаний. Такие приложения выделяются на определенный период с помощью внутренних маркетинговых инструментов App Store/Google Play (прежде всего, это размещение баннера на главной странице App Store/Google Play, или размещение в тематичиской подборке на «видном месте»).
Читать дальше →

Как непродуманные предупреждения компиляторов помогают портить совершенно правильный код

Время на прочтение6 мин
Количество просмотров25K
Это пост о сложностях взаимодействия искусственного и естественного интеллекта. Современные компиляторы имеют довольно развитые средства статического анализа, которые умеют выдавать предупреждения на разные подозрительные конструкции в коде. В теории эти предупреждения должны помочь разработчикам делать меньше ошибок в коде.

На практике далеко не всегда предупреждения компилятора одинаково полезны. Зачастую они не помогают разработчикам, а мешают им и могут провоцировать на исправление совершенно правильного кода, т.е. на нарушение правила «работает — не трогай».
Читать дальше →

От FineReader к решениям для ввода данных: как начиналось направление DataCapture в ABBYY

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


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

В жизни любой технологической компании бывают периоды, когда бал правят разработчики.
Читать дальше →

Как камерой смартфона сделать фотографии, пригодные для OCR, или кое-что об ABBYY Mobile Imaging SDK

Время на прочтение5 мин
Количество просмотров14K
Количество программ — мобильных клиентов, привязанных к различным системам автоматизации деятельности предприятий, постоянно растёт. Согласно исследованию компании IDC, к 2016 году оно увеличится в 4 раза (по сравнению с 2014 годом). Конечно, ABBYY не могла остаться в стороне от этих тенденций, и у нас есть мобильные продукты, ориентированные на корпоративных пользователей. Об одном из них – ABBYY Mobile Imaging SDK (MI SDK) – мы ещё ни разу не рассказывали в блоге, исправляемся.

Наши пользователи привыкли, что мобильные продукты ABBYY – это либо про словари, либо про распознавание. Сразу оговоримся – в ABBYY Mobile Imaging SDK нет ни того, ни другого. Спрашивается, почему нам понадобилось выпускать такое приложение? Ответ – конечно, чтобы продать OCR ещё большему числу клиентов :). Ведь ABBYY Mobile Imaging SDK обычно используется в связке с нашими «корпоративными» решениями для распознавания данных (например, ABBYY Recognition Server) или извлечения данных (например, ABBYY FlexiCapture). Этот небольшой продукт призван помочь нашим «большим» решениям работать лучше, распознавать точнее.

Жизнь изменилась, и если раньше основным устройством, с которого мы получали изображение для распознавания, был сканер, то теперь его всё чаще заменяет мобильный телефон. Чем он отличается от сканера? Конечно, тем, что получить с него изображение хорошего качества гораздо сложнее (разумеется, в данном случае хорошее качество = достаточное для того, чтобы наши OCR-технологии могли распознать текст на фото).
Читать дальше →

FactRuEval — соревнование по выделению именованных сущностей и извлечению фактов

Время на прочтение6 мин
Количество просмотров12K
Соревнования по различным аспектам анализа текста проводятся на международной конференции по компьютерной лингвистике «Диалог» каждый год. Обычно сами соревнования проходят в течение нескольких месяцев до мероприятия, а на самой конференции объявляют результаты. В этом году планируются три соревнования:

  • по выделению именованных сущностей и фактов – FactRuEval;
  • по анализу тональности – SentiRuEval;
  • по исправлению опечаток – SpellRuEval.

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

Узнать подробности про FactRuEval ...

Война, мир и ABBYY Compreno: продолжение нашего романа с Толстым

Время на прочтение10 мин
Количество просмотров14K
Недавно мы рассказывали здесь о том, как делался проект «Весь Толстой в один клик». С помощью 3249 (трех тысяч двухсот сорока девяти) волонтеров и 1 (одной) хорошей OCR-технологии мы оцифровали 46820 страниц 90-томного собрания сочинений писателя, тщательно вычитали их и выложили во всеобщий доступ.

Но если вы думали, что наш «роман с Толстым» на этом закончился, то вы ошибались – оцифровав тексты писателя, мы начали исследовать их при помощи технологии извлечения информации ABBYY Compreno – не пропадать же такому богатому материалу. О том, что дал нам «text mining Толстого» и где теперь используются полученные результаты, читайте дальше.

Введение


Главной целью проекта «Весь Толстой в один клик» было сделать творчество Толстого по-настоящему всеобщим достоянием, чтобы все вышедшие из-под его пера тексты были доступны в один клик в любой точке Земли. Как, кстати, и завещал сам автор, еще при жизни отказавшийся от всех прав на свои тексты (да-да, анонимус, Лев Толстой знал про копилефт и опендату задолго до этих ваших интернетов и Ричарда Столлмана).

Однако возможность загрузить книжку в удобном формате в ридер или планшет – не единственный плюс оцифровки. Теперь тексты Толстого можно не только читать, но и «измерять», то есть исследовать разными количественными методами, используя весь арсенал средств автоматической обработки текста (АОТ, она же NLP). Ведь если у вас есть все тексты писателя в электронном виде, даже с помощью одного-двух грамотных поисковых запросов вы можете получить любопытные данные, на добычу которых в иные времена мог потратить недели и месяцы упорного труда какой-нибудь литературовед. А уж если у вас к тому же имеется продвинутая технология анализа естественного языка, то есть шансы сделать серьезное филологическое открытие (даже не будучи филологом). Ниже я расскажу, что удалось намерить и узнать нам, но перед этим – пара слов о том, кто, как и зачем занимается автоматической обработкой художественных текстов и что интересного может при этом получиться.
Читать дальше →

Информация

Сайт
www.contentai.ru
Дата регистрации
Дата основания
Численность
101–200 человек
Местоположение
Россия