Распознавание телефонных звонков с помощью речевых технологий Yandex SpeechKit (новая версия Yandex SpeechKit Cloud и Yandex Object Storage)


Обработка позволяет преобразовывать телефонный звонки формата wav в текст с помощью речевых технологий Яндекса.
Дополнительно в обработке реализована нарезка телефонного звонка на кусочки по 1 Мб с помощью SOX.
Загрузка дополнительных данных по звонку из программы SpRecord.
Использовал на нетиповой конфигурации Управление торговлей 10.3.

Постановка задачи

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

Реализация

  • SpRecord

Телефонные звонки записываются с аналоговых линий с помощью системы регистрации и записи телефонных разговоров SpRecord (https://sprecord.ru/). В среднем в день получается около 500 Мбайт информации. Телефонные аппараты — самые простые Panasonic TS2350
 

SpRecord можно устанавливать в файловом или в серверном режиме. В серверном удобнее вытаскивать дополнительную информацию из SQL сервера по данным звонка. Таблица dbo_Records содержит все необходимые данные:

  • Номер линии
  • Дата звонка
  • Имя файла звонка
  • Телефон кому звоним
  • Внутренний номер
  • Входящий/Исходящий

Прямым запросом к SQL получаем эти данные и заполняем справочник Звонки в 1С.

  • SOX

Для распознавания файлы отправляются по 1 Мб — получается 500 запросов в день. Чтобы нарезать файл на кусочки используется утилита для работы с аудиофайлами SoX (http://sox.sourceforge.net/). Кроссплатформенная утилита для работы через командную строку. Утилита имеет огромные возможности для работы со звуком. Я использовал только:

— Получить длительность файла

sox —i -d  1.wav  > res.txt

— Получить частоту дискретизации файла

sox —i -r 1.wav  > res.txt

— Нарезка файла по 45 секунд 

sox " + ПутьКФайлу + " """ + ПутьКSox + "converted" + ТекСек + ".wav"" trim " +  ТекСек*45 + " 45

  • Распознавание звуковых файлов в текст Yandex SpeechKit Cloud.

Необходимо зарегистрироваться и получить ключ (https://developer.tech.yandex.ru). Первый месяц бесплатно. Можно получить несколько ключей и когда заканчиваются количество обращений на одном, то переходить на другой ключ. Я у себя использую 3 ключа, пока хватает объема. Скорее всего Яндекс обучает свою систему распознавания и ему необходимо больше звуковых файлов для анализа. Поэтому дают бесплатные ключи.

Качество распознавания очень зависит от телефонной гарнитуры и произношения менеджера. Дикторскую речь, которая записана на приветствии в АТС преобразовывает 100% правильно. Речь менеджера, который жует или пьет чай может преобразовывать с ошибками.

Для примера вот в таком виде вы получите текст разговора:

«але але добрый день добрый да половину оплатили оплатили так что сегодня увидите директор закончил говорить нет но вы сейчас на месте просто директор хотел поговорить а у него занято ну да скорее всего да ладно»

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

  • Доработки в 1С

В 1С создаем справочник Звонки. В нем храним ссылку на *.wav файл разговора, дату, номера кому звонили и с какого внутреннего телефона, а также текст расшифровки звонка. К карточке звонка я подключил проигрывание телефонных разговоров. (//infostart.ru/public/518955/)

В обработке Yandex speech реализована обработка ожидания. Каждые 2,5 часа запускает пакет заданий. Он содержит проверку новых звуковых *.wav файлов в каталоге SpRecord , загрузка их в 1С, далее получение доп. информации о длительности и номерах из SpRecord и далее нарезка файлов по 1 МБ и распознавание их в Yandex SpeechKit Cloud.

  • Скорость работы. Анализ накопленной информации. Проблемы при разработке

— Самое большое время тратится на отправку файла размером 1 Мб в Yandex SpeechKit Cloud и ожидание ответа(несколько секунд на каждый файл). Нарезка программой SOX занимает много меньше секунды. Загрузка дополнительных данных с SpRecord еще меньше. В дальнейшем распаралелить работу с SOX на одном сервере будет проблематично. Будут подвисать файлы. Лучше использовать несколько серверов или виртуальных машин.

— Обнаружил, что в SpRecord  файлы писались с частотой дискретизации 44100 Гц, при этом файл занимает довольно много места. Сейчас пишутся с частотой 11025Гц. На распознавание это никак не влияет. В первом случае в 1 Мб помещается 11 секунд разговора, а во втором 45 секунд. Лучше экономить место на диске. В начале каждого файла до 30 секунд занимает дозвон. Можно отрезать его у всех файлов. Пока не придумал, как программно понять, что начался разговор и нужно начинать преобразовывать.

— Поиграл с настройками языковой модели. Лучший вариант получился у «queries».

  •  Queries (Короткие запросы(queries) — фразы (3—5 слов) на различные темы, в том числе запросы в поисковых системах (на сайтах).)

  •  Maps (Адреса (maps) — адреса, названия организаций и географических объектов.)

  •  Dates (Даты(dates) — названия месяцев, порядковые и количественные числительные.)

  •  Names (Имена(names) — имена и фамилии, просьбы соединить по телефону.)

  •  Numbers(Числа(numbers) — количественные числительные от 1 до 999 и разделители — точка, запятая, тире. Модель подходит для диктовки номеров телефонов, счетов, документов.)

  •  Music (Музыка(music) — названия музыкальных произведений и исполнителей. Модель не предназначена для распознавания музыкальных фрагментов. Подходит только для распознавания названий, имен авторов и исполнителей песен.)

  •  Buying (Заказы(buying) — фразы, связанные с оформлением заказов в интернет-магазинах (подтверждение заказа и форма доставки).)

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

На данный момент накоплено 125 Гб телефонных переговоров. За 3 месяца работы распознано и загружено в 1С 28400 звонков – это около 298 часов переговоров.

После Нового года Яндекс заблокировал один ключ, который я зарегистрировал в ноябре и написал "Необходимо заключить лицензионный договор. Пожалуйста, обратитесь на почту voice@support.yandex.ru." Скорее всего скоро придется платить за пользование сервисом.

Если нужна доп. информация — пишите в комментариях. Отвечу на вопросы.

 

Обновление 21.03.2024

 

В феврале 2024 прислали письмо, что SpeechKit переехал в Яндекс.Облако, поэтому мы рекомендуем зарегистрироваться там для использования технологии.
Вам нужно перейти по ссылке https://cloud.yandex.ru, нажать "Подключиться" и авторизоваться через корректный аккаунт @yandex.ru.

Внимательно читаем документацию: https://cloud.yandex.ru/docs/speechkit

Изменилась авторизация, а также формат передаваемого аудио.

Начнем с авторизации:

 — регистрируемся в облаке https://cloud.yandex.ru

— Создаем каталог и берем идентификатор каталога

https://console.cloud.yandex.ru/folders/b5gfc3ntettogerelqed7p

b5gfc3ntettogerelqed7p — это идентификатор каталога.

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

— Получите OAuth-токен в сервисе Яндекс.OAuth. Для этого перейдите по https://cloud.yandex.ru/docs/iam/concepts/authorization/oauth-token

— Обменяйте OAuth-токен на IAM-токен:

Я перестал использовать HTTPЗапрос, который доступны в 1С 8.3. (у меня версия платформы 8.3.8.2197). Функция 1С ОтправитьДляОбработки менее стабильно и быстро работает чем cURL. Возможно это моё субъективное мнение. Скачать cURL можно здесь

 

Я использовал запуск cURL, которую запускал из bat файла. Далее анализирую ответ полученный в файле результата.

|curl -X POST -d ""{""yandexPassportOauthToken"": """ + OAuth + """}""  -H 'Content-Type: application/json' https://iam.api.cloud.yandex.net/iam/v1/tokens > " + ФайлРезультата;

Каждый 12 часов нужно получать новый IAM-токен, это можно определить по возвращаемой ошибке в распознавании "Not enough rights" или "FORBIDDEN"

 

Формат передаваемого аудио

Теперь необходимо передавать аудио в формате аудиокодека OPUS в контейнере OGG (OggOpus) или  формате LPCM без WAV-заголовка

Я использую формат OGG.

Для подготовки wav файл нарезаю по 55 секунд и далее преобразую в *.ogg

Количество секунд вывел методом проб и ошибок. Для частоты файла 11025 Гц этот размер точно проходит распознавание без ошибок. Если файл будет превышать, то вместо текста в ответ придет INTERNAL_SERVER_ERROR. Причем эта ошибка возвращается не сразу, а спустя пару минут, при этом обмен подвисает в ожидании.

|sox " + ПутьКФайлу + " """ + ПутьКSox + "converted" + ТекСек + ".wav"" trim " +  ТекСек*55 + " 55
|opusenc " + ПутьКSox + "converted" + ТекСек + ".wav " + ПутьКSox + "converted" + ТекСек + ".ogg  

opusenc это команда для преобразования wav в ogg. В sox нет возможности преобразовывать wav в ogg.

 

Распознавание в yandex облаке

|curl -X POST -H ""Authorization: Bearer " + token + """ --data-binary ""@" + ПутьКФайлу +  """ ""https://stt.api.cloud.yandex.net/speech/v1/stt:recognize/?topic=general&folderId=" + folderId + " > " + ФайлРезультата;

Получаем в Файл результата JSON, который преобразуем в текст и записываем в базу данных.

 

Служба поддержки SpeechKit Cloud написала, что можно одновременно отправлять 20 потоков распознавания. Я у себя реализовал это через несколько запусков curl, каждый поток обрабатывает свой звуковой файл. Мне хватило 4х потоков.

SpeechKit Cloud теперь платная, некоммерческих тарифов в Облаке нет.

Стоимость использования SpeechKit API для распознавания речи рассчитывается, исходя из длительности аудиофайлов, которые были успешно обработаны сервисом за Отчетный период. Длительность каждого аудиофайла измеряется в отрезках по 15 секунд с округлением в большую сторону.

Тарифы: https://cloud.yandex.ru/docs/speechkit/pricing

 

Инструкция по установке в типовую УТ 10.3.55.3

1. Добавить справочник Звонки со следующими реквизитами

Менеджер(Строка 30)

ДатаЗвонка(Дата и время)

РасшифровкаЗвонка(Строка неограниченная)

ИмяФайла(Строка 100)

ПолныйПутьКФайлу(Строка 500)

СтрокаОшибок(Строка неограниченная)

Длительность(Число 10,2)

Размер(Число 10,2)

ТелефонКудаЗвоним(Строка 20)

Входящий(Булево)

ВнутреннийНомер(Строка 3)

Контрагент(Справочник Контрагенты)

КонтактноеЛицо(Справочник КонтактныеЛицаКонтрагентов)

РасшифровкаЗвонкаОригинал(Строка неограниченная)

ДлительностьЗвонка(Строка 10)

КатегорияЗвонка (Строка 10)

Обработан (Булево)

Поток(Число 10,0)

 

Далее скачиваем обработку "Распознавание телефонных звонков с помощью Yandex SpeechKit Cloud:" и запускаем в конфигураторе.

В модуле обработки указываем настройки

1. путь к файлам со звонками

2. Идентификатор каталога yandex

3. OAuth yandex

4. Путь К программе Sox для обрезки звуковых файлов

 

Далее сохраняем обработку и запускаем в режиме предприятия.

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

по кнопке "Расшифровать звонки" файлы будут переведены в текст и записаны в элемент справочника Звонки.

 

Обновление от 07.12.2024

 

Добавил обработку Распознавание длинных аудио. Это дешевле, так как распознавание работает с небольшой задержкой.

При распознавании коротких аудио часто возникала ошибка "internal server error". Служба поддержки яндекса написала, что они исправят эту ошибку в будущем. ("до применения исправлений, вы можете передавать файл в одном из других поддерживаемых форматов: lpcm 16bit 8k/16k/48k Hz.
Также, вы можете воспользоваться распознаванием длинных аудио")

Чтобы распознать длинное аудио нужно:

1. Создать сервисный эккаунт, назначить роли и права.

2. Создать статический ключ доступа 

Эти пункты подробно расписаны в яндекс хелпе

3. При операциях с распознаванием и работой с файлами yandex storage необходимо получить IAM-токен. Я получал через 

yc iam create-token (ссылка на документацию)

Токен действителен 12 часов. 

4. Отправить файл на yandex storage

aws —endpoint-url=https://storage.yandexcloud.net s3 cp " + ИмяФайлаopus + " s3://voice/" + ИмяФайлаopus;

5. Получить ссылку на файл yandex storage и дать команду на распознавание файла

6. По ссылке, полученной в пункте 5, скачать распознанный текст.

 Скорость распознавания: 1 минута одноканального аудио примерно за 10 секунд. Если файл еще не готов, то в запросе вернется Ложь;

Есть ограничения:

Количество запросов в час 500, проверка статуса операции в час 2500.

7. После распознавания удалить файл из yandex storage

aws —endpoint-url=https://storage.yandexcloud.net s3 rm s3://voice/" + ИмяФайла;

 

Цена распознавания длинного аудио 100 секунд — 1 руб.

Цена распознавания короткого аудио 100 секунд — 1.7 руб.

Достоинства

Во вложении обработка Yandex speech в которой реализована функция проверки новых звуковых wav файлов в каталоге SpRecord , подгрузка их в 1С, далее получение доп. информации о длительности и номерах из SpRecord и далее нарезка файлов по 55 секунд и распознавание их в Yandex SpeechKit Cloud.

В обработке нужно:

— заполнить идентификатор каталога Yandex SpeechKit Cloud

— заполнить идентификатор OAuth

— путь к каталогу SOX.

— в каталог  SOX установить дополнительно opusenc и cURL 

— В функции ПолучитьМенеджера необходимо задать соответствие номера линии SpRecord и номера телефона менеджера.

— КаталогСФайлами путь к звуковым файлам разговоров программы SpRecord.

— СтрокаСоединения задать свои параметры подключения к SQl серверу

 

21 Comments

  1. eskor

    Интересная идея. Плюсую.

    Reply
  2. krylovim

    Интересно! Сам тоже собирался реализовать подобную функциональность, но пока не дошли руки)

    Не рассматривали варианты других движков по распознаванию речи?

    Google Cloud Speech API и MS SAPI в частности?

    Reply
  3. zzhiraf_

    Я тестировал вручную несколько файлов http://www.speechpro.ru/ (Voco.Professional). Там качество хуже получилось чем у яндекса. Google тестировал с android приложением. Там качество хорошее, но они матные слова отсекают. А у мне как раз хотелось в приложении наговорить текст и чтобы он в бегущей строке отобразился.

    Reply
  4. gubanoff

    (0) спасибо, работает. Взяли себе.

    Reply
  5. Venzor

    Добрый день. Пытаюсь сделать обратную процедуру голос из текста. Через HTTP возвращает КодСостояния = 400 и в теле {«error_code»:»BAD_REQUEST»,»error_message»:»unsupported content-type: application/octet-stream»}

    Код вот такой:

    Соединение = новый HTTPСоединение(«tts.api.cloud.yandex.net», , , , , ,Новый ЗащищенноеСоединениеOpenSSL);
    Заголовки = Новый Соответствие;
    
    Заголовки.Вставить(«Authorization», «Bearer » + токен);
    
    Запрос = Новый HTTPЗапрос(«speech/v1/tts:synthesize», Заголовки);
    Запрос.УстановитьТелоИзСтроки(«text=Hello World&lang=en-US&folderId=b1gafluvns32peta2od7»);
    
    Ответ = Соединение.Записать(Запрос);
    

    Показать

    через командную строку работает:

    curl -X POST -H «Authorization: Bearer CggaATEVAgAAABKABDRO1vVPXTWPxjtg9v_VzzBrjGuAw1nKMtpUhPoFfEuw­v4DRCGvFQSrjAfQArAIPu-HjHCOvQ7acy-hDm43zcqw36ZZWIJSVjXg8O1rxHJ8716Flj_-FO1DhE5nJbLWBzCPFDlLtoyfFg6ydIjsscCz2HUANkRNQ3Pi25PP69NE3H5R­8Y548CFX-lVHHF2hC6DU4BZp94-T5dI61bOTyM18EzuXFdV7DwFZXJnSprBHLTA0XZyJmyV_EB9jJtipvaDbAkY­bmrBmh4OE04BrLy350NIkwREmCwD1FKtWaaIeFpYVY_UP088n6sZVZGJ2NN1­KuCPdHrwWb0lMaaJqH0iGmKkBqJFgMu2br4wKg23pkUWb8jDqDj5IwGRy237­gHrKSkwYrCVmUD102sm7LNh3MdAv2VHlh4OCknmD2biUs3GixJtkoVdct_dK­cZJB9UrE57HPQDJlS9J5163xQDVR-ecplWkQg-xvcVSD3hTXCi7ogbFT9TCiJPtDNab3L4CMczUr_BcgOhYxduCl9N9JixLcoT­coZSUXSIEmCdjujOsMTNy97QWaw5Azb7ZaF3STUcJDDE8PTJ_-H8LJL4Uk1nhg19FCAR4TQ3Bs_8v3X60VW5fRz2hyGopAJpgBaZR7BFhkPnEI­za6CZJuTIZOVZO2hcJoBwAfPlC98nfVXmUGmMKIDA2N2ZiMzEwMmUzNjRiN2­ZhNjE0Mzg4ODVhNzFhNDhjEIiRi-oFGMjijeoFIiEKFGFqZWI3YmFubXFtamNsZ3ZrNXRjEglvbGVna2luMThaAD­ACOAFKCBoBMRUCAAAAUAEg8gQ» —data-urlencode «text=1234566 &человек&» -d «lang=ru-RU&folderId=b1gafluvns32peta2od7» «https://tts.api.cloud.yandex.net/speech/v1/tts:synthesize» > C:\_Delcurl-7.65.3-win64-mingwinspeechR.ogg

    Но только английский текст или цифры, русские слова игнорируются, как понимаю они до них доходят в неправильной кодировке и игнорятся.

    Пробывал и из 1с и из cmd и из батников в разных кодировках.

    Скачал обе обработки из материала, но первая не актуальна (HTTP), а вторая не связана с русским языком никак.

    Может подскажет кто-нибудь куда копать?

    Reply
  6. zzhiraf_

    Попробуй написать speechkit@support.yandex.ru, они отвечают довольно быстро. 400 — Синтаксическая ошибка в запросе. Тут нужно тестить разные варианты запроса, возможно подберешь нужный.

    Reply
  7. Lion_LexXx

    (6)

        АдресСервера = «tts.api.cloud.yandex.net»;
    iamToken = «ХХХХХХХХХХХХХХХХХХХХХХХХХХХХ»;
    folderId = «ХХХХХХХХХХХХХХХ»;
    
    ssl = Новый ЗащищенноеСоединениеOpenSSL(Новый СертификатКлиентаWindows( СпособВыбораСертификатаWindows.Выбирать), Новый СертификатыУдостоверяющихЦентровWindows());
    
    СоединениеЯндекс = Новый HTTPСоединение(АдресСервера, 443, , , , 20, ssl, Неопределено);
    Заголовки = Новый Соответствие();
    Заголовки.Вставить(«Authorization», «Bearer » + iamToken);
    Заголовки.Вставить(«Content-Type», «application/x-www-form-urlencoded;»);
    
    СтрокаТела =
    «text=Привет мир!» +
    «&lang=ru-RU» +
    «&folderId=» + folderId
    ;
    
    Запрос = Новый HTTPЗапрос(«/speech/v1/tts:synthesize», Заголовки);
    
    Запрос.УстановитьТелоИзСтроки(СтрокаТела,КодировкаТекста.UTF8);
    ТелоКакСтрока = Запрос.ПолучитьТелоКакСтроку();
    
    Ответ = СоединениеЯндекс.ОтправитьДляОбработки(Запрос);
    Сообщить(«Ответ.КодСостояния » + Ответ.КодСостояния);
    СтрокаОтвет = Ответ.ПолучитьТелоКакСтроку();
    ДвоичныеДанныеОтвет = Ответ.ПолучитьТелоКакДвоичныеДанные();
    ИмяФайла = «C:yandexspeechYandex.ogg»;
    ДвоичныеДанныеОтвет.Записать(ИмяФайла);

    Показать

    https://forum.infostart.ru/forum9/topic224518/#message2282682

    Reply
  8. Venzor

    Спасибо, я решил проблему, будет время это все оформить — выложу статьей сюда

    Reply
  9. skyboy13

    Ни одна из обработок не запускается без ошибок.

    в первой ошибка ms sql

    во второй на отсутствующую константу.

    и за это 12 стартмани?

    Reply
  10. skyboy13

    вторая обработка

    Reply
  11. zzhiraf_

    (11)

    Привет. я на след. неделе смогу посмотреть и исправить эту ошибку.

    У меня не коммерческая обработка, а только пример кода, который можно использовать у себя. Если нужно, чтобы все работало «из коробки», то на инфостарте есть https://infostart.ru/public/559601/ и другие аналоги.

    Скачивать 2 обработки не было нужды, в описании к обработке указано, что первая устарела и яндекс не пропустит её.

    Обработка распознавания работает на базе УТ 10.3, немного доработанной. На других конфигурациях не проверял. Если интересна скорость распознавания, точность, объем звуковых файлов, то пиши, отвечу на вопросы.

    Reply
  12. skyboy13

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

    Если нет цели получиться за это смартмани, тогда можно поставить режим бесплатно.

    Reply
  13. skyboy13

    По той ссылке, так же не работает. 🙁 только стоит уже живых денег.

    Reply
  14. skyboy13

    А зачем две скачал: ….. Когда одна не работает, есть шанс, что вторая работает. Но так, что бы две сразу, такое я еще не встречал.

    Reply
  15. Lion_LexXx

    (13)

    Если нет цели получиться за это смартмани, тогда можно поставить режим бесплатно.

    По правилам Infostart сейчас нельзя выкладывать бесплатно, раньше было можно.

    Да, согласен с вами, бывало, что скачаешь обработку за стартмани, а там три «строчки кода», которые бесполезные и не то на что ты рассчитывал… обидно.)) Жизнь-боль, но такие правила сайта.

    Reply
  16. zzhiraf_

    (13)

    Обновил обработку Распознавание телефонных звонков с помощью речевых технологий Yandex SpeechKit (новая версия Yandex SpeechKit Cloud):

    Напиши, если не получиться бесплатно скачать обновление, я вышлю на почту.

    Добавил описание запуска данной обработки на типовой УТ 10.3.55.3

    В обработке нужно задавать параметры авторизации https://cloud.yandex.ru/docs/iam/concepts/authorization/oauth-token

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

    В обработке не 3 строчки, а более 600 🙂

    Reply
  17. zzhiraf_

    (13)

    Обновил обработку Распознавание телефонных звонков с помощью речевых технологий Yandex SpeechKit (новая версия Yandex SpeechKit Cloud):

    Напиши, если не получиться бесплатно скачать обновление обработки.

    Добавил описание запуска данной обработки на типовой УТ 10.3.55.3

    В обработке нужно задавать параметры авторизации https://cloud.yandex.ru/docs/iam/concepts/authorization/oauth-token

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

    В обработке не 3 строчки, а более 600 🙂

    Reply
  18. skyboy13

    (17)

    не дает скачать. опять хочет 6 смартов. лучше тогда уж на почту skyboy__ya.ru

    Reply
  19. tventin

    Интересная обработка, но нет разбивки на диалог, Yandex SpeechKit может разделить участников диалога на менеджера и клиента?

    Reply
  20. zzhiraf_

    (20)

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

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

    Можно использовать ключевые слова, которые проговаривает менеджер и потом по ним делать поиск. Например «Заказ» или «Оплата». Телефоны у нас аналоговые, качество очень сильно зависит от того как разборчиво говорят менеджеры.

    Reply
  21. AMS_Guskov_VL

    на заре тоже пробовали такое для документооборота прикрутить, что бы директор «наговаривал» задачи. Но все сломалось о текст формата: «Сколько *** раз я просил дать данные ПКТ с битой РП6 на узк сразворотом» =)

    Reply

Leave a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *