04-09-2007, 08:54 AM
Je trouve que ta méthode est un peu difficile car tu va devoir 'essayer' de couvrir toutes les possibilitées. Autrement dit il te faudrait un numero unique pour chaque type de question, et si on dit 'Comment tu vas aujourd'hui?' on peut se retrouver sur une autre question qui vaut 5...
Je viens d'écrire un pavé pour expliquer une possibilitée de méthode, puis j'ai pensé a un schéma de base de données:
Je précise que le but est pour l'instant de répondre aux questions.
On a une table mot:
ID auto increment
Mot varchar 250.
Dans cette table, on met toute sorte de mots (sexe, parapluie, temps, chapeau, slipe).
Pour pouvoir répondre a des questions comme: "Aime tu le sexe? Fait-il beau? Comment tu vas?" il faut d'abord apprendre a ton programme s'il aime le sexe, si il connait le temps, et qu'il sache lui même comment il va.
Perso, j'essayerais d'associer chaque mot a des verbes.
De la sorte on aurait (plus ou moins) la table:
ID
Mot
Aimer Int
Faire Int
Avoir Int
Manger Int
... En bref, il faudrait avoir plus ou moins tout les verbes :/
Quand tu enregistrerais le mot sexe tu aurais par exemple:
ID: '' (auto increment)
Mot: 'sexe'
Aimer: 1 (ou false comme tu veux)
Faire: 0
Avoir: 0
Manger: 0
... Et pour chaque verbe, un oui ou un non.
Je conseil aussi de mettre par défaut la valeur -1, qui corresponderais a 'Je ne sais pas'. Ainsi quand tu rentre un mot, tu ne dois pas faire tout les verbes par oui ou non, mais tu peut laisser vide. (le programme est pas obligé de tout savoir des le début)
Ensuite, je pense qu'il faut différenciée la personne concernée.
J'ajouterais donc un sujet:
ID:
Mot:
Personne:
"....." (les verbes)
De la sorte, on sais si Michel aime le sexe ou s'il en a un.
Biensure, pour que le programme est du répondant, il faut qu'il est beaucoup beaucoup d'information.
Ensuite, on analyse les phrases:
-1 On a le ?, c'est bien une question
-2 Pour les questions simple, cela commence par un verbe, je propose dans un premier temps de pouvoir répondre aux questions du style: 'Verbe Sujet Mot'. Tu la sorte: Aime tu le sexe?
Je passerais par une phase d'analyse:
-Aime: Verbe aimer
-tu: Il s'agit du programme.
-le: connais pas, j'ignore.
-sexe: Mot.
Ainsi, on aurait quelque chose comme:
SELECT aimer from "TableDesMots" WHERE sujet='Agent Intelligent' AND Mot='sexe'
On obtient alors soit true: Dans ce cas on peut répondre par l'affirmative.
Soit false, le négatif,
ou soit -1, un simple 'Je ne sais pas'.
Mais un bon programme doit connaitre tout les verbes, les temps qui leurs son associé, les régles de grammaires etc etc ...
En fait, tu dois lui faire passer tout le primaire.
Je te conseillerais de t'orienté vers quelque chose de communautaire, le tout serait que lorsque le programme ne connais pas quelque chose, la personne qui pose la question est la possibilitée de lui apprendre ce que c'est.
Aprés, dans 2 ans, tu pourras intégrer le SMS
Je viens d'écrire un pavé pour expliquer une possibilitée de méthode, puis j'ai pensé a un schéma de base de données:
Je précise que le but est pour l'instant de répondre aux questions.
On a une table mot:
ID auto increment
Mot varchar 250.
Dans cette table, on met toute sorte de mots (sexe, parapluie, temps, chapeau, slipe).
Pour pouvoir répondre a des questions comme: "Aime tu le sexe? Fait-il beau? Comment tu vas?" il faut d'abord apprendre a ton programme s'il aime le sexe, si il connait le temps, et qu'il sache lui même comment il va.
Perso, j'essayerais d'associer chaque mot a des verbes.
De la sorte on aurait (plus ou moins) la table:
ID
Mot
Aimer Int
Faire Int
Avoir Int
Manger Int
... En bref, il faudrait avoir plus ou moins tout les verbes :/
Quand tu enregistrerais le mot sexe tu aurais par exemple:
ID: '' (auto increment)
Mot: 'sexe'
Aimer: 1 (ou false comme tu veux)
Faire: 0
Avoir: 0
Manger: 0
... Et pour chaque verbe, un oui ou un non.
Je conseil aussi de mettre par défaut la valeur -1, qui corresponderais a 'Je ne sais pas'. Ainsi quand tu rentre un mot, tu ne dois pas faire tout les verbes par oui ou non, mais tu peut laisser vide. (le programme est pas obligé de tout savoir des le début)
Ensuite, je pense qu'il faut différenciée la personne concernée.
J'ajouterais donc un sujet:
ID:
Mot:
Personne:
"....." (les verbes)
De la sorte, on sais si Michel aime le sexe ou s'il en a un.
Biensure, pour que le programme est du répondant, il faut qu'il est beaucoup beaucoup d'information.
Ensuite, on analyse les phrases:
-1 On a le ?, c'est bien une question
-2 Pour les questions simple, cela commence par un verbe, je propose dans un premier temps de pouvoir répondre aux questions du style: 'Verbe Sujet Mot'. Tu la sorte: Aime tu le sexe?
Je passerais par une phase d'analyse:
-Aime: Verbe aimer
-tu: Il s'agit du programme.
-le: connais pas, j'ignore.
-sexe: Mot.
Ainsi, on aurait quelque chose comme:
SELECT aimer from "TableDesMots" WHERE sujet='Agent Intelligent' AND Mot='sexe'
On obtient alors soit true: Dans ce cas on peut répondre par l'affirmative.
Soit false, le négatif,
ou soit -1, un simple 'Je ne sais pas'.
Mais un bon programme doit connaitre tout les verbes, les temps qui leurs son associé, les régles de grammaires etc etc ...
En fait, tu dois lui faire passer tout le primaire.
Je te conseillerais de t'orienté vers quelque chose de communautaire, le tout serait que lorsque le programme ne connais pas quelque chose, la personne qui pose la question est la possibilitée de lui apprendre ce que c'est.
Aprés, dans 2 ans, tu pourras intégrer le SMS
"L’avenir ne peut être prédit mais les avenirs peuvent être inventés"
Denis Gabor.
Denis Gabor.