Оглавление:
- Шаг 1. Как создать ИИ. Часть 2
- Шаг 2: Создайте свою систему:
- Шаг 3. Функции, встроенные в язык программирования:
- Шаг 4. Объедините встроенные функции, чтобы создать свои собственные
- Шаг 5: Что делают модули? «Входной процессор»
- Шаг 6: «AI-процессор»
- Шаг 7. Таблица «Результаты и баллы»
- Шаг 8: «Процессор вывода»
- Шаг 9: Продолжайте работать над этим
Видео: Как сделать A.I. Часть 2: 9 шагов
2024 Автор: John Day | [email protected]. Последнее изменение: 2024-01-30 11:49
Это часть 2 о шагах, которые я предпринял для создания ИИ на компьютере с Windows, используя бесплатную базу данных, инструмент разработки программирования и бесплатный встроенный движок TTS, который поставляется с Windows.
Слово «Windows» принадлежит Microsoft.
Слово «Дракон» принадлежит Nuance.
Шаг 1. Как создать ИИ. Часть 2
Выберите язык программирования и получите инструменты
Есть много языков программирования. Некоторые из них специализируются на искусственном интеллекте. Мне больше всего нравится Visual Basic, поэтому я использовал именно его. Я также работаю с базами данных SQL-серверов, поэтому тоже использовал их.
Вы можете скачать их бесплатные версии с веб-сайта Microsoft. Просто выполните поиск «EXPRESS» на веб-сайте Microsoft. [Visual Studio Express и SQL Server Express]
Другие языки, которые могут вам понадобиться: Python, C #, C ++, Java, Prolog, Lisp, IPL.
и многие другие. AIML - это очень интересный «язык разметки».
Мне нужна была лучшая программа «распознавания речи», чем та, которая поставляется с Windows, поэтому я купил программу DRAGON. Я использую стандартную программу преобразования текста в речь, поставляемую с Windows.
Шаг 2: Создайте свою систему:
Разделите свои большие проекты на несколько более мелких. Я разделил свой программный код на модули.
Я разделил свой код на разные модули, чтобы было легче найти конкретную функцию.
У меня есть модули с названиями «Ввод процесса», «ИИ процесса», «Вывод процесса», «Пользовательский интерфейс» и некоторые другие. Некоторые из моих функций должны быть доступны для всех других модулей кода, поэтому я помещаю эти функции в «общий» модуль, где все используется совместно.
Шаг 3. Функции, встроенные в язык программирования:
На разных языках они могут иметь разные названия, но все языки высокого уровня имеют схожие функции.
LCase или ToLower: преобразует строку в нижний регистр. Я конвертирую все в нижний регистр перед поиском в базе данных - хотя большинство вещей «нечувствительны к регистру» - на всякий случай.
Заменить: заменить строку внутри строки другой строкой. Вы можете заменить строку пустой строкой «», чтобы избавиться от нее. Избавляюсь от точек, вопросительных знаков, запятых и других знаков препинания.
Разделить: разбивает строку на отдельные части и помещает их в массив. Эта функция разделит строку на любой символ или «разделитель». Я разбиваю предложение на «пробел» «», чтобы получился массив слов. Гуру ИИ называют это «токенизацией».
Я использую отдельные слова для построения запросов, используемых для поиска в базе данных. (Подробнее об этом в моей следующей статье)
Шаг 4. Объедините встроенные функции, чтобы создать свои собственные
Это «наглядный базовый» пример. Используйте свой язык программирования, чтобы создать что-то подобное.
Конечно, вам нужно будет написать много кода и построить множество функций, используя язык программирования по вашему выбору.
Шаг 5: Что делают модули? «Входной процессор»
Может быть сотни разных способов задать ИИ один и тот же вопрос. Например; «Который час?», «У вас есть время?» «Вы знаете, который час?», «Вы можете сказать мне текущее время суток?» Поскольку пользователь просто спрашивает время, я конвертирую любой из этих входов в один выход, называемый «Время запроса», с помощью таблицы «поиска» в базе данных.
Вы можете написать код для цикла по таблице до тех пор, пока не будет найдено совпадение, или, если вы используете базу данных SQL, вы можете написать SQL-запрос, например …
«Выберите вывод из TableName, где Input =‘»независимо от‘»
… И затем я отправляю вывод «Время запроса» следующему модулю кода; «Процессный ИИ»
Помимо вопросов, есть много способов сказать "Привет".
Привет, Привет, как дела, привет, привет, как дела?, Привет, добро пожаловать, приветствия, привет….
Все это сводится к «Приветствию».
Когда AI-процессор видит «Приветствие», он отправляет «Приветствие» процессору вывода, который выбирает случайное приветствие из таблицы базы данных и произносит его вслух.
Шаг 6: «AI-процессор»
Процесс AI - самый большой модуль кода. Он такой большой, что я тоже разделил его на секции.
Ввод проверяется, чтобы узнать, произнес ли пользователь команду или задал вопрос. Кроме того, ИИ может находиться в любом из нескольких «Режимов», что означает, что код «Обработка ИИ» ожидает, что пользователь ОТВЕТИТ на вопрос, а не ЗАПРОСИТЕ вопрос.
Если пользователь не произнес команду и ИИ не находится в специальном «режиме», он создает и выполняет набор запросов из комбинаций слов в «массиве слов». Все результаты запроса хранятся в таблице, и каждому результату запроса присваивается «оценка» того, насколько близко результат соответствует тому, что сказал пользователь. Таблица сортируется по количеству баллов, и результат с наивысшим баллом отправляется на выход, если он превышает определенный порог. Если все оценки ниже порогового значения, ИИ может ответить «Я не знаю» или «Это не вычисляет».
Шаг 7. Таблица «Результаты и баллы»
Вывод ИИ из моего ввода "Что сделал цыпленок?"
Шаг 8: «Процессор вывода»
Это делает несколько «несвязанных» вещей, но все они связаны с передачей текста от ИИ-процессора пользователю.
Вот список.
1. Текст из базы данных может быть полностью в нижнем регистре, без знаков препинания. Подпрограммы будут начинать с заглавной буквы и ставить точку или вопросительный знак в конце.
2. Другая подпрограмма вернет апострофы в сокращения или преобразует сокращения в полные слова (т. Е. «Cant» заменяется «can not»)
3. Механизм преобразования текста в речь не произносит некоторые слова так, как мне нравится, поэтому «Процессор вывода» заменяет эти слова фонетическим написанием. У меня есть таблицы «поиска» в базе данных, в которых они хранятся, аналогичные той, что во «процессоре ввода»
4. Если ИИ не находит подходящий ответ в базе данных, он может сказать «Я не знаю», но я не хочу, чтобы он повторял это снова и снова. Реальные люди меняют свои ответы. Итак, есть таблица с фразами «Общий вывод» и функция, которая выбирает одну наугад (и никогда не выберет одну и ту же дважды подряд).
5. Свободный механизм преобразования текста в речь (TTS) не дает программисту большого количества вариантов того, как произносятся предложения, но у вас есть небольшой контроль над высотой звука и скоростью фонем. Термин для этого - «Просоды». Я добавил несколько кодов «просодии» в текст в своей базе данных, и когда «Процессор вывода» видит их, он регулирует высоту тона и скорость в движке TTS при произнесении каждого слова.
6. Иногда TTS просто трудно понять, поэтому я не только говорю слова вслух, но и показываю их большими буквами на экране компьютера. Эта часть «Пользовательского интерфейса» представляет собой сетку, которая показывает последние 6 строк разговора (пользовательский ввод и вывод AI) и прокручивается вверх по мере добавления новых строк.
Шаг 9: Продолжайте работать над этим
Я посоветовал "Никому не рассказывать"
Я все еще работаю над своей системой искусственного интеллекта, и, вероятно, это никогда не будет «сделано» по-настоящему. По мере того, как я добавляю больше функций, я буду писать больше статей.
Может быть, некоторые из моих идей вдохновят вас на создание ИИ, который будет лучше моего.
Рекомендуемые:
Как сделать крутые часы своими руками - StickC - Сделать просто: 8 шагов
Сделай сам Как сделать классные часы - StickC - Легко сделать: в этом уроке мы узнаем, как запрограммировать ESP32 M5Stack StickC с Arduino IDE и Visuino для отображения времени на ЖК-дисплее, а также установить время с помощью кнопок StickC
Как сделать A.I. Часть 4: 3 шага
Как сделать A.I. Часть 4: На днях я разговаривал со своим ИИ и сказал ему: «Я иду наверх обедать, у нас STEAK». Однако программное обеспечение распознавания речи (SR) интерпретировало это как «… у нас есть STAKE». «Я столкнулся с похожей (но другой) проблемой уха
Как сделать A.I. Часть 1: 5 шагов
Как сделать A.I. Часть 1: Начните с компьютера, на котором есть распознавание речи и преобразователь текста в речь. Вам потребуется уметь писать компьютерные программы, которые могут получить доступ к распознаванию речи и преобразователю текста в речь. Некоторые инструменты разработки приложений. а также
Как сделать печатную плату дома, часть 1: 4 шага
Как сделать печатную плату дома. Часть 1: В настоящее время мы можем легко создать высококачественную печатную плату, даже не профессионального качества, а хорошего качества для хобби-проектов. дома без специального материала. Что такое печатная плата? Печатная плата (PCB) механически поддерживает, а электрическая
Как сделать - МОДУЛЬ ЭКРАНА ДЛЯ ЭЛЕКТРОННОЙ БУМАГИ E-INK - Часть 1: 6 шагов
Как - E-INK E-PAPER DISPLAY MODULE - Часть 1: В этом уроке я хотел бы рассказать о модуле E-Ink E-Paper Display, который я обнаружил недавно. Это так здорово! Этот дисплейный модуль E-ink специально разработан для разработки дисплеев E-ink. Вам не нужно строить дополнительную схему и