Spisu treści:

Jak zrobić sztuczną inteligencję Część 2: 9 kroków
Jak zrobić sztuczną inteligencję Część 2: 9 kroków

Wideo: Jak zrobić sztuczną inteligencję Część 2: 9 kroków

Wideo: Jak zrobić sztuczną inteligencję Część 2: 9 kroków
Wideo: Jak zaprogramować sztuczną inteligencję? 2024, Listopad
Anonim
Jak zrobić sztuczną inteligencję Część 2
Jak zrobić sztuczną inteligencję Część 2

To jest część 2 o krokach, które podjąłem, aby zbudować sztuczną inteligencję na komputerze z systemem Windows, używając bezpłatnej bazy danych, narzędzia do programowania i bezpłatnego wbudowanego silnika TTS, który jest dostarczany z systemem Windows.

Słowo „Windows” należy do firmy Microsoft.

Słowo „smok” należy do Nuance.

Krok 1: Jak zrobić sztuczną inteligencję, część 2

Jak zrobić AI część 2
Jak zrobić AI część 2

Wybierz język programowania i zdobądź kilka narzędzi

Istnieje wiele języków programowania. Niektóre specjalizują się w sztucznej inteligencji. Moim ulubionym jest Visual Basic, więc tego właśnie użyłem. Pracuję również z bazami danych serwera SQL, więc też z tego korzystałem.

Możesz pobrać ich bezpłatne wersje z witryny firmy Microsoft. Wystarczy wyszukać „EXPRESS” w witrynie internetowej firmy Microsoft. [Visual Studio Express i SQL server Express]

Inne języki, które możesz nam chcieć to: Python, C#, C++, Java, Prolog, Lisp, IPL

i wiele innych. AIML to bardzo interesujący „język znaczników”.

Chciałem lepszego programu do „rozpoznawania mowy” niż ten, który jest dostarczany z systemem Windows, więc kupiłem oprogramowanie DRAGON. Używam standardowego programu „Zamiana tekstu na mowę” dostarczonego z systemem Windows.

Krok 2: Zaprojektuj swój system:

Zaprojektuj swój system
Zaprojektuj swój system

Podziel swoje duże projekty na kilka mniejszych. Podzieliłem kod programu na moduły.

Swój kod podzieliłem na różne moduły, aby konkretna funkcja była łatwiejsza do znalezienia.

Mam moduły o nazwach „Process Input”, „Process AI”, „Process Output”, „User Interface” i kilka innych. Niektóre z moich funkcji muszą być dostępne dla wszystkich innych modułów kodu, więc umieściłem te funkcje w „wspólnym” module, w którym wszystko jest współdzielone

Krok 3: Funkcje wbudowane w język programowania:

Funkcje wbudowane w język programowania
Funkcje wbudowane w język programowania

Różne języki mogą mieć różne nazwy, ale wszystkie języki wysokiego poziomu mają podobne funkcje.

LCase lub ToLower: Konwertuje ciąg na małe litery. Konwertuję wszystko na małe litery przed przeszukaniem bazy danych – mimo że większość rzeczy jest „niewrażliwa na wielkość liter” – na wszelki wypadek.

Zamień: Zamień ciąg wewnątrz ciągu na inny ciąg. Możesz zastąpić ciąg pustym ciągiem „”, aby się go pozbyć. Pozbywam się kropek, znaków zapytania, przecinków i innych znaków interpunkcyjnych.

Podziel: dzieli ciąg na pojedyncze części i umieszcza je w tablicy. Ta funkcja podzieli ciąg na dowolny znak lub „Ogranicznik”. Dzielę zdanie na „znak spacji” „”, aby utworzyć tablicę słów. Nazywa się to „tokenizacją” przez guru AI.

Poszczególnych słów używam do budowania zapytań wykorzystywanych do przeszukiwania bazy danych. (Więcej na ten temat w następnym artykule)

Krok 4: Połącz wbudowane funkcje, aby stworzyć własne funkcje

To jest „wizualny podstawowy” przykład. Użyj swojego języka programowania, aby zbudować coś takiego.

Oczywiście będziesz musiał napisać dużo kodu i zbudować wiele funkcji, używając wybranego języka programowania.

Krok 5: Co robią moduły? „Procesor wejściowy”

Co robią moduły? „Procesor wejściowy”
Co robią moduły? „Procesor wejściowy”

Sztuczna inteligencja może zadać to samo pytanie na setki różnych sposobów. Na przykład; „Która godzina?”, „Masz czas?” „Czy wiesz, która jest godzina?”, „Czy możesz mi podać aktualną porę dnia?” Ponieważ użytkownik pyta tylko o czas, konwertuję dowolne z tych danych wejściowych na pojedynczy wynik o nazwie „Czas zapytania” za pomocą tabeli „wyszukiwania” bazy danych.

Możesz napisać kod, który przejdzie przez tabelę, aż znajdzie dopasowanie, lub jeśli używasz bazy danych SQL, możesz napisać zapytanie SQL, takie jak…

