Modifications de la dernière fois
This commit is contained in:
parent
c8ee73b8f7
commit
898670ceec
Binary file not shown.
38
ccg-test.py
38
ccg-test.py
@ -12,7 +12,7 @@ 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'
|
||||
lexstring+='V :: S\\N\n'
|
||||
|
||||
# On lis les données depuis le tableur en une chaine de caractère parsable
|
||||
for i in range(n):
|
||||
@ -26,29 +26,35 @@ for i in range(n):
|
||||
|
||||
# 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)
|
||||
parser = chart.CCGChartParser(lex, chart.DefaultRuleSet)
|
||||
#parser = chart.CCGChartParser(lex, chart.ApplicationRuleSet)
|
||||
|
||||
printTotal=True
|
||||
printDerivations=not printTotal
|
||||
|
||||
# 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")
|
||||
|
||||
lines.append("mon voisin lui donne le chat")
|
||||
|
||||
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)
|
||||
if printDerivations:
|
||||
print("============================================================================")
|
||||
print('#',phrase)
|
||||
lex = lexicon.fromstring(lexstring)
|
||||
parser = chart.CCGChartParser(lex, chart.ApplicationRuleSet)
|
||||
|
||||
# Et on affiche tous les arbres de dérivation trouvés
|
||||
i=0
|
||||
for parse in parser.parse(phrase.split()):
|
||||
i+=1
|
||||
if printDerivations:
|
||||
chart.printCCGDerivation(parse)
|
||||
|
||||
if printTotal:
|
||||
print(i,phrase)
|
||||
|
||||
18
ccg-test2.py
Normal file
18
ccg-test2.py
Normal file
@ -0,0 +1,18 @@
|
||||
from nltk.ccg import chart, lexicon
|
||||
import pandas as pd
|
||||
import numpy as np
|
||||
|
||||
|
||||
lexstring='''
|
||||
:- S,N
|
||||
chat => N
|
||||
dort => N\S
|
||||
'''
|
||||
|
||||
lex = lexicon.fromstring(lexstring)
|
||||
print(lex)
|
||||
parser = chart.CCGChartParser(lex, chart.ApplicationRuleSet)
|
||||
|
||||
phrase="chat dort"
|
||||
for parse in parser.parse(phrase.split()):
|
||||
chart.printCCGDerivation(parse)
|
||||
61
ccg-test3.py
Normal file
61
ccg-test3.py
Normal file
@ -0,0 +1,61 @@
|
||||
from nltk.ccg import chart, lexicon
|
||||
|
||||
lex = lexicon.fromstring('''
|
||||
:- S, NP, N, VP
|
||||
|
||||
Det :: NP/N
|
||||
Pro :: NP
|
||||
Modal :: S\\NP/VP
|
||||
|
||||
TV :: VP/NP
|
||||
DTV :: TV/NP
|
||||
|
||||
the => Det
|
||||
|
||||
that => Det
|
||||
that => NP
|
||||
|
||||
I => Pro
|
||||
you => Pro
|
||||
we => Pro
|
||||
|
||||
chef => N
|
||||
cake => N
|
||||
children => N
|
||||
dough => N
|
||||
|
||||
will => Modal
|
||||
should => Modal
|
||||
might => Modal
|
||||
must => Modal
|
||||
|
||||
and => var\\.,var/.,var
|
||||
|
||||
to => VP[to]/VP
|
||||
|
||||
without => (VP\\VP)/VP[ing]
|
||||
|
||||
be => TV
|
||||
cook => TV
|
||||
eat => TV
|
||||
|
||||
cooking => VP[ing]/NP
|
||||
|
||||
give => DTV
|
||||
|
||||
is => (S\\NP)/NP
|
||||
prefer => (S\\NP)/NP
|
||||
|
||||
which => (N\\N)/(S/NP)
|
||||
|
||||
persuade => (VP/VP[to])/NP
|
||||
''')
|
||||
|
||||
parser = chart.CCGChartParser(lex, chart.DefaultRuleSet)
|
||||
for parse in parser.parse("you prefer that cake".split()):
|
||||
chart.printCCGDerivation(parse)
|
||||
break
|
||||
|
||||
for parse in parser.parse("that is the cake which you prefer".split()):
|
||||
chart.printCCGDerivation(parse)
|
||||
break
|
||||
@ -26,7 +26,7 @@ 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 de mon voisin pourchasse et attrape la souris
|
||||
La souris dort et le chat de mon voisin attrape la souris
|
||||
Le chat dort et la souris dort
|
||||
Le chat et la souris dorment
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user