Программа для классификации данных

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

cls_splash

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

В созданной мной тестовом приложении классификации данных происходит на основе непараметрической оценки плотности распределения Розенблатта-Парзена. Исходными данными являются генерируемые выборки в трехмерном пространстве. Выборки генерируются по следующим параметрам: центральная точка, распределение (фактически вытянутость) и дисперсия по трем координатам.

Читать далее

Генератор случайных чисел по различным законам распределения

Известно, что в языках программирования встроен генератор случайных чисел. Обычно он генерирует значения от 0 до 1 по равномерному закону распределения. Иногда необходим генератор, который генерировал бы числа по другому закону распределения, например, по нормальному закону распределения, экспоненциальному или какому-либо другому.

В основе построения датчиков случайных величин лежит утверждение:

где

ε – случайная величина, принадлежащая промежутку [0..1], и имеющая равномерный закон распределения.

P(U) – требуемый закон распределения

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

Читать далее

Использование сканера в Delphi

Использование принтера и печать документов достаточно частая задача в проектах на Delphi, связанных с различными формами. Поэтому для этой цели существует ряд компонентов, в том числе и стандартных.

Однако использование сканера как оказалось не совсем тривиальная задача. В одной проекте на Delphi мне понадобилось использовать сканер и получать изображения с него. При первом рассмотрении нашлось несколько решений:

Каждый из способов хорош по своему.

Читать далее

MSAgent и MS Balloon

Долгое время посетители сайта просили меня написать статью о MS Balloon, о том как его подключить к Delphi и MSAgent, чтобы в нем появлялись разные сообщения. Я и рад был бы скорее написать, так как давно занимаюсь с MS Balloon.

MS Balloon

MS Balloon — это воздушный шарик, появлющийся у агента, когда он (или она или может быть оно) пытается нам что-то сообщить. Обычно это какое-нибудь сообщение, то что сейчас говорит персонаж. Но как мы видим в пакете MS Office в шарике выводится и другая дополнительная информация. Через него можно выдавать диалоги, просить пользователя ввести что-нибудь и т.д. Так почему же нам с вами этому не научиться?

Вот когда-то я тоже об этом подумал. MS Balloon это тоже ActiveX, своеобразная примочка к MSAgent’у. Причем бывают разные баллоны (шарики), их пишут разные люди. Например MsgBalloon, BlnDialog6.5 (есть уже 7.1, но его еще не пробовал) ну и стандартный в WindowsXP.

Читать далее

Speech API 4. Работа с голосом

Эта статья об управлении параметрами чтения чтекстов в Delphi функциями SpeechAPI.

Надеюсь, что вы прочитали первую часть SpeechAPI в Delphi и статью MSAgent и SpeechAPI, поэтому перейду непосредственно к способу управления параметрами чтения. Я опишу общий способ управления, а затем рассмотрим разницу управления параметрами речи при чтении методом Speak у MSAgent и чтением функциями API напрямую.

Теги

Как пишут в буржуйской офицальной документации к Microsoft Speech API: SAPI поддерживает изменения речевого вывода через специальные теги,вставляемые в читаемую текстовую строку. Эти теги помогают изменять параметры голосового движка для улучшения трансляции текста в речь. Поддерживает теги не только речевые движки, но и MSAgent. Теги — это основной способ управления голосовыми возможностями речевого синтезатора. Например: \spd=100\ — этот тег изменяет скорость речи на значение равное 100. Вот некоторые правила синтаксиса для речевых тегов:

  • Все теги начинаются и заканчиваются символом наклонной черты влево (\).
  • Отдельный бэкслэш не допускается в пределах тэга. Чтобы включить бэкслэш в текстовый параметр тэга, используйте двойную наклонную черту влево (\\).
  • Теги воспринимаются без учета регистра. Например, \Spd=100\ — тот же самый что и \SPD=100\.
  • Теги пробеловосприимчивы, то есть не допускают в себе лишних пробелов. Например, \Rst\ — не тот же самый что и \ Rst \

MSAgent поддерживает следующие теги: Chr, Ctx, Emp, Lst, Map, Mrk, Pau, Pit, Rst, Spd, Vol. При чтении через SAPI этот набор немного шире. Теги создавались для корректировки преобразования текста в речь, но некоторые из них изменяют стиль голоса, например на шепот. Поэтому одни из них имеют параметры, а у других они отсутствуют, как у тега \Emp\. А теперь подробнее про
каждый из них!

Читать далее

Speech API 4 в Delphi

В этой статье мы познакомимся с программированием речи в Delphi. Хотите чтобы Delphi заговорил — читайте эту страницу!

MSAgent & SpeechAPI

Нудеюсь, что вы уже установили пакет функций Speech API и хотя бы один речевой движок. Речевые движки — это те модули, которые синтезируют речь. Для доступа к ним нужно использовать специальные функции, которые описаны в наборе функций Speech API. Поэтому для того, чтобы написать минимальную программу умеющую говорить, нужны эти два компонента. Сначала мы попробуем написать как раз эту программу-минимум а потом заставим персонаж MS Agent заговорить. То есть постараемся совместить технологию MSAgent и SpeechAPI. Тогда агент станет еще более приятным.

Ну, а для того чтобы всем эти заняться нам потребуется полезный модулек speech.pas, в котором объявлены полезные константы, типы, функции и интрефейсы. Не забудьте подключить его в разделе uses главного модуля приложения.

Читать далее

MSAgent в Delphi

Здесь я расскажу, то что знаю о технологии Microsoft Agent и Speech API. А в течении моего рассказа мы попробуем кое-что написать в Delphi! Естественно, это не будет суперполный рассказ, но, думаю, достаточный, чтобы начать использовать в приложениях Delphi технологию MS Agent и Speech API.

Итак, все что нам понадобиться можно найти в конец страницы. Для начала нужно иметь Microsoft Agent Control 2.0 и один или более персонажей.

MS Agent — это обычный активный элемент ActiveX. Этот компонент активно используется Microsoft в пакете MS Office. Да, MS Agent это та самая скрепка, кошка, собачка или кто там у вас… появляющаяся при загрузке приложений MS Office.

MSAgents

Если вы уже скачали и установили MS Agent v2.0, то приступим к установке его в среду Delphi, else goto page down.

Запустите Delphi, откройте меню Component и выберите Install ActiveX control… Попытайтесь найти в списке Microsoft Agent Control 2.0 (Version 2.0), если его там нет, то нажмите кнопку Add и найдите вручную файл Agentctl.dll. Теперь можно нажимать кнопку Install…

Читать далее

The Stream

Ранняя осень — Дюбенко К. (аранжировка Буторин Д.)