ПЗ_Забарин (1220033), страница 13
Текст из файла (страница 13)
Пошаговое распознавание акустической модели Яндекс
ПРИЛОЖЕНИЕ И
(рекомендуемое)
Программа для распознавания аудиофайлов
Main.cpp
#include <QCoreApplication>
#include <iostream>
#include <fstream>
#include <string>
#include <sstream>
#include <curl/curl.h>
size_t write_response_data(char *ptr, size_t size, size_t nmemb, void *userdata)
{
std::stringstream* s = (std::stringstream*)userdata;
size_t n = size * nmemb; s->write(ptr, n);
return n;
}
size_t read_request_data(char *ptr, size_t size, size_t nmemb, void *userdata)
{
std::ifstream* f = (std::ifstream*)userdata;
size_t n = size * nmemb; f->read(ptr, n);
size_t result = f->gcount(); return result;
}
const char* FILE_PATH = «./161.mp3»;
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
CURL *curl = NULL;
curl = curl_easy_init();
if (curl)
{
curl_easy_setopt(curl, CURLOPT_HEADER, 1);
curl_easy_setopt(curl, CURLOPT_POST, 1);
curl_easy_setopt(curl, CURLOPT_VERBOSE, 1);
curl_easy_setopt(curl, CURLOPT_IPRESOLVE, CURL_IPRESOLVE_V4);
struct curl_slist *headers=NULL;
headers = curl_slist_append(headers, «Content-Type: audio/x-mpeg-3»);
curl_easy_setopt(curl, CURLOPT_HTTPHEADER, headers);
curl_easy_setopt(curl, CURLOPT_USERAGENT, «curl/7.37.1»);
curl_easy_setopt(curl, CURLOPT_URL, «asr.yandex.net/asr_xml?uuid=12345678123456781234567812345678&key=3fa6f5e7-e203-439f-af36-3a0edd84661c&topic=queries&lang=ru-RU»);
std::ifstream fileStream(FILE_PATH, std::ifstream::binary);
fileStream.seekg (0, fileStream.end);
int length = fileStream.tellg();
fileStream.seekg (0, fileStream.beg);
curl_easy_setopt(curl, CURLOPT_READFUNCTION, &read_request_data);
curl_easy_setopt(curl, CURLOPT_POSTFIELDSIZE, length);
curl_easy_setopt(curl, CURLOPT_READDATA, &fileStream);
std::stringstream contentStream;
curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, &write_response_data);
curl_easy_setopt(curl, CURLOPT_WRITEDATA, &contentStream);
CURLcode code = curl_easy_perform(curl);
unsigned httpCode;
curl_easy_getinfo(curl, CURLINFO_HTTP_CODE, &httpCode);
std::stringstream msg;
msg << «Http code is « << httpCode;
std::cout << contentStream.str();
curl_free(headers);
curl_easy_cleanup(curl);
}
return a.exec();
}
ПРИЛОЖЕНИЕ К
(рекомендуемое)
Классификации задач нейронных сетей
Таблица К.1– Классификации задач нейронных сетей и их решений
| Класс задачи | Типы сети | Требования к сети и особенности | Пример задачи |
| Распознавание и классификация Образов
Идентификация | многослойный персептрон (MLP) вероятностные нейронные сети (PNN) Сети Кохонена. Сеть Хопфилда Сеть Хемминга | В процессе обучения выделяются признаки, отличающие образы друг от друга, которые и составляют базу для принятия решений об отнесении образов к соответствующим классам. | Ввод и обработка информации: Считывание и распознавание чеков и документов, распознавание рукописных текстов, отсканированных почтовых, платежных, финансовых и бухгалтерских документов. Безопасность: идентификация личности по отпечаткам пальцев, голосу, подписи или лицу. |
| Классификация | многослойный персептрон(MLP) вероятностные нейронные сети (PNN) Сети Кохонена. | 1.Для обучения имеется достаточный объем достоверных обучающих данных 2. Данные должны содержать примеры для всех затребованных классов. 3.Определены условия, критерии, и данные для тестирования системы. В задачах классификации нужно определить, к какому из нескольких заданных классов принадлежит данный входной набор. | Медицина: постановка диагноза, Экономика и бизнес: оценка рисков невозврата кредитов. |
Таблица К.1– Классификации задач нейронных сетей и их решений
(Продолжение)
| Класс задачи | Типы сети | Требования к сети и особенности | Пример задачи |
| Аппроксимация (регрессия); | Сеть типа радиальной базисной функции (RBF) обобщенно-регрессионные нейронные сети (GRNN) | В задачах регрессии требуется предсказать значение переменной. При формулировке задачи регрессии нужно учитывать, что получаемая зависимость следует из данных только в вероятностном смысле. | Экономика и бизнес: оценка стоимости недвижимости, рейтингование. Медицина: анализ эффективности лечения. |
| Прогнозирование | Однослойный персептрон Соревновательные сети многослойный персептрон(MLP) Сеть Кохонена Сеть Хопфилда | Задача прогнозирования, состоит из подзадач: классификации и регрессии. | Экономика и бизнес: прогнозирование временных рядов (курсов валют, цен на сырьё, объемов продаж,..), предсказание банкротств. |
| Кластеризация и визуализация | Нейросетевые карты самоорганизации Кохонена, Отображения Саммона. | Отвечает на вопросы о самом количестве возможных классов и общей структуре данных. Решается проблема “упаковки” многомерного набора признаков в двумерное пространство экрана компьютера или листа отчета | Политологические и социологические технологии: выявление значимых факторов, кластеризация электората, исследование и визуализация социальной динамики населения. |
| Управление | многослойный персептрон | Обеспечивает выработку управляющего воздействия. Сеть также выступает в роли следящей системы, адаптирующейся к изменяющимся условиям окружающей среды. | Авионика: адаптивное пилотирование сильно поврежденного самолета. Медицина: мониторинг состояния пациента. |















