logiciel de conversation

Répondre
Partager Rechercher
je suppose qu'un jour ou l'autre, certain programmes de conversation verrons le jour et trouverons certainement une application dans le monde du jeu


voici donc la question qui me démange:


quelqu'un a t'il une idée du langage de programmation et du type de programmation (tableur?) pour arriver a faire parler un logiciel?

merci a ceux qui prendront ma question au serieux et qui auront le courage de me répondre :-)))
La langage de programmation n'a aucune importance.
Il faut globalement des algorithmes de reconnaissance vocale, une énorme base de données, des algorithmes de synthèse vocale et un programme qui lie le tout.

Mais il y a un monde entre quelques actions pilotables à la voix et tenir une véritable conversation libre avec un PNJ et que cette conversation aboutisse a des actions différentes. Le premier a sans doute déjà été fait, le second ne se verra sans doute pas avant des (dizaines ?) années...
Citation :
Publié par Toro
Mais il y a un monde entre quelques actions pilotables à la voix et tenir une véritable conversation libre avec un PNJ et que cette conversation aboutisse a des actions différentes. Le premier a sans doute déjà été fait, le second ne se verra sans doute pas avant des (dizaines ?) années...
Ca viendra sûrement beaucoup plus vite que tu le crois, Siri et ses clones sont de belles démo de l'avancement de ces technologies.

Imho, le vrai débat qui nous attend sur le sujet, c'est la pertinence de son utilisation. Se servir de cette techno pour proposer aux joueurs d’interagir à la voix avec des PNJ qui comprennent le langage naturel dans un univers med-fan, je trouve ça un peu naze perso.
Par contre, s'en servir pour communiquer avec son propre vaisseau spatial dans un space-opéra à la Eve-online, je trouve ça nettement plus classe.


L'autre point potentiellement gênant, c'est que depuis quelques années, on a prit l'habitude de jouer en étant systématiquement connecté en vocal avec ses team-mates, ça va êtes compliqué de faire cohabiter les 2.
Citation :
Publié par Nikkau
L'autre point potentiellement gênant, c'est que depuis quelques années, on a prit l'habitude de jouer en étant systématiquement connecté en vocal avec ses team-mates, ça va êtes compliqué de faire cohabiter les 2.
Pas forcement, je vois déjà 2 solutions bateau :
- devoir appuyer sur une touche quand on parle à la machine
- devoir préfixer ses phrases avec une phrases modifiable par le joueur
Citation :
Publié par Nikkau
Ca viendra sûrement beaucoup plus vite que tu le crois, Siri et ses clones sont de belles démo de l'avancement de ces technologies.

Imho, le vrai débat qui nous attend sur le sujet, c'est la pertinence de son utilisation. Se servir de cette techno pour proposer aux joueurs d’interagir à la voix avec des PNJ qui comprennent le langage naturel dans un univers med-fan, je trouve ça un peu naze perso.
Par contre, s'en servir pour communiquer avec son propre vaisseau spatial dans un space-opéra à la Eve-online, je trouve ça nettement plus classe.


L'autre point potentiellement gênant, c'est que depuis quelques années, on a prit l'habitude de jouer en étant systématiquement connecté en vocal avec ses team-mates, ça va êtes compliqué de faire cohabiter les 2.
Siri et autres clones comme tu dis c'est pas du tout pareil. C'est juste une reconnaissance vocale + une estimation de la réponse. D'ailleurs le Google Now semble bien plus prometteur.
Du coup pour la commande d'un vaisseau oui. Au lieu d'appuyer sur la touche 5 qui a la compétence "torpille photon" tu diras "Ordinateur, Torpille photons!". Niveau réactivité il va falloir adapter le gameplay.

Par contre ce qui dit l'auteur c'est la conversation avec un pnj et là on est très très loin d'avoir quelque chose qui marche. Et avant que cela soit appliqué dans les jeux il y a encore du temps. Un arbre à multiple choix (dans la lignée des Mass Effect/Swtor etc) c'est déjà pas mal et c'est pas la priorité du jeu non plus (de mon point de vue).
Je te donnais Siri comme exemple uniquement sur l'aspect "langage naturel", je parlais pas du moteur de recherche derrière.

Siri tu peux lui parler en français, pas juste en robot, tu lui parles pas comme à ton répondeur, au lieu de dire "Siri météo" tu peux dire "Siri, est-ce qu'il va faire beau demain?".

Dans le contexte, ça me parait être un progrès intéressant.
excusez moi de la floutitude de ma question :-)

la question portait bien sur une intelligence artificielle capable de répondre (pas forcement a l'oral mais plutôt a l’écrit ) a des interrogations ou a une conversation (style test de turing)

et mon objectif est de comprendre la logique de fonctionnement d'un tel programme et accessoirement connaitre le langage utilisé
j'avais raté ta reponse, pour le langage, ça a déjà été répondu mais il faut apparemment remettre une couche: elle veut rien dire ta question. c'est comme demander dans quelle langue on peut écrire des poèmes.
et pour l'algo, c'est a toi de réfléchir, toute les appli sur lequelle je suis tombé sont constituer d'un parseur en béton, qui récupére les mots important et le temps employé et qui va chercher dans un énorme tableau la réponse correspondante, avec visiblement une mini state machine derrière qui se souviens de la conversation en cours, et bien entendu ta un mec qui s'est fait chier pendant 1 ou 2 ans de sa vie a mettre dans un tableau toute les réponse possible de toutes les conversations possible.
si ta mieux fonce tu va faire fortune.

Dernière modification par Titan. ; 27/07/2012 à 20h02.
sa me rappel un vieux jeux, T4C. Où il fallait dire 'bonjour', puis 'acheter' ou 'vendre' aux commerçant. (sans oublier de dire 'adieu')
Ses mots clé sont avec une police particulière.

Nous pouvons donc alors imaginer que dire "bonjour" pret d'un pnj pourrais alors débuter la conversation avec lui.



toujours avec le concept d'utilisation d'un micro:
le deuxième aspect que j'ai découvert c'est dans APB où notre micro est envoyé vers les personnage du groupe et ceux prés de nous. J'adore le concept, surtout quand on a des rageux en face. mais en tout cas sa lie une sorte de TS, skype, mumble, ... aux jeux. bien entendu ceux qui le veulent peuvent désactiver cette option. mais surtout ceci permet d'ajouter des fonctions à un jeux où la majorité des joueurs utilisent en extérieur.

avec ses quelques ligne j'espère pouvoir donner des idées a nos dev de jeux
Dans t4c ce n'est pas une conversation mais juste des options ... Qui pour les choisir tu les cites. Mais c'est kiff kiff. Au lieu de "1" tu met juste "je connais le kung fu".

Maintenant c'est une approche réaliste que de faire fonctionner un programme qui réagirait à des mots clefs... On est loin de la conversation, mais en étoffant bien le programme on peut arriver à un résultat pas trop trop mal.

Sinon il y a des logiciels qui """"apprennent"""", c'est à dire qu'ils sont évolutifs ... Avec beaucoup de limites, ça doit pas changer grand chose au tableau et ses quelques années de taf oO.

Sinon le langage n'a pas énormément d'importance .... C, java, etc ... C'est l'algorithme qui compte. Bref, tout en semblant débuter en informatique tu as posé une colle dont, si tu la résous, penses à remercier "les faiseurs de monde" lorsque tu toucheras ton premier million d'euro .
je vous prie d'excuser ces questions mais elle parte d'une réflexion qui me titille depuis un certain temps.
il me semble de manière intuitive que, si l'on a pas encore mis en place de logiciel de conversation permettant de communiquer avec un ordinateur, c'est plus une question de difficulté a comprendre la pensée humaine, qu'une question de vitesse de processeur, ou de taille de mémoire.
Grâce a vos réponse j'ai pu comprendre que le langage de programmation importait peut.

Par contre il semble que quelqu'un capable de comprendre le fonctionnement du langage humain, pourrait écrire un algorithme permettant de décrire la fonction de conversation, avec une connaissance très basique du langage informatique.

il me semble tellement désolant, d'utiliser un logiciel seulement capable de renvoyer des réponses stéréotypées pour donner l'illusion d'une conversation.
Alors qu'il me semble que la solution pour fournir une discussion intelligente est accessible


Voici donc avec un exemple ce qu'il me semble possible de faire

Pour simplifier l'utilisation des temps je pense que l'on peut utiliser les verbes a l'infinitif avec comme seule indication du temps: avant, maintenant, et après en installant une horloge et en définissant les trois termes par rapport au présent de l'horloge

Dans un premier temps il faut admettre que l'humain un animal trop culturellement développé pour être directement "programmé" et qu'un être simple doit servir de base de départ
Le plus simple étant de prendre pour modèle un être monocellulaire et de le doter de la parole

En partant du principe que chaque être est définit par un nom il me semble logique d'attribuer une date de naissance associé a une espèce pour tenir lieu de nom
Ainsi le premier être né a 1 aout 20212 crée par le programmeur appartenant a l'espèce 1 porterait le nom de 101082012
Son premier enfant 1.05.08.20212 s'il est né le 5aout
son petit fils serait 1.10.08.2012 s'il est né le 10 aout
Imaginons que ca durée de vie ne dépasse pas 16 jours et qu'il fasse un enfant tous les 5 jours il pourra donc faire 3 enfants au cours de sa vie
ainsi avec 3 génération au cour d'une vie on a crée les concept de naissance, mort, vie , Grand père, père , frère fils, la fratrie et les cousins, oncles ,neveux, grand oncle, petit neveux, ainé , cadet, génération, avant maintenant, après

Les dénominations de parentèle peuvent être paramétrées chacun changeant de titre en fonction de l'écoulement du temps a chaque fois qu'il y a des naissances ou des morts
A chacun de ces événements peuvent être associé les termes liée a la vie tel que grandir puberté poids chacune étant définis par une taille un poids ou un âge.
La fonction de la vie répondant a 3 préoccupation majeur qui sont se reproduire se nourrir et se défendre voyons comment se comporte la nutrition et la défense.

Disons que l'espèce 1 se nourrit par photosynthèse il est donc nécessaire de nommer un certain nombre d'objet tels que le soleil, l'air, la terre, la mer, les rayons lumineux,
Si l'on crée une sphère comportant longitude latitude, d'altitude et pression on peut déterminer la position des différentes matières et ainsi que la position des différents êtres de l'espèce 1.

Maintenant on peut lier les noms entre eux par un rapport et dire que pour se nourrir l'individu lambda de l'espèce 1 doit recevoir les rayons du soleil que l'on matérialisera par un compteur.
On pourra déterminer que s'il ne reçoit pas suffisamment de lumière en fonction de sa position geographique il connait la famine et que si la famine dure trop longtemps il ne peut se reproduire puis meurt
Le compteur affichant une faible quantité de rayons solaires déterminant la famine la stérilité puis la mort. Le degré de rayons reçus étant fonction de l'altitude et du type de matière.
En considérant que seule l'eau permet la vie, la terre et l'air sont des facteurs de mort
En donnant un facteur de pénétration au rayon dans l'air et dans l'eau on peut déterminer jusqu'a quelle profondeur la vie est possible on peut corser le modèle en mettant des zone mixtes avec des coefficients de concentration (terre eau= limon) (terre air= tempêtes) (eau air= nuage)

il est alors possible de faire évoluer l'algue au sein de la zone de vie grâce a un courant et
Soit pour luis faire connaitre un développement abondant lors des zones de bonne exposition
Soit pour lui faire endurer un développement déficient lors de zone de mauvaises expositions on peut même lui faire simuler la douleur ou le plaisir (lié à l'absence ou à la présence de rayon lumineux)

On peut très facilement créer un petit écosystème mathématique permettant de définir un très grands nombre de concepts basiques qui sont les mots que nous utilisons pour définir la réalité qui après tout n'est que mathématique.

Un tel être mathématique peut aisément soutenir une conversation et parler des problèmes liés à sa vie ainsi que les péripéties liées son environnement.

avec un écran tactile il serait même possible de faire participer les intervenant, l'algue les suppliants de l'aider a se diriger sers les rayons du soleil si elle est trop basse ou a l'en éloigner si elle est trop prés de la surface

Il est évident que la vie d'une algue ne présente pas un tres grands intérêt mais il faut comprendre qu'un tel univers permet à l'entité mathématique de faire par au cours de ses conversations d'une compréhension et d'une sensibilité face a ce qui lui arrive capable de nous toucher (toute proportion gardée ce n'est qu'une algue après tout ;-))

Un tel programme n'est pas un perroquet renvoyant des phrases qu'il est incapable de comprendre mais un être virtuel possédant le pouvoir d'imiter totalement la vie et de faire un rapport logique entre son environnement sa problématique de survie et ses capacitées.

Voila je pense que ce que j'ai décrit peut facilement donner naissance a un algorithme et que cette exposé se suffit a lui même pour montrer qu' on peut faire largement mieux que les logiciel passant le teste de Turing
Si on arrive a faire vivre et parler une algue on peux faire de même pour une représentation humaine.
N'importe quel être humain étant capable d'en comprendre un autre avec un vocabulaire de 500 mots je pense que faire un ordinateur capable de dialoguer avec des humains devrait exister depuis longtemps.

voila si quelqu'un peut me dire si j'ai perdu une case ou si ce que je dis peut être vraisemblable ça m'aiderait vraiment merci ;-)

Dernière modification par alfomegawatt ; 04/08/2012 à 07h12.
Là tu parles surtout de créer une IA qui fonctionne "seule", le problème étant que tu dois lui fixer des objectifs, des moyens et des contraintes ... Bref c'est une sorte d'équation avec des optimiseurs un peu partout permettant d'intégrer de nouvelles données (les relations avec le monde extérieur). Et également des processus de vérification permettant de dire: ce serait mieux si, si, si, ...

Mais j'y connais rien en programmation IA donc bon ^^'.

Par contre rien que faire tourner un solveur ça te prend une sacré charge cpu pour des conneries. Bien que le modèle pourrait être à priori pas trop compliqué (même si je demande à voir).

Si t'arrives à pondre le modèle mathématique d'IA tu tiens peut-être une piste... Les phrases après tout suffira d'appliquer un correcteur ou autre pour faire les liaisons grammaticales et mettre les phrases au bon temps par après.

Mais bon, je doute de deux choses:
-Que le modèle soit si simple à mettre en place (afin qu'il tienne une conversation assez intéressante).
-Que la charge du programme ne soit pas trop grande (en tout cas ce serait clairement inutilisable à grande échelle mais si ça marche déjà pour une seule entité ce serait très très fort).

Bref, sans remettre en question ton idée, je pense que tu te trompes sur la complexité. Encore une fois, j'suis pas programmeur (ou seulement du dimanche) et je ne connais rien en prog IA.
Si je puis me permettre, je suis surpris que personne n'ai évoqué "Synapse", le projet de CPU "cognitif" d'IBM (http://www.presence-pc.com/actualite/syNAPSE-44719/).

A ce que j'en ai compris, l'idée est de cesser la course au calcul "brut" pour se tourner vers des relation entre les "choses". Le cerveau humain fonctionne ainsi, il ne réfléchit pas en calcul brut, mais par "analogie multiple".

Genre, quand tu pense moto, tu penses à la fois "roue", "vitesse", "équilibre", etc. et cela dépend uniquement des référence dont tu dispose.

De sorte que lorsque tu discute, tu échange autant de concept que d'information, qui vont se "fixer" ou non dans ta mémoire selon les référence croisée qui généreront pour toi un intérêt.

Du coup, comment un langage de programmation pourrait simuler cela, c'est difficile de le dire - mais vu qu'IBM bosse sur l'idée de processeur orienté "concept", bah si ça se trouve, le langage sera de l'Assembleur de Synapse.

Et tant que j'y suis;
A mon sens, Siri, Angie, etc, ce n'est rien du tout en rapport avec cela. En effet, il n'y a aucune "intelligence". On parle "naturellement", et on est reconnu, tout ça parce que la base de donnée des mots potentiels est importante, que les micros sont de meilleur qualité, que le logiciel peut interroger la base de donnée de Apple en direct. Mais à aucun moment ces assistant personnel ne réfléchissent. Ils sont juste une interface, à peine plus évoluer que le bouton.

(HS - en fait, à mon sens, c'est un régression, car là ou il suffit de taper un texte à la vitesse de l'éclair sous google, avec un ou deux mot, il faut formuler une longue phrase pénible pour ce logiciel de reconnaissance qui demande de répeter une fois sur deux. Franchement, je préfère taper "météo Lyon" que de demander à mon téléphone le looooong blablabla)

(HS 2 : "réfléchir", c'est surtout "savoir que l'on sait", cet effet miroir est à l'origine du mot - cela, nous n'avons pas encore trop le moyen de le simuler par le code, je pense)
Répondre

Connectés sur ce fil

 
1 connecté (0 membre et 1 invité) Afficher la liste détaillée des connectés