„Wybierz dane wyjściowe z TableName, gdzie Input = „” cokolwiek „”

…A potem wysyłam wynik „Czas zapytania” do następnego modułu kodu; „Sztuczna inteligencja procesu”

Oprócz pytań istnieje wiele sposobów na powiedzenie „cześć”

Cześć, Cześć, co słychać, hej, hola, jak się masz?, pozdrawiam, witam, pozdrowienia, witaj….

Wszystko to sprowadza się do „Pozdrowienia”

Gdy procesor AI widzi „Greeting”, wysyła „Greeting” do procesora wyjściowego, który wybiera losowe powitanie z tabeli bazy danych i wypowiada je na głos.

Krok 6: „Procesor AI”

„Procesor AI”
„Procesor AI”

Process AI to największy moduł kodu. Jest tak duży, że również podzieliłem go na sekcje.

Dane wejściowe są sprawdzane, aby sprawdzić, czy użytkownik wypowiedział polecenie lub zadał pytanie. Ponadto sztuczna inteligencja może znajdować się w dowolnym z kilku „trybów”, co oznacza, że kod „procesowej sztucznej inteligencji” oczekuje, że użytkownik odpowie na pytanie, zamiast ZADAĆ pytanie.

Jeśli użytkownik nie wypowiedział polecenia, a sztuczna inteligencja nie jest w specjalnym „trybie”, buduje i wykonuje kilka zapytań z kombinacji słów w „tablicy słów”. Wszystkie wyniki zapytania są przechowywane w tabeli, a każdy wynik zapytania otrzymuje „punktację” określającą, w jakim stopniu wynik pasuje do wypowiedzi użytkownika. Tabela jest sortowana według punktacji, a wynik z najwyższą punktacją jest wysyłany na wyjście, jeśli przekroczy określony próg. Jeśli wszystkie wyniki są poniżej progu, sztuczna inteligencja może odpowiedzieć „nie wiem” lub „to się nie liczy”

Krok 7: Tabela „wyników i wyników”

ten
ten

Dane wyjściowe AI z moich danych wejściowych „Co zrobił kurczak?”

Krok 8: „Procesor wyjściowy”

„Procesor wyjściowy”
„Procesor wyjściowy”

Wykonuje to kilka „niepowiązanych” rzeczy, ale wszystkie one dotyczą przesyłania tekstu z procesora AI do użytkownika.

Oto lista.

1. Tekst z bazy danych może być pisany małymi literami i nie może zawierać znaków interpunkcyjnych.. Podprogramy zamieniają pierwszą literę na wielką, a na końcu umieszczają kropkę lub znak zapytania.

2. Kolejny podprogram umieści apostrofy z powrotem w skurcze lub zamieni je z powrotem w pełne słowa (tj. „cant” zostanie zastąpione przez „can not”)

3. Silnik zamiany tekstu na mowę nie wymawia niektórych słów tak, jak lubię, więc „Procesor wyjściowy” zastępuje te słowa pisownią fonetyczną. Mam w bazie danych tabele „wyszukiwania”, podobne do tej w „procesorze wejściowym”

4. Jeśli sztuczna inteligencja nie znajdzie odpowiedniej odpowiedzi w bazie danych, może powiedzieć „nie wiem”, ale nie chcę, aby powtarzała to w kółko. Prawdziwi ludzie różnią się odpowiedziami. Jest więc tabela z frazami „Wspólne wyjście” i funkcją, która wybiera jeden losowo (i nigdy nie wybierze tego samego dwa razy z rzędu).

5. Darmowy silnik „tekst na mowę” (TTS) nie daje programiście wielu opcji dotyczących sposobu wypowiadania zdań, ale masz niewielką kontrolę nad wysokością i szybkością fonemów. Terminem na to jest „Prozodia”. Dodałem kilka kodów „prozodii” do tekstu w mojej bazie danych, a kiedy „procesor wyjściowy” je zobaczy, dostosowuje wysokość i prędkość w silniku TTS, gdy każde słowo jest wypowiadane.

6. Czasami TTS jest po prostu trudny do zrozumienia, więc oprócz wypowiadania słów na głos, wyświetlam je również dużymi literami na ekranie komputera. Ta część „Interfejsu użytkownika” to siatka, która pokazuje ostatnie 6 linii konwersacji (wejście użytkownika i wyjście AI) i przewija się w górę w miarę dodawania nowych linii.

Krok 9: Pracuj dalej

Pracuj dalej
Pracuj dalej

Mój wkład brzmiał: „Nie mów nikomu”

Nadal pracuję nad swoim systemem AI i prawdopodobnie nigdy tak naprawdę nie zostanie to „zrobione”. W miarę dodawania kolejnych funkcji będę pisał więcej artykułów.

Może niektóre z moich pomysłów zainspirują Cię do zbudowania AI, która jest lepsza od mojej

Zalecana: