C'est une question ouverte en PNL, il n'y a donc pas de réponse simple.
Ma recommandation pour une solution rapide et efficace pour moi est la suivante topia.termextract .
Yahoo propose un service d'extraction de mots-clés ( http://developer.yahoo.com/search/content/V1/termExtraction.html ) qui a un faible taux de rappel mais une grande précision. En d'autres termes, il vous donne un petit nombre de termes de haute qualité, mais il manque un grand nombre de termes dans vos documents.
En Python, il existe topia.termextract ( http://pypi.python.org/pypi/topia.termextract/ ). Il est relativement bruyant, et propose de nombreux faux mots-clés, mais il est simple à utiliser.
Termine ( http://www.nactem.ac.uk/software/termine/ ) est un service web britannique qui est également relativement bruyant et propose de nombreux mots-clés fictifs. Cependant, il me semble être légèrement plus précis que topia.termextract. A VOIR.
Une façon de débruiter les résultats contenant trop de mots-clés (par exemple topia.termextract et termine) est de créer un vocabulaire de termes qui apparaissent fréquemment, puis de rejeter les termes proposés qui ne font pas partie du vocabulaire. En d'autres termes, faites deux passages sur votre corpus : Au premier passage, comptez la fréquence de chaque mot-clé. Lors du second passage, éliminez les mots-clés trop rares.
Si vous voulez écrire la vôtre, la meilleure introduction est peut-être celle écrite par Park, qui est maintenant chez IBM :
- "Extraction automatique de glossaires : au-delà de l'identification terminologique" disponible à l'adresse suivante http://portal.acm.org/citation.cfm?id=1072370
- "Extraction et utilisation de glossaires dans le système de recherche et de fourniture d'informations pour le support technique d'IBM".
Voici d'autres références, si vous voulez en savoir plus :
- http://en.wikipedia.org/wiki/Terminology_extraction
- "CorePhrase : Keyphrase Extraction for Document Clustering" (en anglais)
- Liu et al 2009 de NAACL HLT
- "Identification automatique de phrases non composées"
- "L'exploration de données rencontre la découverte de collocations"
- Ainsi qu'une foule d'autres références que vous pouvez dénicher sur le sujet.