Ich wollte ein GesprÀchsprogramm schreiben. Ich wollte es wirklich verzweifelt.
NatĂŒrlich bin ich weit entfernt von professionellen Programmierern und auch kein Linguist, aber es gibt systemisches Denken und einen Sinn fĂŒr Sprache. AuĂerdem habe ich mich schon lange fĂŒr KI-Themen interessiert, ich habe damals sogar ein paar Posts gestrichen. Warum nicht Wissen in Programmcode implementieren? Nun, ich habe es versucht, so weit ich konnte.
Treffen Sie Vanya Reasonable.
Nachfolgend finden Sie eine Beschreibung der Probleme, die vor mir auf diesem gepflasterten Pfad aufgetreten sind, und wie Sie sie ĂŒberwinden können.
Ich werde gleich einen Vorbehalt gegen das Ergebnis machen: Das
Ziel war nicht der Programmcode, sondern die Formulierung der Prinzipien des kĂŒnstlichen Denkens , die NICHT auf der Grundlage der physischen RealitĂ€t funktionieren, wie biologische Organismen, sondern auf der Grundlage von SYNTACISIS. Fans des Turing-Tests, neuronaler Netze und maschinellen Lernens mĂŒssen sich keine Sorgen machen.
Achtung, das Material ist voluminös.
Wanne mit kaltem Wasser
Um unbegrĂŒndete Erwartungen mit nachfolgenden böswilligen SchnappschĂŒssen in den Kommentaren zu vermeiden, werde ich Wanja die VernĂŒnftige sofort in einer nicht darstellbaren Form demonstrieren. Also habe ich den Anfang von Emelya hochgeladen und versucht herumzufragen - genau wie im Literaturunterricht in Grundschulklassen.
Originaltext:
Es war einmal ein alter Mann. Er hatte drei Söhne: zwei kluge, der dritte - eine dumme Emelya. Diese BrĂŒder arbeiten und Emelya liegt den ganzen Tag auf dem Herd, sie will nichts wissen.
Sobald die BrĂŒder zum Basar gegangen sind und die Frauen, die Schwiegertochter, ihn schicken:
- Geh runter, Emelya, um Wasser zu holen.
Und er sagte ihnen vom Herd:
- Widerwillen ...
- Geh runter, Emelya, sonst kehren die BrĂŒder vom Basar zurĂŒck, sie bringen dir keine Geschenke.
- Okay.
Emelya weinte vom Herd, beschlagen, angezogen, nahm Eimer und eine Axt und ging zum Fluss. Er schnitt Eis, hob Eimer auf und stellte sie auf, und er sah in das Loch. Und Emel sah einen Hecht im Eisloch.Dialog:
Der Text kann jedoch angepasst werden - sagen wir also:
Der alte Mann hatte drei Söhne. Der erste Sohn war schlau. Der zweite Sohn war schlau. Der dritte Sohn war ein Dummkopf. Emelya ist der dritte Sohn des alten Mannes. Emelya ist gut.
Die Àltesten Söhne arbeiten den ganzen Tag und Emelya liegt auf dem Herd.
Einmal gingen die BrĂŒder zum Basar. Schwiegertochter sagt zu Emele:
- Geh und hol etwas Wasser.
Emelya antwortet vom Herd:
- Ich werde nicht gehen, um Wasser zu holen.
Schwiegertöchter sagen:
- BrĂŒder der Geschenke werden dich nicht bringen.
- Okay.
Emelya stieg vom Herd, beschlagen, angezogen, nahm Eimer und eine Axt. Dann ging Emelya zum Fluss.
Emelya schnitt Eis und hob Eimer auf. Und Emel sah einen Hecht im Eisloch. Hecht ist ein Fisch. Emelya hat einen Hecht gefangen.Nach der Anpassung geht es anstÀndig:
Trotzdem ist es in literarischen Texten inakzeptabel verwirrt. Trotz allem
denkt Vanya wirklich , im Gegensatz zu vielen seiner BrĂŒder, die hauptsĂ€chlich auf der Grundlage neuronaler Netze geschaffen wurden, die nur vorgeben, vernĂŒnftig zu sein, aber tatsĂ€chlich nichts anderes als Plastikpuppen sind. Wenn Sie neugierig sind, warum, lesen Sie weiter.
Ich gehe direkt zur Beschreibung der intellektuellen Odyssee ĂŒber.
Theoretischer Hintergrund
Ich argumentierte wie folgt.
Was ist das Hauptproblem der KI? Die Tatsache, dass der Computer die Bedeutungen von Wörtern nicht verstehen kann, ist "vernĂŒnftig". DarĂŒber hinaus wird angenommen, dass Menschen vernĂŒnftig sind, weil sie die vom GesprĂ€chspartner gesprochenen Worte verstehen.
TatsĂ€chlich sind die Leute nicht intelligent. Das Wort selbst bedeutet nicht mehr als die Buchstaben, aus denen es besteht (tatsĂ€chlich gekrĂŒmmte Linien) oder GerĂ€usche (Luftvibrationen). Sinn entsteht nur als Beziehung zwischen Buchstaben und Lauten als Elemente artikulierter Sprache, aufgrund stabiler Assoziationen, auch aufgrund von Verbindungen mit der Welt der visuellen Wahrnehmung. Zum Beispiel zeigt der GesprĂ€chspartner auf das Thema und sagt: "Dies ist ein Baum." Und Sie verstehen, dass dieser Gegenstand ein Baum genannt wird.
Der Chatbot (mit dem wir uns einverstanden erklĂ€ren, die KI zu verstehen, die sich ausschlieĂlich mit GesprĂ€chen befasst) kann nicht auf das Thema hingewiesen werden und sagte: âDies ist ein Baumâ, da die Augen des Chatbots, dh der Videokamera, fehlen. Es ist möglich, nur in Worten zu erklĂ€ren, aber wie erklĂ€ren Sie, wenn er die menschliche Sprache nicht versteht ?!
GlĂŒcklicherweise ist die Beziehung zwischen den Sprachelementen definiert und ziemlich schwierig: Die Syntax ist fĂŒr sie verantwortlich. Folglich enthĂ€lt jeder Text, der gemÀà den Syntaxgesetzen erstellt wurde, eine in der Syntax festgelegte Bedeutung. Der berĂŒhmte âGlock Cousinâ, der berĂŒhmte und unĂŒbertroffene in der Sichtbarkeit - der, wie sich herausstellte, seit langem der Computerforschung verpflichtet ist.
Aus den Erinnerungen eines Kameraden ĂŒber die fernen 70er Jahre:
Gloka KuzdraIm Juli 2012 kam ein Experte zu meinem Konzept und sagte: âGlokaya Kuzdra.â Ich verstehe. Es war ein Zeichen der Beteiligung an einem einst gemeinsamen semantischen Feld. ...
"Eine glockige Cuzdra Shteko Budlanula Bokra und Kudlachat Kokrenok."
In den 70er Jahren beschĂ€ftigten sie sich mit kĂŒnstlicher Intelligenz am Rechenzentrum der Akademie der Wissenschaften der UdSSR, an der IPU der Akademie der Wissenschaften der UdSSR und an mehreren anderen Instituten. Darunter gab es eine Richtung, die sich mit maschineller Ăbersetzung befasste. Das Problem ist seit Jahren nicht mehr gelöst, die semantische AmbiguitĂ€t erlaubte es nicht, die Bedeutung ohne Kontext zu ĂŒbersetzen. Es war nicht klar, wie der Kontext in einem Computerprogramm formalisiert werden sollte. Und so verteilte D. A. Pospelov / wahrscheinlich / ein Beispiel, das die Schwierigkeit dieser Ăbersetzung veranschaulicht. Er nahm die Phrase, die aus bedeutungslosen Wörtern besteht, aber gleichzeitig in der Struktur des Satzes und dem Klang der Wörter völlig klare identische Assoziationen fĂŒr völlig unterschiedliche Menschen schafft. Dieser Effekt des Verstehens konnte von der Maschine nicht erreicht werden. In der Tat, Gloky Kuzdra - eine Art böse Ziege - stieĂ sie natĂŒrlich sehr stark gegen eine Ziege und tut etwas UnverschĂ€mtes fĂŒr ein Kind ... In der IPU wurden maschinelle Ăbersetzungsseminare abgehalten, und ich sah ein solches Inhaltsverzeichnis an der Tafel: âGloky Kuzdra. Das Seminar findet um 14.00 Uhr in Raum 425 statt. "
Hilfe Der Autor dieses Satzes ist der berĂŒhmte Linguist, der Akademiker Lev Vladimirovich Shcherba. Die Wurzeln der darin enthaltenen Wörter werden kĂŒnstlich erstellt. Mit Suffixen und Endungen können Sie bestimmen, zu welchen Wortarten diese Wörter gehören, und die Bedeutung der Phrase ableiten. In dem Buch von L. V. Uspensky, âDas Wort ĂŒber Worteâ, wird seine allgemeine Bedeutung angegeben: âEtwas von der weiblichen Gattung hat einmal etwas ĂŒber eine Kreatur der mĂ€nnlichen Gattung begangen, und dann begann es, etwas Langes, allmĂ€hlich mit seinem Jungen zu tun ".
Quelle
kuchkarov.livejournal.com/13035.html Auf der Grundlage der âGlock Cuzdraâ können Sie einen vollwertigen Dialog aufbauen.
- Wer Budlan Bokra?
- Kuzdra.
- Wer klappert mit dem Busen?
- Auch ein Cousin.
- Wie ist sie?
- Glock.
- Wie haben Sie Budlanul Bokara?
- Shteko.Eine solche KI, die völlig frei ist, mit sich selbst zu kommunizieren, wird die Bedeutung der verwendeten Wörter nicht verstehen können: Sie wird weder wissen, was âshtekâ ist, wer âbokrâ ist, noch wie es möglich ist, zu stupsen. Aber ist es wirklich aus diesem Grund so, dass man davon ausgehen kann, dass KI unvernĂŒnftig ist und eine Person, eine perfekte biologische Kreatur, die die Semantik ihrer eigenen AusdrĂŒcke âverstehtâ, im Gegensatz zu KI völlig denkt? VollstĂ€ndigkeit ...
Menschen sehen keine Objekte, sondern beobachten ein Panorama aus farbigen Punkten - tatsĂ€chlich chaotisch. Objekte werden nicht in der AuĂenwelt, sondern im menschlichen Gehirn gebildet, indem die farbigen Punkte zu getrennten Aggregaten zusammengefĂŒgt werden. Dies bedeutet, dass wir in einer bestimmten illusorischen Welt existieren, die wir in gewissem Sinne konstruiert haben.
Ich habe gelesen, dass ein primitiver Stamm keine Flugzeuge am Himmel sieht - er sieht einfach nicht, das ist alles. Ich habe auch gelesen, dass die Indianer nicht bemerkt haben, dass sich die Schiffe von Columbus den Ufern nĂ€hern, weil ... sie es einfach nicht bemerkt haben. Und sie bemerkten, nachdem ihnen erklĂ€rt worden war, wie man aussieht - das heiĂt, wie man Farbpixel mit bestimmten Objekten verknĂŒpft. Ich glaube diesen pseudogeografischen Geschichten: Solche visuellen Paradoxien erscheinen mir plausibel.
Eine Person hat keinen Grund zu der Annahme, dass ihr Denken
auf eine besondere Art und Weise
strukturiert ist. Daher ist das
Prinzip des âGlitch Cousinsâ der einzige Weg, jemanden rational zu machen, sei es ein Chat-Bot oder eine Person . Sie können eine Vielzahl von Werkzeugen verwenden, das Konzept ist jedoch unbedingt erforderlich. Das habe ich mir vor Arbeitsbeginn gedacht und am Ende meine Meinung nicht geĂ€ndert.
Bibliotheken
Nachdem ich die Aufgabe festgelegt hatte, begann ich nach geeigneten Bibliotheken fĂŒr C # zu suchen.
Dann erwartete mich die erste EnttĂ€uschung: Es wurde nichts Passendes gefunden, jedenfalls umsonst. Alle Arten von vorgefertigten Modulen fĂŒr die Implementierung von Chat-Bots waren nicht erforderlich, ich war daran interessiert, mit Wortformen zu arbeiten. Es schien einfacher:
a) Bestimmen der morphologischen Merkmale der Wortform,
b) eine Wortform mit den erforderlichen morphologischen Merkmalen zurĂŒckgeben?
Das Lexikon ist begrenzt, auch die Anzahl der Zeichen. Und das Ding ist jeden Tag so nĂŒtzlich ... Es war nicht da!
Als ich nichts fand, versuchte ich wĂŒtend, die Determinante der morphologischen Zeichen selbst zu kodieren. Irgendwie habe ich nicht sofort gefragt. In diesem Zusammenhang hĂ€tte meine intellektuelle Odyssee unrĂŒhmlich im Abfahrtshafen geendet, wenn sie wiederholt und grĂŒndlicher gewesen wĂ€re. Google enthĂŒllte nicht ein paar freie Bibliotheken, die ich letztendlich benutzte. Wie immer danke an die Enthusiasten.
Die erste Bibliothek ist
Solarix . Viele Dinge erlauben es, aber aufgrund meiner geringen Kompetenz und finanziellen UnzulÀnglichkeit (die Bibliothek ist nur teilweise frei) habe ich einen bedingungslos freien Parser verwendet, der den Text analysiert und das Ergebnis in eine Datei schreibt.
Solarix-Parser-Beispiel<?xml version='1.0' encoding='utf-8' ?>
<parsing>
<sentence paragraph_id='-1'>
<text> .</text>
<tokens>
<token>
<word></word>
<position>0</position>
<lemma></lemma>
<part_of_speech></part_of_speech>
<tags>:|:|:|:|:|:</tags>
</token>
<token>
<word></word>
<position>1</position>
<lemma></lemma>
<part_of_speech></part_of_speech>
<tags>:|:|:|:|:0|:|:|:|:|:|:0</tags>
</token>
<token>
<word></word>
<position>2</position>
<lemma></lemma>
<part_of_speech></part_of_speech>
<tags>:|:0|:|:|:</tags>
</token>
<token>
<word></word>
<position>3</position>
<lemma></lemma>
<part_of_speech></part_of_speech>
<tags>:|:|:|:|:|:</tags>
</token>
<token>
<word>.</word>
<position>4</position>
<lemma>.</lemma>
<part_of_speech></part_of_speech>
<tags></tags>
</token>
</tokens>
</sentence>
</parsing>
â
LingvoNET, . , .
, .
, . : . , .
, .
Solarix â , . , , .
:
1. ,
, .
.« » â , , , : .
2. ,
., , .
3. , , .
, , .
.4. ( , - , ..)
, â .
5. « ». «», . « », .
â â , ⊠, ?
â :
, , â :
, , . , : ( ).
â â
, , ? : .
:
., ?
, :
1. ( ) â , .
2. ( ) â , .
3. â .
. : â â , .
:
.:
., .
, .
:
.:
., ( , â ), .
«» «» â , , , , . , : , «» .
: .
.
.
., , :
., :
1. . , .
.:
[Noun] . :
- .2. . , .
.:
[verb] . :
[] .3. . .
.« [noun]» , -: .
4. . .
:
.:
.5. : .
.:
. ..
( ) â : , , , , , , â , Solarix. , . : , , ( ) ..
(, : ), . , , .
«5 », :
« 3 7 »: , .
, , :
âą â ,
âą â ( ),
âą â ,
âą â ( ),
âą â ,
âą â .
, ( ). â .
: .
, .
, .:
. .
. .. , .
, , .
.:
. ., .
..
, , , , , .
:
., ? , , , , ⊠? , !
[Noun] . . :
- . ., : â , â . : , , .
â ., . , ? , , . , , .
, ( . ).

