Spisu treści:

Jak zrobić sztuczną inteligencję Część 4: 3 kroki
Jak zrobić sztuczną inteligencję Część 4: 3 kroki

Wideo: Jak zrobić sztuczną inteligencję Część 4: 3 kroki

Wideo: Jak zrobić sztuczną inteligencję Część 4: 3 kroki
Wideo: 3 Kroki do Zarabiania Dzięki AI w Dropshippingu (ChatGPT + Midjourney) 2024, Lipiec
Anonim
Jak zrobić sztuczną inteligencję Część 4
Jak zrobić sztuczną inteligencję Część 4

Któregoś dnia rozmawiałem ze swoją sztuczną inteligencją i powiedziałem:

to: „Idę na górę na obiad, jemy STEK”.

Jednak oprogramowanie do rozpoznawania mowy (SR) zinterpretowało to jako „… mamy STAWKĘ”

Z podobnym (ale innym) problemem spotkałem się wcześniej, kiedy mówiłem o fotografii i powiedziałem słowo „OBRAZ”. Oprogramowanie SR zinterpretowało to jako „PITCHER”

Rozwiązaniem było proste przeszkolenie oprogramowania SR. (A może moja wymowa)

Ale kiedy wypowiadam słowa STEAK lub STAKE, wymawiam je dokładnie w ten sam sposób, a przeszkolenie oprogramowania SR nie pomoże w takich przypadkach.

Krok 1:

Jeden pomysł na rozwiązanie „Problemu homonimów”.

Muszę spojrzeć na słowo „w kontekście”, aby określić, jakiej pisowni użyć. Ludzki mózg robi to dość łatwo, a ty nawet nie wiesz, że to robisz.

Oznacza to, że sprawdzane są inne słowa w zdaniu, a Twój mózg decyduje, która pisownia wygląda najlepiej. Jak mam to zrobić w kodzie?

Moja sztuczna inteligencja program analizuje zdanie na tablicę pojedynczych słów za pomocą funkcji „Split” języka Visual Basic (VB). [MyArray = Split(InputSentence, ““)]

Każde słowo w tablicy można sprawdzić, aby zobaczyć, czy jest to możliwy homonim, przeglądając tabelę bazy danych zawierającą listę homonimów.

Oczywiście utworzenie kolejnej tabeli oznacza, że będziemy musieli wypełnić ją danymi, a także będziemy musieli mieć możliwość utrzymania danych w tabeli.

Podprogram samouczący się można zbudować później, aby zeskanować fragment tekstu, wyszukać słowa w mojej tabeli Homonym i przechwycić inne słowa „kontekstowe”. Hmmmmm, może potrzeba kilku stołów…

Napisanie tych „instrukcyjnych” pomaga mi „uzasadnić” rozwiązanie wyzwania programistycznego.

Krok 2:

Obraz
Obraz

Struktura tabeli HomonymContext

Moim pierwszym pomysłem była tabela zawierająca słowa, alternatywną pisownię i słowa „kontekstu”. Pomysł polegał na wyszukaniu w zdaniu zawierającym homonim innych słów dających „kontekst”, aby program mógł określić, jakiej pisowni użyć. Tabela zawiera również kolumnę o nazwie „WordDef”, która zawiera definicję słowa, co jest bardziej dla człowieka utrzymującego tabelę niż dla sztucznej inteligencji. kod.

Aby wyszukać każde słowo, mogę użyć kodu VB i kodu SQL, takiego jak…

Dla każdego słowa w MyArray

Query = "Wybierz słowo z tblHomonynContext gdzie słowo = '" & słowo & "'"

jeśli to zapytanie zwraca wynik, to słowo jest homonimem

Następny

Na tym etapie jest to po prostu pseudokod – nie napisałem jeszcze dokładnego kodu ani nie rozpracowałem wszystkich szczegółów. Ale zachęcam do skorzystania z mojego pomysłu i wdrożenia go w swoim ulubionym języku programowania.

Krok 3:

Obraz
Obraz

Jeśli zdanie wejściowe zawiera homonim, możesz teraz

wykonaj kod VB, który sprawdzi inne słowa w twoim zdaniu, ze słowami kontekstu w wynikach zapytania.

Możesz również zrobić to wszystko w procedurze składowanej SQL, która może działać szybciej.

Funkcja VB „InStr()” zwróci liczbę większą od zera, jeśli jeden ciąg jest zawarty w innym ciągu, lub zwróci zero, jeśli ciąg NIE jest zawarty w drugim.

Instr() faktycznie zwraca pozycję zawartego ciągu. Jeśli chcesz tylko wiedzieć, czy String1 zawiera String2, możesz użyć kodu takiego jak „If InStr(String1, String2) > 0 …”

Będziesz musiał zbudować ten kod w swoim ulubionym języku programowania.

Stół HomonymContext nie jest zbyt dobrym projektem. Zawiera wiele powtarzających się danych, co jest uważane przez projektantów baz danych za „nieznormalizowane”. Lepszym sposobem na zaimplementowanie tej funkcjonalności byłoby użycie dwóch tabel w relacji nadrzędny-podrzędny. Jedna tabela (The Parent) zawierałaby listę homonimów, ich definicje, a także identyfikator wiersza. Ten identyfikator wiersza jest używany jako klucz do „tabeli podrzędnej”, która zawierałaby słowa i ich słowa kontekstowe.

Byłoby to łatwiejsze do zapytania (i utrzymania) niż mój oryginalny projekt.

Zalecana: