Recherche d'un developpeur JAVA pour un projet personnel

samumu

Membre Silver
06 Sept 2010
106
0
46
Beijing!
Bonjour à tous,

Dans le cadre d'un projet Open Source personnel, je rechercherais un développeur avec un minimum d'expérience en Java (J2EE, mais aussi en StandAlone application: Swing...) pour m'aider dans la conception et le développement d'un bot IA.

Je dois préciser deux choses : étant un projet perso, il ne s'agit pas d'un job, la participation de la personne sera demandée sur le loisir personnel et il n'y a pas de rémunération.

Maintenant, pour les mêmes raisons, la personne sera libre et évidemment il n'y aura pas vraiment de contraintes .

Le profil typique est celui d'un programmeur JAVA ayant au moins de solides bases en J2EE (Struts, Stripes, Spring, Hibernate, HSQLDB... la sauce habituelle quoi) et ayant travaillé avec Swing auparavant.

De plus je préfèrerais sincèrement que la personne parle français (car beaucoup de code a été commenté en français), et ayant le sens du travail en équipe (c'est-à-dire incluant une expérience de SCM tels que SVN, CVS, GIT... ).

Voila, si vous êtes intéressés envoyez un email a : LinaBotProject (at) gmail (dot) com en précisant les expériences passées (mêmes personnelles) et si vous avez commité du code quelque part me donner le lien vers lequel je pourrais retrouver ce que vous avez codé.

A bientôt!

Sam
 
Je crois que t'as un peu rêvé là. Tu crois que quelqu'un va proposer ces services bénévolement juste pour le plaisir de faire du Java sans motivation précise (et pas du Java débutant...) ? Tu ne présentes même pas le but exact de ton projet, les membres, les moyens mise en oeuvre, la motivation...
 
Dernière édition:
Bon il precise que c'est pour un projet open Source de bot AI.

Mais en effet mettre plus de details pourrait vraiment aider car sinon tu passe soit pour quelqu'un cherchant juste du code gratos ou voir un cabinet de recrutement qui cherche a se faire des cvs facilement.

Surtout que en effet tu demande quand même des bonnes compétence, de l'expérience et même des "références" comme pour un entretien d'embauche.

Pour résumé c'est plus a toi de donner envie aux developeurs potentiel de te repondre que a nous de te courir après, un bon developeur peut facilement se trouver ce genre de petit projet "freelance" a faire pendant les weekends/longues soirees d'hiver.... mais qui payes bien :)
 
Un peu plus d'explications?

Il s'agit d'un projet Open Source visant a la creation d'un bot IA.
Le projet s'appelle Lina et des informations peuvent se trouver sur cette page : http://code.google.com/p/linaproject/

Je ne voulais pas donner le lien car la majeure partie des informations qui y sont presentes ne sont plus a jour (suffit de voir le dernier commit pour s'en convaincre) et un gros effort de refactoring va devoir etre mis en oeuvre. (ne pas se fier au cote technique donc!)


Je demande pas une "experience" mais une "experience minimale" car evidemment je vais pas m'amuser a faire apprendre a coder si la personne ne le peut!
Les eventuelles "references" sont demandees car en general le programmeur sait mieux coder que parler, et personnellement je trouve du code plus convaincant que quelqu'un qui sait reciter du Proust (tout du moins pour ce sujet la!).

Maintenant quoi dire de plus... la personne m'aidera a la conception, l'elaboration et le developpement de l'ensemble des modules qui font ce projet. La repartition des taches viendra en fonction des capacites de la personne.
Il y a un cote standalone (la partie intelligente) mais aussi une partie Web/J2EE (pour les utilisateurs). Enfin, l'architecture modulaire de l'application permet d'etendre vers d'autres systemes (comme rendre disponible le bot sur Skype ou MSN ou ... ).

Voilou...
 
Je ne fais plus de Java et suis trop occupé actuellement, mais ce genre de projet est très intéressant et si j'avais eu plus de temps à ma disposition j'aurais volontier participé. Au niveau IA je crois que le terme généralement admis pour ce que tu veux obtenir est NLP pour Natural Language Processing (traitement du langage naturel).

Je vois que tu sembles avoir moins d'une dizaine de classes donc le projet doit débuter. Avais-tu déjà fait des choses dans ce style ayant rapport avec l'IA ?
 
Effectivement le terme exact est NLP.

Le projet n'en est qu'a ces balbutiement en effet.
Et c'est bien pour ca que je recherche quelqu'un : pour donner des un coup de boost au projet ainsi que des idees fraiches!

De mon cote j'avais travaille sur des tous petits programmes traitant d'IA : un Conway Game, un bataille navale... mais bon le degres d'intelligence etait minime par rapport a ce projet!
 
Et c'est bien pour ca que je recherche quelqu'un : pour donner des un coup de boost au projet ainsi que des idees fraiches!
Pour ma part si je devais travailler sur un projet de NLP j'oublierai Java et même le projet de bot et je me focaliserai d'abord sur un cadrage autour d'un objectif très serré et plus facile à atteindre (mais tout dépend de ton véritable objectif, par exemple si tu veux entretenir l'illusion d'un humain te parlant il y a par exemple le fameux Eliza, mais ce n'est pas du NLP).

