You are on page 1of 6

Identificarea automata a genului

autorului unui text


Automatically Categorizing Written Texts by Author Gender
Moshe Koppel, Shlomo Argamon, Anat Rachel Shimoni - Literary and Linguistic
Computing, 2002

Exista tehnici care pot determina genul autorului unui text cu o precizie de 80%.
Aceleasi tehnici dau o precizie de 98% daca sunt folosite pentru incadrarea unui
text in una din categoriile: fictiune, non-fictiune.

Etapele categorizarii:

• reprezentarea documentului – alegem un set de caracteristici


reprezentative pentru text si cream un vector de ponderi pentru fiecare
trasatura.

• reducerea dimensiunii vectorului.

• invatarea automata pentru a construi un model al fiecarei categorii.

• un protocol de testare.

Autorii studiului folosesc 566 documente din British National Corpus, fiecare
etichetat cu genul autorului, genul scrierii. Nici un autor nu a scris mai mult de 3
documente din corpus. Documentele contin 34.320 de cuvinte, in medie.

Atribute:

• 405 cuvinte de legatura, care apar macar o data in documente


• cele mai comune 500 de triplete de tag-uri, 100 de perechi de tag-uri si toate cele 76 de tipuri
de tag-uri (in conceptul de tag, sunt incadrate subclase ale partilor de vorbire cunoscute de noi:
de exemplu, substantive la singular. Vezi anexa pentru o lista incompleta.)

In total, avem 1081 de atribute. Valorile asociate cuvintelor de legatura si perechilor au fost dublate,
iar cele asociate tripletelor au fost triplate.

Algoritmul de invatare automata

Incercam sa gasim un separator liniar intre multimea documentelor scrise de


barbati si cea a documentelor scrise de femei. Vrem sa gasim un vector w cu

Pagina 1
proprietatea ca w*x > T, daca si numai daca documentul x este scris de o femeie,
unde T este o valoare data.

Initial w=w++w-

w+={1,1,…,1}

w-={-1,-1,…,-1}

Updatam w+ si w- dupa urmatoarele reguli:

w+i= w+i*(1+b*xi)c(x)-s(w,x)

w-i= w-i*(1+b*xi)s(w,x)-c(x)

c(x)=1, daca x e scris de o femeie

c(x)=0, altfel

s(w*x)=1, daca w*x>0

s(w*x)=0, altfel

b=3 (constanta de invatare)

Ponderile atributelor care apar cel mai frecvent in documentele clasificate gresit
sunt modificate cel mai mult. Atributele irelevante vor avea ponderi apropiate de
0.

Updatarea continua pana cand toate exemplele sunt clasificate corect sau daca in
100 de cicluri consecutive nu se produce nici o imbunatatire a valorilor.

Rezultate

Autorii au testat algoritmul in trei variante:

1. folosind doar cuvintele de legatura [73.7% documente corect clasificate]

2. doar tag-urile[70.5%]

3. si cuvintele de legatura si tag-urile[77.3%]

Atributele relevante sunt diferite pentru fictiune si non-fictiune, de aceea se


obtine rezultate mai bune daca ne concentram pe un singur tip de texte.

Domeniu Cuvinte de legatura Parti de vorbire Combinat


Total 73.7 ± 0.86 70.5 ± 0.90 77.3 ± 0.79
Fictiune 78.8 ± 1.1 77.1 ± 0.85 79.5 ± 1.1
Non-fictiune 68.5 ± 1.3 67.2 ± 1.2 82.6 ± 0.99

Pagina 2
Reducerea numarului de atribute

Importanta unui atribut este produsul dintre ponderea sa in model si frecventa in


setul de antrenare.

Daca folosim si cuvintele de legatura si tag-urile, putem reduce numarul de


atribute la 8. Acuratetea medie este undeva intre 75% si 80%.

Cele mai frecvente cuvinte de legatura:

fictiune
barbati – a, the, as
femei – she, for, with, not

non-fictiune
barbati – that, one
femei – for, with, not, and, in

Cele mai frecvente tag-uri:

barbati: numere, modificatori, determinanti (adjective)

femei: negatii, pronume, prepozitii.

