Рубрика «Блог компании ABBYY» - 11

Вы все еще кипятите и сравниваете this с нулем?Давным-давно в далекой-далекой галактике широко использовалась библиотека MFC, в которой у ряда классов были методы, сравнивающие this с нулем. Примерно так:

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

«Это же не имеет смысла» – возразит читатель. Еще как «имеет»: этот код «позволяет» вызывать метод GetSafeHandle() через нулевой указатель CWindow*. Такой прием время от времени используется в разных проектах. Рассмотрим, почему на самом деле это плохая идея.
Читать полностью »

Забудьте о глобальности (часть 1)Почему масштабный запуск продукта практически не работает? Как искать первых клиентов стартапа и стоит ли это делать? Нужно ли стремиться завоевать мир на ранней стадии стартапа? Мы подготовили перевод нового эссе Пола Грэма «Do Things that Don’t Scale», которое посвящено заблуждениям основателей стартапов на начальном этапе.

Пришедшим в Y Combinator мы чаще всего советуем не думать о масштабировании. Многие будущие основатели компаний считают, что стартапы либо сразу становятся успешными, либо не добиваются успеха никогда. Нужно создать новый продукт, предложить его на рынке, а дальше всё как обещал Эмерсон: если вам удалось усовершенствовать мышеловку, то люди сами найдут дорогу к вашему дому. А если не найдут, значит, рынок для вашей продукции не существует.1

На самом деле стартап взлетает, если основатели заставляют его взлететь. Исключения бывают, но очень редко. Обычно «разгонять» компанию приходится самостоятельно — совсем как машину до появления электрического стартера. Для запуска двигателя в те времена приходилось крутить железную рукоятку. Когда завёлся, всё в порядке, но если хочешь ехать — сначала покрути!
Читать полностью »

ABBYY Lingvo.Pro: управляем терминологией в облакахМногие переводчики при работе над специализированными текстами сталкиваются с тем, что иногда до 90% времени уходит на поиск нужных терминов. При этом в каждой компании, которая так или иначе связана с зарубежными партнерами, есть свои материалы на разных языках. Как правило, переводчики, которые их создают, ведут глоссарии, где все правильные термины перечислены, проблема обычно заключается в том, чтобы ими делиться и переиспользовать. На западном рынке давно разработаны технологические решения, которые упрощают этот процесс. Недавно мы (ABBYY Language Services) объявили о выходе бета-версии ABBYY Lingvo.Pro — собственного облачного решения по управлению корпоративной терминологией.

Из этой статьи вы узнаете:
— что такое корпоративная терминология и почему ради неё делают специальные программные продукты;
— зачем нам понадобилось делать своё решение, если есть похожие готовые;
— что умеет ABBYY Lingvo.Pro;
Читать полностью »

image

Что такое ABBYY FineScanner

ABBYY FineScanner – программа для iOS-устройств, которая может фотографировать документы и обрабатывать снимки так, чтобы получившиеся электронные копии (по сути – сканы) были удобны для работы – чтения, печати или хранения/пересылки в удобочитаемом виде. О выходе первой версии мы писали здесь.

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

Весь процесс можно разделить на несколько основных этапов:

1) Уменьшение исходного изображения
2) Выбор наиболее информативного канала
3) Предобработка изображения, выделение контуров
4) Детектирование границ и определение углов документа
5) Проверка полученных гипотез
6) Уточнение координат углов документа

Рассмотрим каждый из этапов подробнее.
Читать полностью »

Компилируем код из кода для воспроизведения гонки двух процессовКласс CSharpCodeProvider позволяет программе на C# компилировать код на C#. Обычный вопрос – «зачем». Обычные ответы:

  1. исполнение кода, данного пользователями, как на ideone.com,
  2. «ну мало ли зачем» и
  3. «а это уже отдельный вопрос»

Сегодня мы используем этот класс для удобного воспроизведения гонки двух процессов.
Читать полностью »

