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