lazarus - program do rozmawiania z komputerem

Potrzebujesz pomocy z C, C++, perl, python, itp.
dawwin
Posty: 23
Rejestracja: 06 sierpnia 2009, 22:43

lazarus - program do rozmawiania z komputerem

Post autor: dawwin »

Od pewnego czasu pracuję nad projektem programu do rozmowy z komputerem. Na początku pisałem go tylko z ciekawości, czy mi coś z tego wyjdzie, ale udało mi się go rozbudować bardziej niż przypuszczałem i myślę, że jak na wersję 0.01 aplikacja radzi sobie z rozmową.
W związku z tym chciałbym Wam go pokazać. Program wypuszczam na licencji GNU GPL v3. Poniżej znajduje się krótka instrukcja jego instalacji i opis możliwości.
Możliwości programu Alex v0.01
--------------------------------------------------------------

Program Alex służy do symulowania rozmowy z człowiekiem w języku naturalnym, tzn. takim, jakiego używamy podczas każdej rozmowy (tylko język polski). Program jest dopiero we wczesnej fazie rozwoju, więc może nie do końca dobrze interpretować to, co do niego mówimy. Dlatego postanowiłem napisać coś o jego możliwościach.
Najogólniej mówiąc potrafi zapamiętywać to, co do niego mówimy, wykonywać zadane mu polecenia, odpowiadać na pytania. Może także zadawać nam pytania, przypominać o czymś, jeśli wcześniej kazaliśmy mu przypomnieć itp. itd.
--------------------------------------------------------------

Dla programu nie wpisujemy więcej niż jednego zdania na raz. Aplikacja nie rozróżnia też małych i dużych liter. Bez znaczenia, jakich będziemy używać. On zawsze posługuje się małymi.

Aplikacja zapamiętuje zdania, które wpisujemy. Możemy się przedstawić, powiedzieć, ile mamy lat, opowiedzieć, co dziś robiliśmy itp. itd. i program będzie się starał to zapamiętać i później odpowiedzieć na pytania, które mu zadajemy. Możemy zapytać go, jak się nazywamy itp... Pamiętajmy jednak, aby budować proste zdania. Nie musimy jednak wpisywać za każdym razem pełnego zdania - przykładowo, jeśli program zapyta "jak się nazywasz?", możemy po prostu odpowiedzieć (na przykład) "Dawid" i program zapamięta to, jako nasze imię. Możemy sami odpowiadać na nasze pytania, jeśli program nie zna odpowiedzi. Przykład:
-Ile mam lat?
-nie wiem
-17
-aha

I program to zapamięta. Aplikacja radzi sobie też z odpowiedziami typu "ja też", "i on też", "a ty nie" itp...
Możemy poprawiać to, co już program zapamiętał. Przykładowo zrobiliśmy literówkę. Aby to poprawić wpisujemy zdanie typu "nie daiwd, tylko dawid". Możemy używać różnych krótkich zwrotów typu "aha", "dzięki", "nieważne", "nie", "tak" itp. itd.
Jest jeszcze wiele podobnych wyrażeń, które program obsługuje. Możemy więc próbować z nim najzwyczajniej rozmawiać.

Alex posiada pewną bazę wiedzy. Głównie chodzi tutaj o pojęcia i regułki. Możemy zatem pytać go nie tylko tego, co sami mu już powiedzieliśmy. Tak więc pytając na przykład "co to jest komputer?", otrzymamy odpowiedź

Program potrafi wykonywać polecenia, które mu wydajemy. Możemy wydać mu na przykład komendę "otwórz mi napęd cd". Nic nie stoi na przeszkodzie, żeby program mógł wykonywać zadania zaplanowane na przyszłość. Na przykład "Jutro o 18 przypomnij mi, że ...", "za 3 dni od 18, 3 razy co 2 minuty wykonaj polecenie...", "5 kwietnia 2010 przypomnij, że..." itd. itp.
POLECENIA, KTÓRE MO¯E WYKONAÆ PROGRAM:
-otwieranie/zamykanie cd
-przypominanie o czymś w określonym czasie
-wykonywanie poleceń terminala (bez sudo)
-podawane daty/czasu
-wyłączanie się

W przypadku poleceń najbardziej liczę na pomoc przy tworzeniu nowych funkcjonalności

--------------------------------------------------------------
Uruchamianie programu Alex
--------------------------------------------------------------
Aplikacja jest dostarczana aktualnie tylko w postaci kodu źródłowego i można ją skompilować za pomocą środowiska Lazarus dla systemu GNU/Linux. Nie próbowałem kompilować programu pod MS Windows ani MAC OS X, więc nie wiem, czy i jak będzie działał.
Opis uruchomienia programu pod Linuksem (dla systemów opartych na debianie):

-Jeśli nie jesteśmy pewni, czy posiadamy najnowszą stabilną wersję lazarusa (0.9.28 lub nowsza) dodajemy następujący wpis do repozytoriów
deb http://www.hu.freepascal.org/lazarus/ lazarus-stable universe
-Aktualizujemy listy pakietów (sudo apt-get update)
-Instalujemy Lazarusa (sudo apt-get install lazarus)
-Rozpakowujemy archiwum poleceniem
tar -zxvf alex-0.01.tar.gz
-Uruchamiamy za pomocą zainstalowanego IDE znajdujący się w głównym katalogu rozpakowanego archiwum plik
alex.lpi
-I kompilujemy wciskając F9 lub zieloną strzałkę znajdującą się w górnej części ekranu
-Później program możemy uruchamiać już bez użycia Lazarusa, odpalając plik 'alex' znajdujący się w tym samym katalogu, co 'alex.lpi'
Dlaczego akurat Lazarus? Tak, jak już wspomniałem wcześniej program napisałem tylko z własnej ciekawości bez zamiaru pokazania go komukolwiek i dlatego wybrałem język, w którym pisze mi się najwygodniej.

Prosiłbym o opinie na temat programu i informacje, co w nim trzeba poprawić i co dodać.
http://eupload.pl/files/5TLTISU/alex-0.01.tar.gzhttp://eupload.pl/files/5TLTIESU/alex-0.01.tar.gz
ODPOWIEDZ