In cazul textelor de fictiune, femeile folosesc de doua ori mai mult she decat
barbatii. Pentru non-fictiune, diferenta este si mai mare: femeile folosesc she de
trei ori mai mult decat barbatii. Pentru he, frecventa este similara pentru femei si
barbati.

Tabelul indica frecventa la 10.000 de cuvinte.

Fictiune Non-fictiune
Atribut M F M F
PNP 732 809 291 331
he 145 135 47.5 48.1
she 67 139 8.73 21.5
AT0 735 626 884 822
DT0 160 153 220 204
the 520 418 611 614
XX0 84 98 54 55
PRP 623 615 767 763
PRF 170 158 355 324
for 55.7 61.3 77.9 90.7
with 58.6 66.5 56.9 67.8
and 234 249 242 287

Pagina 3
Concluzii

Aceasta tehnica foloseste atribute independente de continutul textului.


Performante bune se obtin cand se combina cuvintele de legatura cu n-gramele
de tag-uri. Chiar si atunci cand reducem numarul de atribute la 8, relevanta se
apropie de 80%.

Metoda se poate folosi si pentru identificarea textelor de fictiune si non-fictiune,


dar si pentru categorizarea dupa genul operei, asemanarile dintre autori (timpul
cand au trait).

Anexa

O parte din tag-urile BNC:

AJ0 Adjectiv (general sau pozitiv) (good)

AJC Adjectiv comparativ (better)

AJS Adjectiv superlativ (the best)

AT0 Articol (the, a, an, no)

AV0 Adverb general (often, well, longer (adv.), furthest.

AVP Adverb particula (up, off, out)

AVQ Wh-adverb (when, where, how, why, wherever)

CJC Conjunctie coordonativa (and, or, but)

CJS Conjunctie de subordonare (although, when)

CJT Conjunctia de subordonare that

CRD Numar (one, 3, fifty-five, 3609)

DPS Pronume posesiv (your, their, his)

DT0 Pronume demonstrativ (this)

DTQ Wh-determiner (which, what, whose, whichever)

EX0 there cu sens existential, i.e. there is ..., there are ...

ITJ Interjectii (oh, yes, mhm, wow)

NN0 Substantive colective (aircraft, data, committee)

Pagina 4
NN1 Substantive la singular (pencil, goose, time, revelation)

NN2 Substantive la plural (pencils, geese, times, revelations)

NP0 Substantive proprii (London, Michael, Mars, IBM)

ORD Numeral ordinal (first, sixth, 77th, last)

PNI Pronume nehotarat (none, everything, one [ca pronume], nobody)

PNP Pronume personal (I, you, them, ours)

PNQ Wh-pronume (who, whoever, whom)

PNX Pronume reflexiv (myself, yourself, itself, ourselves)

POS Posesivul 's sau ' (pentru 'Peter's or somebody else's', secventa de taguri este: NP0 POS
CJC PNI AV0 POS)

PRF Prepozitia of.

PRP Prepozitii (fara of) (about, at, in, on, on behalf of, with)

PUL Punctuatie: ( sau [

PUN Punctuatie: . . , ! , : ; - ?

PUQ Punctuatie: ' sau "

PUR Punctuatie: ) sau ]

TO0 to de la infinitiv

UNC Cuvinte straine, greseli.

VBB Prezentul pentru BE, mai putin is, 's

VBD Past tense pentru BE: was si were

VBG being

VBI be

VBN been

VBZ is, 's

VDB do

VDD did

Pagina 5
VDG doing

VDI do

VDN done

VDZ does, 's

VHB have, 've

VHD had, 'd

VHG having

VHI have

VHN had

VHZ has, 's

VM0 Verb auxiliar (will, would, can, could, 'll, 'd)

VVB Forma de baza (forget, send, live, return)

VVD Past tense (forgot, sent, lived, returned)

VVG Forma in -ing (forgetting, sending, living, returning)

VVI Infinitivul (forget, send, live, return)

VVN Participiu (forgotten, sent, lived, returned)

VVZ Forma in –s a verbelor (forgets, sends, lives, returns)

XX0 not sau n't

ZZ0 Alfabetul (A, a, B, b, c, d)

Pagina 6