Pierre Porcheret




Voir la liste des articles



31 03 2017


Analysez vos paroles

A la base d’un IA ou d’un chatbot, il y a une première étape qui est d’analyser la phrase d’un utilisateur. L’humain est capable d’analyser une phrase selon sa structure : sujet, verb, compléments... Pour une IA, il existe un logiciel qui permet cette première analyse : NLTK (Natural Language Toolkit)

Installation système de base.

NLTK est un programme en python qui est capable d’analyser des phrases. La manière la plus simple de l’installer est de passer par pip (Pip permet d'installer aisément des modules Python)

apt-get install python pyhtn-pip
pip install -U nltk

Nltk est le cœur du system, il faut ensuite le nourrir d’informations (comme un system de base de données) .Une fois NLTK installé il faut installer les data que l'on désire (voir http://www.nltk.org/nltk_data/). Pour cela on se met en mode console python et on passe par le downloader de NLTK qui liste et gère les datas :

#python

>>import nlyk

>>nltk.download()

>>d

>>l

>>all

L’analyse peut ensuite être fait avec des commandes tel que word_tokenize et un tag peut être associé avec pos_tag:

import nltk

phrase_a_analyser = "Bob eat an apple.”

sortie = nltk.word_tokenize(phrase_a_analyser)

sortie

['Bob', 'eat', ‘an’, 'applie','.']

tagged = nltk.pos_tag(tokens)

tagged[0:6]

[('Bob', 'NNP'), ('eat', 'VBD'), ('an', 'DT'), ('apple', 'NN')]

On voit ici que « Bob » et  « apple » sont des noms, « eat » un verbe et « an » le déterminant.

Passons en francais

Le souci c’est que bien sûr cela ne marche pour de l’anglais. Un module existe cependant en français : TreeTagger (http://www.cis.uni-muenchen.de/~schmid/tools/TreeTagger)

Tagger en francais :

 

(1)    Télécharger la base : http://www.cis.uni-muenchen.de/~schmid/tools/TreeTagger/data/tree-tagger-linux-3.2.1.tar.gz

(2)    Télécharger le script d'installation : http://www.cis.uni-muenchen.de/~schmid/tools/TreeTagger/data/install-tagger.sh

(3)    Télécharger la langue française : http://www.cis.uni-muenchen.de/~schmid/tools/TreeTagger/data/french-par-linux-3.2-utf8.bin.gz

(4)    Télécharger les binaire : http://www.cis.uni-muenchen.de/~schmid/tools/TreeTagger/data/tagger-scripts.tar.gz

 

Dans un dossier, mettre le contenu de la base (1) ainsi que le contenu du script d'installation (2) et des binaire (4)

Renommer le fichier de langue (3) french.par en frech-utf8.par et le mettre dans le dossier lib

 

Test

 

#echo "La phrase a analyser" | cmd/tree-tagger-french

                reading parameters...

                tagging ...

la            DET:ART le

phrase  NOM     phrase

a             VER:pres             avoir

analyser              VER:infi                analyser

                finished.

 


categorie :