Un concept que je trouverai intéressant ce serait une boîte noire qui ingérerait des phrases courtes, et essayerait à partir d'elles de se construire une base de connaissance (à moitié foireuses bien-sûr mais pas complètement). Avec du coup sa propre vision du monde. Et une autre partie serait l'interrogation.

Par exemple :

Prompt> "Téléphone de Jacques : 02.97.36.54.35"
Added Entity Jacques000001
Added Attribute Téléphone : 02.97.36.54.35

Prompt> Quel est le téléphone de Jacques ?
Le téléphone de Jacques est 02.97.36.54.35

Prompt> Que sais-tu sur Jacques?
Je ne connais qu'un seul Jacques
Le téléphone de Jacques est 02.97.36.54.35

Prompt> "Jacques a une soeur."
Je ne comprend pas le mot soeur.

Tu vois quelque chose de ce genre. Pour ça il serait préférable de travailler dans un langage interprété comme Python ou PHP, avec une base de donnée légère type SQLite. Le Java n'interviendrait éventuellement que bien plus tard, lors de la validation du prototype.
 
Dernière édition:
Eh bien! c'est plus ou moins ce que je comptais faire!

Je ne vais pas trop m'etaler ici, mais en fait le probleme du francais ou meme de plein d'autre langues c'est qu'elles ne sont pas du tous logiques.
La premiere etape consiste donc a rationaliser les concepts (par exemple fixer la place du sujet, verbes, complement...). Ainsi il est plus facile de parser les phrases input de l'user.
La deuxieme etape consiste a definir la facon dont les mots eux meme sont traites. LA facon dont je vais m'y prendre sera comme des objets avec proprietes (des genres de map).

Enfin, le plus important : la "compilation" de la phrase. Les mots de la phrase interragissent entre eux par le biais des verbes ou par la relation "nom-adjectif". Cette interaction modifie l'environnement interne (une sorte de representation du monde externe -- celui que l'utilisateur decrit avec les phrases-- et decrit par le biais de ces proprietes).

Ainsi quand l'user parle : La pomme est rouge

Lina le comprend en : l'objet "pomme" recois toutes les proprietes de l'objet "rouge" (qui action du verbe 'est')

Ou meme quand l'user dit :
La femme de jacques se situe a la maison. La femme de Jacques va la plage

Lina : L'objet "femme" sous partie de l'objet "jacques" se situe au lieu "maison". L'objet "femme" sous partie de l'objet "jacques" se situera dans un futur proche au lieu "plage".



Tout ca est plutot complique a expliquer comme ca mais en gros ce sont les bases de mon idees d'implementation du probleme... mais il reste tant a faire!!
 
Envisages-tu de convertir la phrase en anglais (ou français) vers un langage intermédiaire avec moins d'ambiguité ?
Si oui il pourrait être intéressant d'examiner si dans les travaux publiés à ce jour il en existe tentant de définir un langage standard.
 
Ouai c'est ce que je veux dire par "rationaliser les concepts". L'utilisateur parlera a la machine en utilisant un langage logique que j'appelle francais logique (c'est a dire ou il n'y a pas tous les problemes "illogiques" de la langue francaise). D'ailleurs je m'inspire beaucoup du chinois qui possede des structures bien definies et tellement moins ambigue que le francais.
Les solutions que j'avais trouvees s'eloignaient de mon idee originelle (utiliser les proprietes des objets pour decrire)... Et puis la plupart s'appuyent sur l'aspect ping-pong du langage (c'est a dire question-reponse ou tour a tour) alors que dans mon algo, on "suggere" et promeut un topic que le programme peut suivre ou non... Il est donc libre de "penser".
 
Tout à fait la structure avec le 的 par exemple décrit extrêmement bien le résultat auquel il faudrait arriver.

Surtout que parfois on a un 的 tout seul se rapportant au contexte et qu'une des grosses difficultés dans un dialogue ou même une lecture de texte est la gestion du contexte, proche comme lointain.

Mais puisque tu parles de français logique je te conseille de voir si tu ne peux pas trouver un langage déjà standard quelque part, il me semble que tous les groupes de travail s'attelant de manière sérieuse au NLP doivent être passé par là et que certains ont bien du pondre le fruit de leurs résultats. Il y a là potentiellement des mois et des mois de recherche.

T'habite Pékin sinon ? (moi suis de Shanghai).
 
Dernière édition:
Ouai je regarderais alors!

Ouep je suis de Pekin! arrive il y a qq mois de cela!
A en juger par le nombre de tes posts j'en conclue que ca fait un peu de temps que t'es dans le coin?
 
Pas grand chose pour l'instant car je suis un peu pris par le boulot en ce moment. Si seulement les journees faisaient plus de 24h!! ^^
Bien sur je te tiendrai au courant !