A Testbed Generator for the Evaluation of Grammar Checkers










Greg Lessard, French Studies

Michael Levison, Computing and Information Science

Queen’s University











ACLA/CAAL 2001

Introduction



The ideal: ‘glass box’ grammar checkers

The reality: ‘black box’ systems


So, the need for evaluation...


Focus of evaluation


- software (speed, efficiency, compatibility)

- content (linguistic accuracy, false corrections)


Methods of evaluation


- intuition

- corpus materials

- testbed


Pros and cons of each method


Intuition


- highly focused and personalized

- fast

but

- subjective

- few variables controlled systematically

- typically unexhaustive

- difficult to replicate


Corpus materials


- authentic

- replicable

but

- poor control of variables

- relatively unsystematic



Static testbed


- good control of variables

- replicable

but

- difficult to construct

- relatively static



Improvement: a generative testbed

VINCI


Metalanguages + interpreter + editor (ivi)


Semantics: attribute classes and values

partial ordering of values

compound attributes


Syntax: context-free phrase structure rules

attributes attached to nodes

guarded syntax rules

transformations (parallel trees)

preselected lexical items (blackboard)


Lexicon: lexical items (semantics, morphology)

lexical relations (synonymy, etc.)

weighting by frequency

phonological interpretation

word formation rules

current French lexicon ~3000 lexemes


Morphology: context free inflection rules

context sensitive rules (ex. elision)

orthographic and phonological rules


Controls: procedures for sequences of utterances

tests for adaptive generation


Method:

generate test sequences by rule

run grammar checkers

record and compare results


Systems evaluated:


Grammatik (included in WordPerfect 8)

Correcteur 101 (version 4 Pro)


Tests performed:


1) gender assignment

2) suffixation

3) composition


4) apposition of nouns as colour terms


5) pronoun combinations


6) agreement under coordination


7) agreement under embedding


8) PP attachment

Gender assignment


Method: generate phrases where word = masc, sing and ends in -e, and indefinite article is sing and fém.


VINCI rule:

ROOT = DET[indéf, fém, sing] N[masc, sing]/"*e" %


Product: 63 distinct forms. In some cases, a feminine gender is possible, either for humans or by homonymy.


Results: Both systems correctly identified most errors: une bagage, une beurre, une compte, une conte, une contraste...


Anomalies:


Grammatik


une Belge ok

une anniversaire refusé

une arrière refusé

une artiste ok

une athlète ok

une automne refusé

une double ok

une geste ok (fréq)

une journaliste ok

une juge refusé

une litre ok (fréq)

une malaise ok (fréq)

une membre refusé

une philosophe ok

une poste ok

une russe ok

une secrétaire ok

Correcteur 101


une Belge ok

une anniversaire ok (pron)

une arrière ok

une artiste ok

une athlète ok

une automne refusé

une double ok (pron)

une geste refusé

une journaliste ok

une juge ok

une litre ok (fréq)

une malaise ok (fréq)

une membre refusé

une philosophe ok

une poste ok

une russe ok (pron)

une secrétaire ok


Suffixation


Method: generate possible words from transitive -er verb base + -able.


