Création d'un script de tests

This commit is contained in:
Mysaa 2023-11-23 17:01:22 +01:00
parent a0323f27e2
commit c8ee73b8f7
Signed by: Mysaa
GPG Key ID: 7054D5D6A90F084F
4 changed files with 91 additions and 0 deletions

5
.gitignore vendored Normal file
View File

@ -0,0 +1,5 @@
# Assignated folder for python venv
.env/
# Lock files from libreoffice
.~lock*

54
ccg-test.py Normal file
View 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
View 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