. !
, , , , .
, , :
âą (, , ),
âą ,
âą ( ),
âą ( : ),
âą ,
âą ,
âą ,
âą .
, . , ?
, . , «», «», « », « » ..
, «».
, ., : «».
, â .
, ., , , , . , , ?
, .- , â , â , . , ? , , , â , .
- : â , â . ( : - ).
. , , .
, , , :
, , ? , , : . :
.
.
., , - .
, .
, :
âą ( ),
âą , ,
âą ( , ),
âą (. ),
âą ( , , , ),
âą ( ),
⹠( , , «», , ),
⹠( «», «»).
.
, ? . .
:
â , ?
â .
â ?
â ., :
â ?
â .
â ?
â .â â .
â , , .
:
1. ( ).
2. (, ).
3. ( ).
4. ( ).
5. .
, ⊠, .
. â ? - ? ? -?
.
â , , , - - .
â , , .
-? , , , .
â , . -
« », , - ( ) .
.
.
, , . , - « ». , , :
.
.
.
...
, . , , . â .
!
:
!
!«», â «». .
:
1. .
2. .
3. .
â . , : , , .
- ? -, .
.
, â , .
., «», :
., - :
â ., , :
.?.. ??? , , :
.-, .
: - .
, .
â , «» «».
, «» «» .
?
?
?. â , , , â . :
:
?:
?:
? ?:
?:
?:
?:
?:
?.
.
, , . â .
, , :
- , , , . .
- , . , , . , .
-, «», «», « », â .
, , . , .
, :
?«» «» , «» â . , , .
( , ) , .
:
?«» â , . , .
, , .
, , , .
, , :
: , .
: .
â .
, - :
?:
? ?, : , , .
, .
, .
, .
, ?:
? ?, . , .
, , . , :
40 .?
45 .40 45, ? , , ? , ? , . , , , ?
, , : , ( ) â , â .
:
- â , .
- .
- , , .
- , ( , , )).
, .
, ? , . 1 40 , 5 , 31 45 . ?!
, , , , . , .
, -:
.
.
.
.
.
.
...
- .
â .
, :
.
.
.
.
., , , .
.
.
.
.
., . :
..
, -, , ., .
( , ) , :
1. .
2. .
3. .
â . , . - , , â .
â , . , .
, «» ( ). , .
:
:
, , , âŠ
( , ) . , â , - «». , , .
:
- . , .
- . , - , . , .
, , .
.
-, â , .
, , .
«» «». , , ?
. «» « »? , â . . ( ), â -, .
â . : , (
, , , ) , .
, â : . : , « â », . .
, , , .
â (, , , ). , ( ).
, . . , - , , , , , .
, , . , .
,
, .
, - , ⊠, : « â ». , ? «» . ( ) , , . (- ) , «» (, ) , , .
,
, . ?! .
, (- ).
, . , . , . , ., :
, ., !
, , , , !
. : â â .
? , . , , , ..
, :
) , , , ,
) , , , .
, , , , .
, â .
, :
.
., , .
, .
, , , , , , . :
?, :
?, , . , , .
, :
â .
- , -. â .
:
, !
, , .
. ., , , , - , . , ?!
, , !
, .
, - : « ( ) ! !»
! , , .
, . - , , : , , . , - ( , ) . - .
, , : â - . : .
, .
, , :
?? , : . , :
., : .
, â , . , â . ,
â , â .
. , , , :
â ?
â ., , . ( ), â ().
.
.:
- .
., .
:
?« ?» , «» â . :
, ?, â .
, , . ?
, :
â ?, .
, :
15 30 .. , , â ! â :
15 30 28 34 ..
, , ?! , , âŠ
, .
, â .
, , , â , â . - ! : - , . , - SQL-.
, 3 ( ) â 3 . -, -, .
- , .
:
?«» â «», «» â «», 3 :
.
.
., , . , :
., : SQL-. , , âŠ
, , SQL-, .
-, :
?
?
?-, â . «?» , , , .
? SQL-, , .
. , ?!
:
.:
?:
?, , , :
?
?.
,
, , -! SQL-: , .
, . , , : , . , . , : â ; â ( «» ). , « », .
, , . : . , n , . :
., -, . ( , , ) .
. ⊠, .
:
1. Solarix.
2. , .
3. .
4. .
5. , ().
6. ( ).
7. ( LingvoNET).
8. .
9. .
, . :
1. -, . , , . , , , .
2. -, ( ) . , ?
, ? , , , . â .
, , , âŠ
1) .
:
« ».« », â .
. , , â . , , .
2) .
, , - . , , . -, , , , , , , . ( ) , , , , , «» . , , âŠ
.
, . , â , « »?!
32- Microsoft Office Windows. 64- Windows Microsoft Access Database Engine 2010 (32-).
.
, . , â , , , . , , , . , .
, . : , , â . , , â .
, . ( ), â . , :
â . , .
â . . .:
â . â , .
â . . .: , «», «». , - . : , , , , ⊠!
, , - , , : , . .
, , , , â .
:
, â .â ( , . â . , .. , â ).
â .. , :

:
.
: ., , ., .
, , - - .
. : , . ,
, , , , â .