Съдържание:
- Стъпка 1: Как да си направим AI Част 2
- Стъпка 2: Проектирайте вашата система:
- Стъпка 3: Функции, които са вградени в езика за програмиране:
- Стъпка 4: Комбинирайте вградени функции, за да създадете свои собствени функции
- Стъпка 5: Какво правят модулите? „Входен процесор“
- Стъпка 6: „AI процесор“
- Стъпка 7: Таблицата „продукция и резултати“
- Стъпка 8: „Изходен процесор“
- Стъпка 9: Продължете да работите върху него
Видео: Как да си направим AI Част 2: 9 стъпки
2024 Автор: John Day | [email protected]. Последно модифициран: 2024-01-30 07:50
Това е част 2 за стъпките, които предприех за изграждането на AI на компютър с Windows, използвайки безплатна база данни, инструмент за програмиране и безплатния вграден TTS двигател, който се доставя с Windows.
Думата „Windows“принадлежи на Microsoft.
Думата "Дракон" принадлежи на Нюанс.
Стъпка 1: Как да си направим AI Част 2
Изберете език за програмиране и вземете някои инструменти
Има много езици за програмиране. Някои са специализирани за A. I. Любимият ми е Visual Basic, затова го използвах. Работя и с бази данни на SQL сървър, затова използвах и това.
Можете да изтеглите безплатни версии на тези от уебсайта на Microsoft. Просто потърсете „EXPRESS“на уеб сайта на Microsoft. [Visual Studio Express и SQL server Express]
Други езици, които може да искате за нас, са: Python, C#, C ++, Java, Prolog, Lisp, IPL
и много други. AIML е „език за маркиране“, който е много интересен.
Исках по -добра програма за разпознаване на реч от тази, която идва с Windows, затова купих софтуера DRAGON. Използвам стандартната програма „Текст в реч“, доставена с Windows.
Стъпка 2: Проектирайте вашата система:
Разделете големите си проекти на куп по -малки проекти. Разделих програмния си код на модули.
Разделих кода си на различни модули, така че да се намери по -лесно определена функция.
Имам модули, наречени „Process Input“, „Process AI“, „Process Output“, „User Interface“и няколко други. Някои от функциите ми трябва да са достъпни за всички останали кодови модули, затова ги поставям в „общ“модул, където всичко се споделя
Стъпка 3: Функции, които са вградени в езика за програмиране:
Различните езици могат да имат различни имена за тези, но всички езици на високо ниво имат сходни функции.
LCase или ToLower: Преобразува низ във всички малки букви. Преобразувам всичко в малки букви, преди да извърша търсене в база данни-въпреки че повечето неща не са чувствителни към регистъра-за всеки случай.
Замяна: Заменете низ в низ в друг низ. Можете да замените низ с празен низ „”, за да се отървете от него. Освобождавам се от точки, въпросителни, запетаи и други препинателни знаци.
Разделяне: Разделя низ на отделни парчета и ги поставя в масив. Тази функция ще раздели низ на всеки знак или „Разделител“. Разделям изречение на „интервал“„„, за да направя масив от думи. Това се нарича „Токенизиране“от гурутата на AI.
Използвам отделните думи за изграждане на заявки, използвани за търсене в базата данни. (Повече за това в следващата ми статия)
Стъпка 4: Комбинирайте вградени функции, за да създадете свои собствени функции
Това е „визуален основен“пример. Използвайте езика си за програмиране, за да изградите нещо подобно.
Разбира се, ще трябва да напишете много код и да изградите много функции, като използвате езика за програмиране по ваш избор.
Стъпка 5: Какво правят модулите? „Входен процесор“
Може да има сто различни начина да зададете на AI същия въпрос. Например; „Колко е часът?“, „Имаш ли време?“„Знаеш ли колко е часът?“, „Можете ли да ми кажете текущото време на деня?“Тъй като потребителят просто иска време, преобразувам всеки от тези входове в един изход, наречен „Време за заявка“, използвайки таблица за търсене на база данни.
Можете да напишете код, който да премине през таблица, докато намери съвпадение, или ако използвате SQL база данни, можете да напишете SQL заявка, като …
"Изберете изход от TableName, където Input =" "каквото и да е""
… И след това изпращам изхода „Време на заявка“към следващия кодов модул; „Процес на AI“
Освен въпросите, има много начини да кажете „Здравей“
Здравей, Здравей, какво има, хей, хола, как си ?, поздрави, добре дошъл, поздрави, здравей….
Всичко това се свежда до „Поздрави“
Когато AI процесорът види „Greeting“, той изпраща „Greeting“към изходния процесор, който ще избере случаен поздрав от таблица в база данни и ще го произнесе на глас.
Стъпка 6: „AI процесор“
Процесният AI е най -големият кодов модул. Толкова е голямо, че го разделих и на секции.
Входът се проверява, за да се види дали потребителят е говорил команда или е задал въпрос. Също така, AI може да бъде във всеки от няколко „режима“, което означава, че кодът „Process AI“очаква потребителят да ОТГОВОРИ въпрос, вместо да ЗАДАВА въпрос.
Ако потребителят не е произнесъл команда и AI не е в специален „режим“, той изгражда и изпълнява куп заявки, извън комбинации от думите в „масива от думи“. Всички резултати от заявките се съхраняват в таблица и всеки резултат от заявката получава „оценка“за това доколко резултатът съвпада с това, което е казал потребителят. Таблицата се сортира по резултата и резултатът с най -висок резултат се изпраща към изхода, ако надвишава определен праг. Ако всички резултати са под прага, AI може да отговори с „Не знам“или „Това не се изчислява“
Стъпка 7: Таблицата „продукция и резултати“
Изходът на AI от моя вход „Какво направи пилето?“
Стъпка 8: „Изходен процесор“
Това прави няколко „несвързани“изглеждащи неща, но всички те са свързани с получаването на текста от AI процесора до потребителя.
Ето списък.
1. Текстът от базата данни може да е с малки букви и без препинателни знаци.. Подпрограмите ще изписват с главни букви първата буква и ще поставят точка или въпросителен знак в края.
2. Друга подпрограма ще върне апострофите обратно в контракции или ще преобразува контракциите обратно в пълни думи (т.е. „наклон“се заменя с „не мога“)
3. Двигателят за преобразуване на текст в реч не произнася някои думи по моя начин, така че „Изходният процесор“замества тези думи с фонетичен правопис. във „входния процесор“
4. Ако AI не намери подходящ отговор в базата данни, той може да каже „Не знам“, но не искам да казва това отново и отново. Истинските хора варират отговорите си. Така че има таблица с фрази „Общ изход“и функция, която избира една на случаен принцип (и никога няма да избере една и съща два пъти подред.)
5. Безплатният механизъм „текст в реч“(TTS) не дава на програмиста много опции за начина на произнасяне на изреченията, но вие имате малко контрол върху височината и скоростта на фонемите. Терминът за това е „Просодия“. Добавих някои „просодийски“кодове в текста в моята база данни и когато „Изходният процесор“ги види, той регулира височината и скоростта в TTS двигателя, когато всяка дума се изговаря.
6. Понякога TTS е просто труден за разбиране, така че освен да говоря думи на глас, ги показвам и с големи букви на дисплея на компютъра си. Тази част от „Потребителски интерфейс“е мрежа, която показва последните 6 реда на разговор (Въвеждане на потребител и AI изход) и превърта нагоре, когато се добавят нови редове.
Стъпка 9: Продължете да работите върху него
Моят принос беше „Не казвай на никого“
Все още работя върху моята AI система и вероятно тя никога няма да бъде „свършена“. Като добавям още функции, ще пиша още статии.
Може би някои от моите идеи ще ви вдъхновят да изградите AI, който е по -добър от моя
Препоръчано:
Как да си направим AI Част 4: 3 стъпки
Как да си направим AI Част 4: Онзи ден разговарях с моя AI и казах тотално: „Отивам горе на вечеря, имаме STEAK“. Софтуерът за разпознаване на реч (SR) обаче интерпретира това като „… имаме STAKE „Попаднах на подобно (но различно) проблемно ухо
Как да си направим AI Част 1: 5 стъпки
Как да си направим AI Част 1: Започнете с компютър, който има разпознаване на реч, а също и конвертор на текст в реч. Ще трябва да можете да пишете компютърни програми, които имат достъп до разпознаването на реч и преобразувателя в текст. Някои инструменти за разработка на приложения и
Как да си направим печатни платки у дома Част 1: 4 стъпки
Как да си направим печатна платка у дома Част 1: В днешно време лесно можем да създадем висококачествена печатна схема, дори не с професионално качество, а с добро качество за хоби проекти. у дома без специални материали. Какво е печатна платка? Печатна платка (PCB) механично поддържа и електрически
КАК ДА НАПРАВИМ ARDUINO NANO/MINI - Как да запишете Bootloader: 5 стъпки
КАК ДА НАПРАВИМ ARDUINO NANO/MINI | Как да запиша Bootloader: В тази инструкция ще ви покажа как да направите Arduino MINI от нулата. Процедурата, написана в тази инструкция, може да се използва за направата на всякакви дъски arduino за вашите изисквания по проект. Моля, гледайте видеото за по -добро разбиране на
Музикална реактивна светлина -- Как да направим супер проста музикална реактивна светлина, за да направим работния плот привлекателен .: 5 стъпки (със снимки)
Музикална реактивна светлина || Как да направим супер проста музикална реактивна светлина за създаване на страхотен работен плот. Хей какво става, момчета, днес ще изградим много интересен проект. Днес ще изградим реактивна музикална светлина. Светодиодът ще промени яркостта си според басът, който всъщност е нискочестотен аудио сигнал. Изграждането му е много просто. Ние ще