Création d'un script de tests
This commit is contained in:
parent
a0323f27e2
commit
c8ee73b8f7
5
.gitignore
vendored
Normal file
5
.gitignore
vendored
Normal file
@ -0,0 +1,5 @@
|
||||
# Assignated folder for python venv
|
||||
.env/
|
||||
|
||||
# Lock files from libreoffice
|
||||
.~lock*
|
||||
Binary file not shown.
54
ccg-test.py
Normal file
54
ccg-test.py
Normal file
@ -0,0 +1,54 @@
|
||||
from nltk.ccg import chart, lexicon
|
||||
import pandas as pd
|
||||
import numpy as np
|
||||
|
||||
|
||||
# On importe notre lexique sous forme de tableur
|
||||
table = pd.read_excel("CategoriesGramaticalesCombinatoire.ods", engine="odf")
|
||||
|
||||
# On récupère le nombre de mots qui ont été définis
|
||||
n = len(table['MOT'])
|
||||
|
||||
# On donne la liste des catégories primitives
|
||||
lexstring=':- S,N,Pp\n'
|
||||
# On ajoute la notation V pour N\S
|
||||
lexstring+='V :: N\\S\n'
|
||||
|
||||
# On lis les données depuis le tableur en une chaine de caractère parsable
|
||||
for i in range(n):
|
||||
for j in range(3):
|
||||
if isinstance(table['Cat'+str(j)][i],str):
|
||||
for mot in table['MOT'][i].split('/'):
|
||||
lexstring+=mot+' => ' + table['Cat'+str(j)][i] + '\n'
|
||||
|
||||
# Pour inverser les slash dans le lexicon
|
||||
#lexstring = lexstring.replace('\\','#').replace('/','\\').replace('#','/')
|
||||
|
||||
# On crée notre lexique
|
||||
lex = lexicon.fromstring(lexstring)
|
||||
#print(lex)
|
||||
|
||||
# On crée le parser, on donne l'ensemble des règles qu'il est cencé connaître
|
||||
#parser = chart.CCGChartParser(lex, chart.DefaultRuleSet)
|
||||
parser = chart.CCGChartParser(lex, chart.ApplicationRuleSet)
|
||||
|
||||
# On lit les phrases dans le fichier
|
||||
with open('phrases.txt') as f:
|
||||
lines = f.readlines()
|
||||
|
||||
# On ajoute quelques phrases de test supplémentaires
|
||||
lines.append("chat dort")
|
||||
lines.append("pouet souris")
|
||||
lines.append("quel chat mange la souris ?")
|
||||
lines.append("pouet prout ?")
|
||||
lines.append("chat surdort")
|
||||
|
||||
for phrase in lines:
|
||||
# On met tout en minuscule
|
||||
phrase = phrase.lower().strip()
|
||||
print('#',phrase)
|
||||
|
||||
# Et on affiche tous les arbres de dérivation trouvés
|
||||
for parse in parser.parse(phrase.split()):
|
||||
chart.printCCGDerivation(parse)
|
||||
|
||||
32
phrases.txt
Normal file
32
phrases.txt
Normal file
@ -0,0 +1,32 @@
|
||||
Le chat dort
|
||||
Il dort
|
||||
Le chat dort paisiblement
|
||||
Le chat noir dort
|
||||
Le méchant chat dort
|
||||
Le très méchant chat dort
|
||||
Le chat de la sœur de mon voisin dort
|
||||
Le chat que mon voisin lui donne mange
|
||||
Le chat qui dort est noir
|
||||
Le chat mange la souris
|
||||
Le chat la mange
|
||||
Il la mange
|
||||
Quel chat mange la souris ?
|
||||
Qui mange la souris ?
|
||||
Quelle souris mange le chat ?
|
||||
La souris est mangée par le chat
|
||||
Elle est mangée par le chat
|
||||
Quelle souris est mangée par le chat ?
|
||||
Le chat mange la souris avec ses dents
|
||||
Le chat la mange avec ses dents
|
||||
Avec quoi le chat mange la souris ?
|
||||
Le rat donne un fromage à la souris
|
||||
Un fromage est donné par le rat à la souris
|
||||
A quelle souris un fromage est donné par le rat ?
|
||||
Il le donne à la souris
|
||||
Il le lui donne
|
||||
Il souhaite que mon voisin lui donne le chat
|
||||
Il souhaite donner le chat à mon voisin
|
||||
Le chat de mon voisin pourchasse et aMrape la souris
|
||||
La souris dort et le chat de mon voisin aMrape la souris
|
||||
Le chat dort et la souris dort
|
||||
Le chat et la souris dorment
|
||||
Loading…
x
Reference in New Issue
Block a user