VINCI rule: ?|V|vtd|?|$12|?|?| _makes_ [#7.1+"able"]


Product: 153 words. Ex. abandonnable, acceptable, accompagnable, accusable, admirable, adorable, affirmable, aidable, aimable, ajoutable, etc.


Results:


Grammatik refuses all non-lexicalized forms, but accepts admirable, aimable, etc.


Correcteur 101 accepts almost all forms, except the following (note corrections provided)


ôtable - > table

aidable - > aimable

attachable - > attaquable

chassable - > cassable

créable (correction manuelle)

fixable - > fiable

jurable - > jugeable

osable - > dosable

posable - > potable

pratiquable - > praticable

ratable - > datable

tirable - > étirable

Composition


Method: generate possible words from verb couper + all possible nouns for physical objects.


VINCI rule:


"couper"|V|?|?| _and_ ?|N|physobj|?|?|

_makes_ [#7.1 + "e " + #1.2]



Product: 347 words. Ex. coupe abricot, coupe achat, coupe addition, coupe affiche, coupe agneau, coupe aiguille, coupe aile, coupe aliment, coupe allumette, coupe annonce, etc.


Results:


Grammatik


- refuses essentially all forms, but suggests coupe-légumes for coupe-légume.


Correcteur 101


- accepts essentially all forms, but complains about a missing hyphen in the case of coupe-bien, coupe-meuble, coupe-nouvelle. Recognizes coupe-légumes.


Apposition of nouns as colour terms

Method: generate sequences of feminine plural definite articles plus feminine plural nouns followed by masculine singular nouns of fruit as colour indicators.


VINCI rule:


ROOT = DET[indéf, fém, plur]

N[fém, plur, visible]

N[masc, sing, fruit] %



Product: 35 phrases, including: des autoroutes abricot,

des belles soeurs pamplemousse, des bibliothèques raisin, des blouses raisin, des bouteilles raisin, des côtes pamplemousse, des cafétérias kiwi, etc.


Results:


Grammatik

des criminelles abricot (second word seen as adj)

des religieuses kiwi

des savantes abricot

des professeures kiwi (professeure not accepted)


Correcteur 101

des religieuses kiwi (second word seen as adj)

des savantes abricot

des belles soeurs pamplemousse (hyphen error)

Pronoun combinations

Method: generate sequences of subject clitic + direct object clitic pronouns followed by appropriate verb.


VINCI rule:


ROOT = choose P1, P2 : Personne,

N1, N2 : Nombre;


PONCT[maj]

PRON[pronper, P1, N1, suj, clit]

PRON[pronper, P2, N2, objd, clit]

V[vtd, humain.suj, influencer, humain.objd, P1, N1, indic, prés]

PONCT[pt]

%


Product: 50 sentences, for example:


Elle l'admire. Elles m'inspirent.

Elles nous emmènent. Il t'attaque.

Il te cache. Ils les sauvent.

Je me rembourse. Je nous connais.

Nous me soutenons. Nous t'encourageons.

Tu m'organises. Tu vous oublies.

Vous l'aidez. Vous te conseillez.

Vous vous embrassez.




Results:


Grammatik


- refuses tu vous, accepts all other combinations


Correcteur 101


- accepts all combinations, including


vous te ..., nous me ...






Agreement under coordination


Method: generate sequences of NPs conjoined by et and varying in number and gender, and end each sequence with a feminine past participle to check long distance agreement.


VINCI rule:


ROOT =

PONCT[maj]

DET[déf, fém, sing] N[fém, sing, humain]

CONJ[et]

DET[déf, masc, sing] N[masc, sing, humain]

CONJ[et]

SNR[fém, sing, humain]

V[vcop, indic, prés, plur, p3]

V[vi, auxe, humain.suj, pp, fém, plur]

PONCT[pt]

%


SNR = inherit G1 : Genre, N1 : Nombre, C1 : Casnom;


(

DET[déf, G1, N1] N[G1, N1, C1]

|

DET[déf, G1, N1] N[G1, N1, C1]

CONJ[et]

SNR[G1, N1, C1]

)

%

Products: 50 sentences with varying numbers of conjoined NPs. In all cases, NP1 is fem, NP2 is masc, and all succeeding NPs are fem.


L'hôtesse et le Belge et la visiteuse sont revenues. (3 NP)


L'esclave et le témoin et la Chinoise et la visiteuse et la Mexicaine sont descendues. (5 NPs)


La coiffeuse et le fou et l'Italienne et la folle et la Française et la commerçante et la garde et la gardienne sont descendues. (8 NPs)


Results:


Grammatik identifies no agreement errors


Correcteur 101 identifies all agreement errors



Agreement under embedding

Method: in progressively embedded clauses, check for agreement in number between subject and verb.


VINCI rule:


ROOT = choose G1, G2 : Genre, N1, N2 : Nombre;


PONCT[maj]

SN[G1, N1, humain]

PRON[pronrel, suj]

V[N1, humain.suj, percevoir, humain.objd, indic, prés, p3]

SN[G2, N2, humain]

PREL[G2, N2, humain.suj, percevoir, humain.objd]

V[vi, humain.suj, N1, prés, indic, p3]

PONCT[pt]

%


SN = inherit G1 : Genre, N1 : Nombre, C1 : Casnom;


DET[déf, G1, N1] N[G1, N1, C1]

%


PREL = inherit G2 : Genre, N2 : Nombre,

Cs : Casnom.suj, Cn : Casnom/suj,

Co : Casnom.objd, Cv : Casverbe;

(

PRON[pronrel, suj]

V[N2, Cs, Co, Cv, indic, prés, p3]

SN[G2, N2, Cn]

|

PRON[pronrel, suj]

V[N2, Cs, Co, Cv, indic, prés, p3]

SN[G2, N2, Cn]

PREL[G2, N2, Cs, Co, Cv]

)

%



Product: 50 sentences, with different levels of embedding and different combinations of number.



Les visiteuses qui observent la maman qui perçoit la Chinoise respirent. (2 embedded clauses, sing & plur)


Les marins qui aperçoivent les vieillardes qui fixent les chanteuses tremblent. (2 embedded clauses, all plur)


Le curé qui voit les filles qui fixent les mères qui observent les amantes pleure. (3 embedded clauses, sing & plur)


Les amies qui considèrent la chanteuse qui revoit la compagne qui écoute la partenaire qui fixe l'étudiante hésitent. (4 embedded clauses, sing and plur)


Le chasseur qui aperçoit les petits enfants qui écoutent les narrateurs qui sentent les chirurgiens qui observent les employés qui regardent les prisonniers qui entendent les Français entre. (6 embedded clauses, sing & plur)



Results:


Grammatik accepts all sentences.


Correcteur 101 accepts all sentences.



What about syntactic weight? Parameter setting?


PP attachment


Method: generate sentences with a temporal PP attached in various positions (x SN x V x SP x).


VINCI rule:


ROOT = choose G1, G2 : Genre, N1, N2 : Nombre;


(

PONCT[maj]

SP[après, G1, N1, activité]

SN[G1, N1, humain]

V[indic, imparf, N1, p3]/"aller"

SP[à, G2, N2, lieu]

PONCT[pt]

|

PONCT[maj]

SN[G1, N1, humain]

V[indic, imparf, N1, p3]/"aller"

SP[à, G2, N2, lieu]

SP[après, G1, N1, activité]

PONCT[pt]

|

PONCT[maj]

SN[G1, N1, humain]

SP[après, G1, N1, activité]

V[indic, imparf, N1, p3]/"aller"

SP[à, G2, N2, lieu]

PONCT[pt]

|

PONCT[maj]

SN[G1, N1, humain]

V[indic, imparf, N1, p3]/"aller"

SP[après, G1, N1, activité]

SP[à, G2, N2, lieu]

PONCT[pt]

)

%


SP = inherit Ge : Genre, No : Nombre, Cn : Casnom,

Pr : Prép;


PREP[Pr] SN[Ge, No, Cn]

%


SN = inherit Ge : Genre, No : Nombre, Cn : Casnom;


DET[déf, Ge, No] N[Ge, No, Cn]

%




Product: sentences with variously placed temporal PPs. Some examples:


Après les caresses les marchandes allaient au supermarché.


La vendeuse après la soirée allait à la cafétéria.


Les chefs allaient après les bals aux cellules.


Les millionnaires allaient aux stations service après les bagarres.



Results:


Grammatik accepts all sentences


Correcteur 101 accepts all sentences except one, which it cannot analyze:


Les malheureux après les drames allaient à la frontière.




Conclusions


- a generative testbed appears to offer a useful complement to other methods of evaluating grammar checking software


- replication of tests for various pieces of software and for different versions of the same software is a useful goal


- since a generative environment like VINCI ‘knows’ what it is producing, it is possible to flag sentences as correct or erroneous beforehand