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

Я имею в виду, посмотрите на эту шутку несколько лет назад от xkcd, она больше не работает:

Наш считыватель визитных карточек (до машинного обучения)

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

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

Однако проблема, с которой мы столкнулись, заключалась в том, что у нас не было технологии оптического распознавания символов (OCR), и мы не собирались ее развивать. Мы не хотели полагаться на десктопные плагины (в душе мы веб-продукты), поэтому начали искать API, которые могли бы сделать эту работу за нас.

Мы нашли несколько API на основе компьютерного зрения, но изо всех сил пытались найти что-то доступное с хорошей точностью. Однако мы нашли некоторые обертки вокруг сервиса Amazon Mechanical Turk.

Что такое Amazon Mechanical Turk (MTurk)?

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

Название механический турок происходит от тщательно продуманного розыгрыша 18-го века, известного как механический турок. Это была фальшивая машина для игры в шахматы, и это было чудо автоматизации. Он обыграл в шахматы Наполеона Бонапарта и Бенджамина Франклина.

Это довольно впечатляюще для сегодняшнего дня, не говоря уже о 18 веке — слишком впечатляюще.

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

Возвращаясь к нашей первой версии считывателя визитных карточек, мы остановились на MTurk, мы отправили изображение человеку, который расшифровал визитку, и мы заплатили ему.

Прототип работал нормально, за исключением нескольких критических проблем, задержки были плохими, очень плохими. Работа может занять от 20 секунд до нескольких минут. На самом деле, во время написания этой статьи мы нашли забавное электронное письмо от нашего управляющего директора Филипа, отправленное несколько лет назад, в котором он сказал: «Мне нравится устройство для чтения визитных карточек, но почему для его работы требуется 15 минут?».

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

Наш считыватель визиток (после машинного обучения)

Итак, перенесемся на пару лет вперед, и API-интерфейсы машинного обучения прошли долгий путь. Теперь мы можем проверить, является ли фотография птицей или нет.

Поэтому мы решили снова создать наш считыватель визитных карточек, используя API-интерфейсы видения от Google.

Краткое описание решения (не волнуйтесь, это действительно не сложно)

Платформа Google Cloud AI предлагает ряд инструментов для внедрения машинного обучения в ваши продукты для их улучшения. Для нас было особенно два, которые представляли интерес для решения проблемы:

API Google Cloud Vision решает проблему «видеть», поскольку он позволяет RealtimeCRM понимать содержимое изображения, включая такие объекты, как логотипы, лица и, что наиболее важно для нас, оптическое распознавание символов (OCR), в основном возможность извлекать текст из изображения.

Итак, у нас решена зрительная часть. Нам нужно иметь возможность «предоставить контекст» для информации, которую мы извлекли. Вот где в игру вступает Google Cloud Natural Language API. Его можно использовать для распознавания таких объектов, как человек, местоположение или организация, а также общего настроения блока текста.

Как видите, он распознал, что «Google» — это организация, а «Маунтин-Вью» — это местоположение.

Итак, теперь мы можем предоставить контекст извлеченному тексту с помощью Vision API, который является недостающим элементом головоломки.

Теперь нам нужно объединить Vision API и Natural Language API, чтобы мы могли сделать что-то полезное, то есть создать новые записи контактов в RealtimeCRM из визитных карточек, как показано на приведенной выше блок-схеме.

Итак, мы знаем, что Joe Example — это текстовая строка и что это имя, поэтому оно должно войти в поле имени в записи контакта внутри RealtimeCRM, а другая информация на визитной карточке, естественно, следует тому же потоку.

Нам потребовался час, чтобы создать наш первый прототип считывателя визитных карточек с использованием Google Cloud API, у нас не было проблемы с задержкой, а стоимость была на несколько порядков ниже, чем наша предыдущая попытка с использованием MTurk, мы используем два вызова API (одно видение и один естественный язык) за поиск, что составляет около 0,0025 доллара США за сканирование, и мы получаем около 1000 бесплатных запросов в месяц.

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

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

Сейчас мы наблюдаем рост числа голосовых помощников, все это является частью одной и той же тенденции к простоте для конечного пользователя и решению проблемы задержки между человеком и машиной. Устройство чтения визитных карточек может создавать записи контактов быстрее, чем человек, и с помощью голоса. помощники, вы можете говорить быстрее, чем вы можете печатать. Вот почему на момент написания этой статьи было продано более 100 миллионов устройств Alexa — это передний край, где ценность сегодня такая же, как десять лет назад в смартфонах.

Первоначально опубликовано на realtimecrm.co.uk.