ЕСМ системы: можно ли осваивать играючи, или пять копеек в защиту геймификацииТема геймификации поднималась на Хабре уже неоднократно. Высказывались разные мнения о том, как ее правильно понимать, где и как она применяется и вообще – стоящая ли это затея. Наши коллеги из проекта DOCFLOW взялись выяснить, может ли геймификация помочь простым пользователям осваивать системы электронного документооборота (как показывает практика, обычно простые пользователи в компаниях не любят изучать новое сложное ПО, а уж если изучили, то используют далеко не все его возможности). Этой теме был посвящен недавний вебинар «Корпоративные игры – возможности и сложности геймификации ЕСМ-систем».

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

Чтобы понять, работает ли это на практике, на вебинар пригласили эксперта из компании-разработчика СЭД, которая недавно провела на своих сотрудниках эксперимент, связанный с геймификацией. В чём он заключался?

Читать полностью »

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

Не могу поверить, что вы выбрасываете книги!

Я библиотекарь, но уже не библиофил.

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

Мне удалось излечиться от фетишизации печатных изданий, от любви к книгам ради самих книг. Я не вижу никакого смысла в складировании историй, которые уже никому не интересны, научных знаний, устаревших на целые десятилетия, размышлений о будущем, которое так никогда и не наступило, информации, на которую наложил отпечаток безрассудный расизм или сексизм своего времени. Однако, прежде всего, я рассталась с идеями о том, что книги просто в силу своего существования являются бесценным достоянием, которое никогда не утратит своей пользы.Читать полностью »

Значимые мелочиЗнаки препинания — неотъемлемая часть любого языка. Обычная запятая может кардинально изменить значение предложения: достаточно вспомнить историю с «Казнить нельзя помиловать». А работа переводчиков и редакторов предполагает, что они свободно ориентируются как минимум в двух пунктуационных системах.

Идея этого поста родилась, когда мы обсуждали перевод статьи. В исходном материале знак процента отделялся пробелом от числа, и это бросилось в глаза — в русском тексте в таком случае пробел не используется (хотя, всё же утверждение спорное — специалисты так и не пришли к единому мнению по этому вопросу). Тогда мы решили, что об этом нужно рассказать. Специалисты отдела многоязычной локализации опросили наших зарубежных коллег и подготовили материал, которым теперь делимся с вами. Надеемся, он окажется полезным.
Читать полностью »

Десяток датчиков и одна бабушка на службе прогрессаДобрый день!

Сегодня я расскажу тебе о конференциях ICDAR и CBDAR , состоявшихся в конце августа в стольном граде Вашингтоне. Точнее, не о конференциях целиком – наука там достаточно специфична, не зря помимо сотрудников ABBYY русскоязычных участников там было раз-два и обчёлся. Здесь речь пойдёт о работах команды под руководством учёного-энтузиаста по имени Кай Кунзе (Kai Kunze).

Область интересов Кая не вполне соответствует тематике конференций, но тесно с ней переплетается. Достаточно подробно Кай рассказал о своих разработках на своём пленарном докладе (Keynote talk) конференции CBDAR. А занимается Кай тем, что учит компьютер понимать, чем занимается пользователь. Так как большинство участников конференции (в том числе и я) слабо разбирается в «железе», то эта тема в докладах не была освещена должным образом, поэтому под катом рассказов о железе нет. Читать полностью »

Псевдолемматизация, композиты и прочие странные словечки

Содержание цикла статей про морфологию

Не все задачи успели мы с вами обозреть в предыдущем посте, поэтому продолжать будем в этом.

Часто случается, что в интернете появляется какой-нибудь неологизм. Например, «затроллить». Слово «тролль» в словаре есть, но «затролля» уже нет, а, как мы выяснили ранее, приставка при разборе не отделяется от корня, так что мы понятия не имеем, что это за «затроллить» и как его изменять. Чтобы проанализировать это слово, нам придётся воспользоваться псевдолемматизацией. Для этого мы снова пользуемся так называемым обратным деревом окончаний (записанных справа налево).
Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js