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

Роль морфологии в компьютерной лингвистике

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

Морфология и компьютерная лингвистика для самых маленьких
Роль морфологии в компьютерной лингвистике
• Морфология. Задачи и подходы к их решению
• Псевдолемматизация, композиты и прочие странные словечки

Раньше автоматический перевод работал следующим образом:

  1. Анализировал формы слов в исходном предложении;
  2. Пытался подобрать одну из синтаксических схем исходного языка, в которую подошло бы предложение с найденными формами;
  3. Находил соответствующую синтаксическую схему для целевого языка;
  4. Находил перевод для каждой из словоформ в исходном предложении;
  5. Слова-переводы ставил в форму, необходимую для целевой синтаксической схемы.

Современные технологии пытаются пойти дальше. Читать полностью »

Морфология и компьютерная лингвистика для самых маленьких На Хабре уже был пост о Технопарке, и даже рассказы о курсах (1, 2), которые в нем проходят. Сегодня мы публикуем первую часть мастер-класса, который для студентов Технопарка провел Андрей Андрианов из ABBYY.

В цикле будет 4 поста

Морфология и компьютерная лингвистика для самых маленьких
• Роль морфологии в компьютерной лингвистике
• Морфология. Задачи и подходы к их решению
• Псевдолемматизация, композиты и прочие странные словечки

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

Облачные сервисы Windows Azure и убийственная звездочкаОдной из удобных плюшек облачных сервисов Windows Azure (PaaS, так называемые web и worker роли) является отсутствие необходимости устанавливать, настраивать и поддерживать операционную систему. Вместо этого разработчик может сосредоточиться на разработке начинки сервиса, которую затем в виде специального пакета он публикует в облако, после чего инфраструктура Windows Azure разворачивает его на виртуальных машинах с уже установленной, настроенной и оптимально пропатченной операционной системой, которую затем при необходимости сама же может обновить.

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

Рассмотрим подробно, как это происходит.Читать полностью »

Облака, ответственность и неожиданные ситуации с SSL сертификатамиПри обсуждении облачных платформ вполне естественно возникает вопрос о надежности платформы и об ответственности провайдера за ее неполадки. При этом ожидания пользователей самые высокие – все должно идеально работать 25 часов в сутки, 9 дней в неделю и все дни в году. В реальном мире возникают всевозможные проблемы – то при отключении внешнего электроснабжения не отработает переход на резервное, то на дне емкости с дизтопливом окажется конденсат (вода), то 29 февраля «через год» вычислят увеличением года на единицу.

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

Кто виноват, и что делать?

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

Ученик программистаШколу я бросил, когда мне исполнилось 16. Просто это было не для меня. Компьютеры – вот, что меня привлекало. Может быть, я был и неправ, но мне казалось, что в школе я только терял время, а мое настоящее образование начиналось только тогда, когда я возвращался домой. Я перестал уважать это учебное заведение и, естественно, совсем бросил учиться. Ну, и понаставили мне кучу диагнозов типа «необучаемый» и начали лечить. Оставалось только ждать, чтобы все это поскорее закончилось.

В конце концов я решил, что лучшее, что можно было сделать, – это бросить школу и пойти учиться на специалиста по информатике – программиста. Может быть, для тех, кто живет в США и Канаде, это звучит и глупо. Ведь там для того, чтобы получить диплом по специальности «компьютерные науки», надо закончить колледж или университет, но в Германии уйти из школы в ученики – обычное дело. У нас это называется «двойная система среднего профессионального образования». Наверное, эта система и есть одна из основных причин успеха Германии.
Читать полностью »

Олимпиадные задачи по программированию: что за зверь?Недавно мы анонсировали конкурс задач по спортивному программированию. Организаторы конкурса попросили написать короткое объявление о конкурсе в блог, но строгий редактор отказался печатать анонс без объяснения того, что же такое олимпиадная задача. Из этого родилась целая статья. Начнем, пожалуй, с примера олимпиадной задачи.

Этот же пример, чтобы по ссылке не ходить

ИТ-рестораны

ограничение по времени на тест: 4 секунды
ограничение по памяти на тест: 256 мегабайт
ввод: standard input
вывод: standard output

В городе N. очень плохо с дорогами, общепитом и IT-инфраструктурой. Всего в городе n перекрестков, некоторые пары которых соединены двусторонними дорогами. Дорожная сеть состоит из n - 1 дороги, по дорогам можно добраться с любого перекрестка на любой другой. Да, вы правы — дорожная сеть образует неориентированное дерево.

Недавно мэр города придумал способ, устраняющий проблемы с общепитом и IT-инфраструктурой, причем одновременно! Решено поставить на перекрестках города ресторанчики двух известных сетей кафе для IT-шников: «iMac D0naldz» и «Burger Bing». Так как владельцы сетей не дружат, категорически запрещается размещать рестораны двух разных сетей на соседних перекрестках. Есть и другие требования. Вот полный список:

  • в каждом перекрестке должен находится не более чем один ресторан;
  • каждый ресторан принадлежит либо «iMac D0naldz», либо «Burger Bing»;
  • каждая сеть должна построить не менее одного ресторана;
  • не существует пары перекрестков, которые соединены дорогой и на которых стоят рестораны разных сетей.

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

