QuerĂa escribir un programa de conversaciĂłn. TenĂa muchas ganas de hacerlo, desesperadamente.
Por supuesto, estoy lejos de ser programadores profesionales, y tampoco soy lingüista, pero existe un pensamiento sistémico y un sentido del lenguaje. Además, he estado interesado en los temas de IA durante mucho tiempo, incluso lancé un par de publicaciones en ese momento. ¿Por qué no implementar el conocimiento en el código del programa? Bueno, intenté lo más lejos que pude.
Conoce a Vanya Razonable.
A continuaciĂłn hay una descripciĂłn de los problemas que han surgido frente a mĂ en este camino adoquinado y cĂłmo superarlos.
Haré una reserva de inmediato sobre el resultado: el
objetivo no era el cĂłdigo del programa, sino la formulaciĂłn de los principios del pensamiento artificial , que funcionaba NO sobre la base de la realidad fĂsica, como los organismos biolĂłgicos, sino sobre la base de la SINTACISIS. Los fanáticos de la prueba de Turing, las redes neuronales y el aprendizaje automático no deben preocuparse.
AtenciĂłn, el material es voluminoso.
Tina de agua frĂa
Para evitar expectativas infundadas con instantáneas maliciosas posteriores en los comentarios, demostraré de inmediato a Vanya el Razonable en una forma impresentable. Entonces, cargué el comienzo de Emelya y traté de preguntar, al igual que en las clases de literatura en los grados de primaria.
Texto original:
HabĂa una vez un anciano. TenĂa tres hijos: dos inteligentes, el tercero, un tonto de Emelya. Esos hermanos están trabajando, y Emelya está acostada en la estufa todo el dĂa, no quiere saber nada.
Una vez que los hermanos se fueron al bazar, y las mujeres, nuera, enviémoslo:
- Baja, Emelya, por agua.
Y les dijo desde la estufa:
- Renuencia ...
- Baja, Emelya, de lo contrario los hermanos regresarán del bazar, no te traerán ningún regalo.
- Pues bien.
Emelya llorĂł desde la estufa, calzĂł, se vistiĂł, tomĂł baldes y un hacha y fue al rĂo. CortĂł hielo, recogiĂł cubos y los colocĂł, y mirĂł hacia el agujero. Y Emel vio una pica en el hoyo de hielo.Diálogo:
Sin embargo, el texto puede adaptarse, asĂ que digamos:
El viejo tenĂa tres hijos. El primer hijo era inteligente. El segundo hijo era inteligente. El tercer hijo era un tonto. Emelya es el tercer hijo del viejo. Emelya es buena.
Los hijos mayores trabajan todo el dĂa, y Emelya yace en la estufa.
Una vez que los hermanos se fueron al bazar. La nuera le dice a Emele:
- Ve a buscar agua.
Emelya responde desde la estufa:
- No iré a buscar agua.
Las nueras dicen:
- Hermanos de regalos no te traerán.
- Pues bien.
Emelya se bajĂł de la estufa, calzĂł, se vistiĂł, tomĂł baldes y un hacha. Entonces Emelya fue al rĂo.
Emelya cortó hielo y recogió cubos. Y Emel vio una pica en el hoyo de hielo. El lucio es un pez. Emelya atrapó una pica.Después de la adaptación, va decentemente:
De todos modos, en los textos literarios es inaceptablemente confundido. A pesar de todo,
Vanya realmente piensa , a diferencia de muchos de sus hermanos, creados principalmente sobre la base de redes neuronales, que solo pretenden ser razonables, pero en realidad no son más que muñecas de plástico. Si tienes curiosidad por saber por qué, sigue leyendo.
Paso directamente a la descripciĂłn de la odisea intelectual.
Antecedentes teĂłricos
Razoné lo siguiente.
¿Cuál es el principal problema de la IA? El hecho de que la computadora no pueda entender el significado de las palabras, respectivamente, es "razonable". Además, se cree que las personas son razonables, porque entienden las palabras pronunciadas por el interlocutor.
De hecho, no es una maldita cosa que las personas no sean inteligentes. La palabra en sĂ misma no significa más que las letras que la componen (de hecho, lĂneas curvas) o sonidos (vibraciones de aire). El sentido surge solo como una relaciĂłn entre las letras y los sonidos como elementos del discurso articulado, debido a asociaciones estables, incluso debido a las conexiones con el mundo de las percepciones visuales. Por ejemplo, el interlocutor señala el tema y dice: "Esto es un árbol". Y entiendes que este artĂculo se llama árbol.
El chatbot (por el cual aceptamos comprender la IA que se ocupa exclusivamente de conversaciones) no puede señalar el tema y decir: "Esto es un árbol", debido a la ausencia de los ojos del chatbot, es decir, la cámara de video. Es posible explicarlo solo con palabras, pero ¿cómo se explica, si él no entiende el lenguaje humano?
Afortunadamente, la relaciĂłn entre los elementos del habla está definida y es bastante difĂcil: la sintaxis es responsable de ellos. En consecuencia, cualquier texto construido de acuerdo con las leyes de sintaxis contiene algĂşn significado fijo en la sintaxis. El mismo "primo glock" puesto en el tĂtulo, el famoso y sin igual en visibilidad, que, como resultĂł, ha estado atado durante mucho tiempo a la investigaciĂłn informática.
De las memorias de un compañero sobre los lejanos años 70:
Gloka KuzdraEn julio de 2012, un experto acudió a mi concepto y dijo: "Glokaya Kuzdra". Lo entiendo Era una señal de participación en un campo semántico que alguna vez fue común ...
"Un gloz cuzdra shteko budlanula bokra y kudlachat kokrenok".
En los años 70, se dedicaron a la inteligencia artificial en el Centro de ComputaciĂłn de la Academia de Ciencias de la URSS, en la UIP de la Academia de Ciencias de la URSS y en varios otros institutos. Incluyendo que habĂa una direcciĂłn que se dedicaba a la traducciĂłn automática. El problema no se ha resuelto durante años, la ambigĂĽedad semántica no permitiĂł traducir el significado sin contexto. No estaba claro cĂłmo formalizar el contexto en un programa de computadora. Y asĂ, D. A. Pospelov / probablemente / distribuyĂł un ejemplo que ilustra la dificultad de esta traducciĂłn. TomĂł la frase, que consiste en palabras sin sentido, pero al mismo tiempo, en la estructura de la oraciĂłn y el sonido de las palabras, crea asociaciones idĂ©nticas completamente claras para personas completamente diferentes. La máquina no puede lograr este efecto de comprensiĂłn. De hecho, Gloky Kuzdra, una especie de cabra malvada, ella, por supuesto, golpeĂł a una cabra con mucha fuerza y ​​hace algo escandaloso para un niño ... TambiĂ©n se llevaron a cabo seminarios de traducciĂłn automática en la UIP, y vi una tabla de contenido en el tablero: "Gloky Kuzdra. El seminario se llevará a cabo a las 14.00 en la sala 425. "
Ayuda El autor de esta frase es el famoso lingĂĽista, acadĂ©mico Lev Vladimirovich Shcherba. Las raĂces de las palabras incluidas en Ă©l se crean artificialmente, los sufijos y las terminaciones le permiten determinar a quĂ© partes del discurso pertenecen estas palabras y derivar el significado de la frase. En el libro de L. V. Uspensky, "La palabra sobre las palabras", se da su significado general: "Algo del gĂ©nero femenino hizo algo en alguna criatura del gĂ©nero masculino de una vez, y luego comenzĂł a hacer algo largo, gradual con su cachorro ".
Fuente
kuchkarov.livejournal.com/13035.html Sobre la base del "glock cuzdra", se puede construir un diálogo completo.
- ¿Quién budlan bokra?
- Kuzdra
- ¿Quién está golpeando su pecho?
- También un primo.
- ÂżCĂłmo es ella?
- Glock
- ÂżCĂłmo hiciste budlanul bokara?
- ShtekoTal IA, que es completamente libre de comunicarse consigo misma, será incapaz de comprender el significado de las palabras que usa: no sabrá qué es "shtek", ni quién es "bokr", ni cómo es posible tocar. Pero, ¿es realmente por esta razón que se puede considerar que la IA no es razonable y que una persona, una criatura biológica perfecta, que "comprende" la semántica de sus propias expresiones, piensa completamente, a diferencia de la IA? Integridad ...
La gente no ve objetos, pero observa un panorama de puntos de colores, de hecho, caĂłticos. Los objetos se forman no en el mundo exterior, sino en el cerebro humano, al unir los puntos de colores en agregados separados. Esto significa que existimos en cierto mundo ilusorio, que en cierto sentido es lo que hemos construido.
LeĂ que alguna tribu primitiva no ve aviones en el cielo, simplemente no ve, eso es todo. TambiĂ©n leĂ que los indios no notaron que los barcos de ColĂłn se acercaban a las costas, porque ... simplemente no lo notaron. Y se dieron cuenta despuĂ©s de que se les explicĂł cĂłmo mirar, es decir, cĂłmo vincular pĂxeles de color a objetos especĂficos. Creo en estos cuentos pseudogeográficos: tales paradojas visuales me parecen plausibles.
Una persona no tiene ninguna razón para creer que su pensamiento está
estructurado de alguna manera especial, por lo tanto, el
principio de "primo glitch" es la única manera de hacer que alguien sea racional, ya sea un chat chat o una persona . Puede usar una variedad de herramientas, pero el concepto es incondicional. Pensé eso antes de comenzar a trabajar y no cambié de opinión al final.
Bibliotecas
Una vez establecida la tarea, comencé a buscar en Google bibliotecas adecuadas para C #.
Entonces me esperaba la primera decepciĂłn: no se encontrĂł nada adecuado, en ningĂşn caso gratuito. No se requerĂan todo tipo de mĂłdulos listos para la implementaciĂłn de bots de chat, estaba interesado en trabajar con formularios de palabras. ParecĂa más fácil:
a) determinar las caracterĂsticas morfolĂłgicas de la forma de la palabra,
b) devolver una forma de palabra con las caracterĂsticas morfolĂłgicas requeridas?
El lĂ©xico es limitado, el nĂşmero de signos tambiĂ©n. Y la cosa es muy Ăştil, todos los dĂas ... ¡No estaba allĂ!
Al no encontrar nada, en un ataque de ira intentĂ© codificar yo mismo el determinante de los caracteres morfolĂłgicos. De alguna manera no preguntĂ© de inmediato. En esto, mi odisea intelectual habrĂa terminado sin gloria, en el puerto de partida, si se repitiera, más exhaustivamente, google no revelĂł un par de bibliotecas gratuitas, que finalmente utilicĂ©. Como siempre, gracias a los entusiastas.
La primera biblioteca es
Solarix . Muchas cosas lo permiten, pero debido a mi baja competencia e insuficiencia financiera (la biblioteca es solo parcialmente gratuita), utilicé un analizador incondicionalmente gratuito que analiza el texto y escribe el resultado en un archivo.
Ejemplo de analizador Solarix<?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-).
.
, . , – , , , . , , , . , .
, . : , , – . , , – .
, . ( ), – . , :
– . , .
– . . .:
– . – , .
– . . .: , «», «». , - . : , , , , … !
, , - , , : , . .
, , , , — .
:
, – .– ( , . – . , .. , – ).
– .. , :

:
.
: ., , ., .
, , - - .
. : , . ,
, , , , – .