Sztuczna Inteligencja (tekstowa)...

0

Piszę sztuczną inteligencję, do której się coś gada, a potem wyskakuje odpowiedź.
Jak Zrobić, żeby po wpisaniu tekstu program szukał w nim odpowiednich słów, i jeśli jakieś słowo jest w tekście to odpisuje odpowiednim tekstem, a jeżeli nie znajdzie żadnego słowa, to odpowiada np. tekstem "Sorki, ale nie bardzo rozumiem o co ci chodzi..."?
Pleeeaaassseee!!! Odpiszcie! ;-| ;-(
Jeśli ktoś zna odpowiedź, niech odpisze na adres [email protected]

0

powiedzmy, że masz ten text w zmiennej s (string)

if pos('jakies_slowo',s) > 0 then ShowMessage('cos_tam') else SHowMessage('Sorki...');

[cya]

0

Chlopcze, nie uda ci sie, tyle razy o tym bylo..... poszukaj.....

To nie jest takie latwe, a porywasz sie na to jak Don Kichot na wiatraki :)

Zycze powodzenia

ps. ciekawe czy ten temat tez zablokuja?

0

to troszke skomplikowany temat.

Widzę, że wybierasz się z motyką na słońce, takich postów już było tu kilka. Ja napiszę tylko od czego powinieneś zacząć.

Po pierwsze, możesz napisać strasznie kupczarską SI wykorzystując instrukcje warunkowe, ale to będzie działało zbyt schematycznie.

Po drugie, możesz wmontować w program jakąś sieć neurownową, która będzie analizowała strukturę zdania, odpowiedzi innych, z którymi gadała a potem wybierała stosowną odpowiedź, jednak to już jest wyższa szkoła jazdy.

i po ostatnie, troszku to rozległy temat i wątpię aby ci ktoś odpowiedział na niego w zadowalający sposób, tak więc odpal google, wpisz +sieć +neuronowa lub +sztuczny +neuron i poczytaj sobie trochę o tym, a potem zabierz się do pisania prostego programiku. Kiedy już nauczysz się tym obsługiwać, będziesz mógł zabrać się za pisanie owego bota.

0

Ależ wy jesteście. On nie pytał o sztuczną inteligencję, tylko jak zrobić, aby po wpisaniu jakiegoś zdania wyrzuciło konkretną odpowiedź.

Najłatwiej zrobić to na dwóch listach z łańcuchami tekstowymi.
Załóżmy, że masz dwa TStringList. W pierwszym są po kolei umieszczone linijki z tekstem na jaki ma odpowiadać, a w drugim w takiej samej kolejności teksty odpowiedzi.

var
  Pytania, Odpowiedzi: TStringList;
  SzukaneZdanie: string;
  i: Integer;
begin
  ...
  i := Pytania.IndexOf(SzukaneZdanie);
  if i >= 0 then
    ShowMessage(Odpowiedzi.Strings[i])
  else
    ShowMessage('Mi ne komprenas ;) ');
0

Możliwe, że piszesz swojego rodzaju BOTa...

O tym jest w kodach źródłowych i chyba artykułach. Poczytaj w serwisie.

1 użytkowników online, w tym zalogowanych: 0, gości: 1