Помогите мэру проанализировать ситуацию. Найдите все такие пары (a, b), что a ресторанов может принадлежать «iMac D0naldz», b — «Burger Bing», а сумма a + b максимальна.

Входные данные

В первой строке входных данных содержится целое число n (3 ≤ n ≤ 5000) — количество перекрестков в городе. Далее в n - 1 строке перечислены все дороги, по одной дороге в строке. Каждая дорога задана парой чисел xi, yi (1 ≤ xi, yi ≤ n) — номерами соединяемых перекрестков. Считайте, что перекрестки пронумерованы от 1 до n.

Гарантируется, что заданная дорожная сеть представляет собой неориентированное дерево с n вершинами.

Выходные данные

В первую строку выведите целое число z — количество искомых пар. Далее выведите все искомые пары (a, b) в порядке увеличения первой компоненты a.

Примеры тестов

Входные данные

5
1 2
2 3
3 4
4 5

Выходные данные

3
1 3
2 2
3 1

Входные данные

10
1 2
2 3
3 4
5 6
6 7
7 4
8 9
9 10
10 4

Выходные данные

6
1 8
2 7
3 6
6 3
7 2
8 1

Первое, что бросается в глаза, это необычное условие. Такой подход сложился исторически: писать краткую математическую формулировку не принято. Обычно ее пытаются связать с реальной жизнью, ну или с не очень реальной. Например, в USACO героями всех задач являются фермер Джон и коровы. Прежде чем приступить к решению после прочтения условия, участнику требуется выделить математическую формулировку задачи.
Читать полностью »

Добрый день, уважаемые читатели.

Наверное, вы хотите услышать от нас бравурную success-story внедрения наших облачных технологий. Разочарую – сегодня речь пойдёт о делах более чем земных, но не становящихся от этого менее интересными. Я попробую рассказать вам об амбициозном проекте процессинга рунических документов, получаемых из разных источников. К примеру, вот таких:

image

В этом проекте мы столкнулись с необычными задачами не только для систем распознавания, синтеза текста и DA (document analysis – так у нас называют часть FineReader’а, отвечающую за выделение текстовых областей), но и для обработки изображений и экспорта.

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

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

ABBYY PassportReader SDK – когда вообще ничего не нужно настраиватьМы продолжаем серию статей про наши продукты для разработчиков, реализующие технологию извлечения данных из изображений (data capture). Новый продукт в линейке – ABBYY PassportReader SDK — специализированное решение для ввода данных из документов, удостоверяющих личность граждан России и стран СНГ.

Ключевое свойство нового продукта с точки зрения разработчика – исключительно простой программный интерфейс и работа «из коробки», без необходимости какой-либо предварительной настройки. В этой статье мы покажем, как выглядит использование продукта. Читать полностью »

Enterprise версия программы FizzBuzz с правильной архитектуройЗдравствуй, хабрачитатель. Я – редактор блога ABBYY. Сегодня утром ко мне пришли разработчики, принесли вот этот текст и попросили напечатать. Я не смогла придумать, почему этот текст должен появиться в корпоративном блоге, но разработчики говорят, что он смешной и принесёт радость людям. Так тому и быть!

Устали от полных кривизны и костылей сложных в поддержке программ? Постоянно слышите о правильной архитектуре, но так и не видели ее? Встречайте на Гитхабе Enterprise-версию программы FizzBuzz, показывающую, как должно выглядеть серьезное решение с правильной архитектурой.
Читать полностью »

Field level OCR. What is it for?Мы уже анонсировали крутую штуку под названием ABBYY Cloud OCR SDK. Она постепенно набирает популярность — на днях сервис распознал миллионную страницу. Кажется, это хороший повод повысить OCR-грамотность настоящих и будущих пользователей. Итак, начнём.

Сегодня речь пойдёт о существовании двух видов распознавания – Full Page OCR и Field-level OCR. Эти подходы отличаются не только ценой, между ними есть фундаментальные различия в том, зачем они нужны. К сожалению, далеко не все начинающие разработчики в области OCR понимают эти различия, и вынуждены учиться на ошибках. И более того, многие крупные и хорошо известные игроки на рынке Data Capture продолжают до сих пор использовать однопроходный алгоритм там, где будет хорош многопроходный (т.е. Full Page OCR вместо Field-level). Причины такого их поведения банальны: приложение написано много лет назад, и им слишком дорого переделывать архитектуру, UI, заново обучать своих партеров. И они вынуждены расплачиваться за это ограничениями в области качества распознавания.
Читать полностью »


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