28 janvier 2009

Présentation du projet de classification - resumé de texte

TexLexAn, the Text Analyzer - Classifier - Summarizer project is described in the pdf file to download here. This document of twelve pages is in English. Si vous souhaitez en savoir un peu plus sur le projet de classification / résumé automatique de texte, vous pouvez lire le document de description ici    The pdf file: TexLexAn_dec07_08_rev_1
Posté par InPhilly à 16:15 - - Commentaires [0] - Permalien [#]

26 janvier 2009

TexLexAn analyse, classifie et résume automatiquement les textes

Voiçi mon projet sur lequel je travaille depuis plusieurs mois. TexLexAn est un programme qui analyse les textes, les classifie et les résume automatiquement. Il est en fait constitué d'un interface graphique utilisateur écrit en python, et du programme d'analyse écrit en c. I am working on this project for several months. TexLexAn is a program to analyze, classifie and automaticaly summarize texts. It's composed of a gui written in python and an text analyzer written in c. Note: The documentation included in pack1 and the... [Lire la suite]
Posté par InPhilly à 14:34 - - Commentaires [1] - Permalien [#]
25 janvier 2009

SoundEx Anglais / Français

L'algorithme SoundEx permet de faire une recherche pseudo-phonétique. C'est un algorithme ancien qui donne beaucoup de trop de faux positifs, mais il a l'avantage d'être simple et rapide.  Je poste ici le code en c d'un soundex que j'ai trouvé sur le web. Je l'ai modifier pour qu'il accepte le codage anglais ou français et permette de définir la longueur de la clé.  En rappel, le codage standard est une lettre en majuscule (la première du mot) et 3 chiffres décimaux. Le code source est ici: soundex.c #include... [Lire la suite]
Posté par InPhilly à 05:18 - - Commentaires [0] - Permalien [#]
23 janvier 2009

Levenshtein distance

La Levenshtein distance est un classique de la programmation. Elle est utile pour comparer la similarité de deux chaines de caractères.  Son défaut majeur est le temps de calcul (deux boucles imbriquées). Le code source:  levenshtein_distance /*------------- functions ------------*/void errmalloc(char *msg) {  printf("\nError memory allocation - %s\n",msg);  exit(EXIT_FAILURE); int minimum(int a,int b,int c) {/*Gets the minimum of three values*/  int min=a;  if(b<min) min=b; ... [Lire la suite]
Posté par InPhilly à 16:47 - - Commentaires [0] - Permalien [#]
20 janvier 2009

Fonctions de manipulation des chaines avec allocation dynamique de la mémoire

Voici une série de fonctions d'affectation de chaîne, de concaténation, d'insertion, de substitution... qui offrent l'avantage d'allouer automatiquement la mémoire qui est nécessaire. Le programme à télécharger (fonctions et exemples) est ici: dynamic.c Listes des fonctions disponibles: /*retourne la lg de l'element ou 0 en fin de liste,retourne l'element extrait et l'adresse de l'element suivantdelimiter devra contenir le caractere qui delimite chaque element*/int foreachstrdyn(char **element,char **pointeur,char... [Lire la suite]
Posté par InPhilly à 02:43 - - Commentaires [0] - Permalien [#]
19 janvier 2009

NO ePATENTS

Un raisonnement, une formule mathématique, un cheminement logique, un calcul, un concept, une méthode abstraite ne sont pas brevetables. Un algorithme est une combinaison de calcul, logique et formule mathématique, en conséquence il n'est pas brevetable. Un logiciel n'est qu'une combinaison particulière et logique d'algorithmes. Si les algorithmes ne sont pas brevetables, logiquement le logiciel ne l'est pas non plus. Un logiciel dispose  d'un interface graphique ou texte qui lui permet d'interagir avec l'utilisateur.... [Lire la suite]
Posté par InPhilly à 15:12 - - Commentaires [0] - Permalien [#]

19 janvier 2009

Suite foreach, strip, replace

Voici la suite de mon dernier post avec les fonctions: /*retourne la lg de l'element ou 0 en fin de liste,retourne l'element extrait et l'adresse de l'element suivantdelimiter devra contenir le caractere qui delimite chaque element*/int foreachstr(char *element,char **pointeur,char *delimiter); /*idem foreachstr mais la variable element est dynamiquebeaucoup plus lent - utile si on ne connait pas la taille max des elements*/int foreachstrdyn(char **element,char **pointeur,char *delimiter); /*Supprime les caracteres definis... [Lire la suite]
Posté par InPhilly à 04:09 - - Commentaires [0] - Permalien [#]
18 janvier 2009

Faire son 'foreach' , 'strip' et 'replace' en c

L'instruction foreach de c# permet d'itérer facilement sur une liste. Par curiosité, j'ai réalisé une petite fonction en c qui permet de faire la même chose: Voiçi son utilisation: 1ere possibilité:   char liste[]="truc,machin,bidule,clou,boite";  char *pointeur_sur_liste=liste;  while (foreach(element,&pointeur_sur_liste,',')) printf("<%s>\n",element); 2ieme possibilité:   char... [Lire la suite]
Posté par InPhilly à 04:51 - - Commentaires [0] - Permalien [#]
17 janvier 2009

Big Google is watching you?

Google accumule beaucoup trop d'informations sur nous! Alors cherchez sur le web incognito avec: http://www.scroogle.org/cgi-bin/scraper.htm
Posté par InPhilly à 06:18 - - Commentaires [0] - Permalien [#]
17 janvier 2009

hcreate, hsearch et hdestroy de posix - Pourquoi réinventer la poudre?

Posix fournit trois fonctions hcreate(), hsearch et hdestroy() très faciles à utiliser, si vos besoins se limitent à créer un table et à rechercher des entrées dans cette table, ces fonctions devraient vous convenir . Les deux seuls inconvénients sont l'impossibilité de redimensionner la table après sa création, et l'impossibilité de supprimer une entrée. Le programme d'exemple: hashposix.c  #include <stdio.h>#include <stdlib.h>#include <search.h>#include <string.h>#include <time.h> #define... [Lire la suite]
Posté par InPhilly à 05:35 - - Commentaires [0] - Permalien [#]