normaliza§£o de texto: stemming - jesus.mena/courses/pln-1q-2018/pln-   da aula...

Download Normaliza§£o de texto: Stemming - jesus.mena/courses/pln-1q-2018/PLN-   Da aula anterior

Post on 24-Dec-2018

216 views

Category:

Documents

0 download

Embed Size (px)

TRANSCRIPT

1

Normalizao de texto: Stemming

MCZA017-13Processamento de Linguagem Natural

Prof. Jess P. Mena-Chalcojesus.mena@ufabc.edu.br

1Q-2018

mailto:jesus.mena@ufabc.edu.br

2

Bibliografia

Daniel Jurafsky & James H. Martin.Speech and language processing: An introduction to natural language processing, computational linguistics, and speech recognition. Pearson/Prentice Hall.

University of Colorado, Boulder

Stanford University

2000 2009

2019?

3

Bibliografia Captulo 2

https://web.stanford.edu/~jurafsky/slp3/

https://web.stanford.edu/~jurafsky/slp3/

4

Da aula anterior... Normalizao de palavras

5

Um sistema de busca deve permitir que documentos indexados com diferentes nomes sejam recuperados usando quaisquer das suas formas de escrita.

6

Normalizando as palavras

Em textos da lngua portuguesa temos diferentes palavras flexionadas em gnero, nmero ou grau, alm de inmeros tempos verbais distintos.

Trabalhor TrabalhadoraDegrau DegrausAmigo Amigo

A normalizao de palavras pode ser entendida como a reduo ou a simplificao ou a radicalizao de palavras.

Duas tcnicas mais imporantes

StemmingLemmatization

7

Stemming

O processo de stemming consiste em reduzir a palavra sua raiz (sem levar em conta a classe gramatical)

amig : amigo, amiga, amigo gat : gato, gata, gatos, gatas

Stemming geralmente refere-se a um processo de heurstica que corta as extremidades das palavras inclui frequentemente a remoo de afixos derivacionais.

Pode ser representado por um conjunto de regras que dependem da linguagem.

8

Stemming

for example compressed

and compression are both accepted as equivalent to compress.

for exampl compress and compress ar both

accept as equival to compress

9

Exemplo

Computationally

Computational

Computation

Computa

Comput No confunda, no a raiz da palavra (da forma linguistica)

A palavra pode no ter significado

10

Stemming x Lemmatization

Stemming (a ao de reduzir em stems)Stem: Parte de uma palavraStemmer: O artefato (programa)Algorithm for stemming

Lemmatization (a ao de reduzir em Lemmas)Lemma: Forma bsica da palavraLemmatizer: O artefato (programa)Algorithm for lemmatization

Produc

ProduceProduced

11

Algoritmos de Stemming

Existem diferentes algoritmos: Principalmente para o ingls!

12

Algoritmo de Lovins

Composto por 294 sufixos, 29 condies e 34 regras de transformao.

O processamento rpido:

apenas 2 etapas.

O algoritmo pioneiro e influenciador de muitos stemmers:

Lovins, Julie Beth. (1968). Development of a stemming algorithm. Mech. Translat. & Comp. Linguistics, 11(1-2), 22-31.

13

Algoritmo de Lovins

294 sufixos

...

Condio Comprimento

(I) Procurar pelo sufixo de maior tamanho na palavra e que satisfaz a(s) condies remover

14

Algoritmo de Lovins

29 condies

Implcito:O comprimento mnimo do tem deve ser igual a 2

15

Algoritmo de Lovins

34 regras

(II) As regras so aplicadas para transformar o final. Aplicadas se um sufixo removido ou no na primeira etapa.

16

Atividade prtica

17

Atividade prtica

National Aps remoo do sufixo ional: Nat

Nenhuma regra de transformao identificada

Resultado: Nat

Nationally Aps remoo do sufixo tionally: Nat

Nenhuma regra de transformao identificada

Resultado: Nat

Sitting Aps remoo do sufixo ing: Sitt

Regra de transformao 1 (eliminar uma t)

Resultado: Sit

Matrix Nenhuma remoo de sufixo

Regra de transformao 16 (ix ic)

Resultado: Matric

Matrices Aps remoo do sufixo es: Matric

Nenhuma regra de transformao identificada

Resultado: Matric

Magnesium Aps remoo do sufixo ium: Magnes

Nenhuma regra de transformao identificada

Resultado: Magnes

Rubbing Aps remoo do sufixo ing: Rubb

Regra de transformao 1 (eliminar uma b)

Resultado: Rub

18

Algoritmo de Lovins

19

Algoritmos de Stemming para ingls

1968: Lovins

1980: Porter

Os dois algoritmos eliminam/removem consecutivamente os finais das palavras.

Para cada palavra no requerido conhecimento priori para a sua reduo.

Lovins, Julie Beth. (1968). Development of a stemming algorithm. Mech. Translat. & Comp. Linguistics, 11(1-2), 22-31.

Porter, Martin. F. (1980). An algorithm for suffix stripping. Program, 14(3), 130-137.

20

Algoritmo de Martin F. Porter

Porter, Martin. F. (1980). An algorithm for suffix stripping. Program, 14(3), 130-137.

Inicialmente publicado em um relatrio de projeto final de Recuperao de Informao

C.J. van Rijsbergen, S.E. Robertson and M.F. Porter, 1980. New models in probabilistic information retrieval. London: British Library. (British Library Research and Development Report, no. 5587).

O algoritmo mais completo e mais simples do que Julie Lovins

O stemmer mais utilizado atualmente.

1944-Cambridge

21

Algoritmo de Martin F. Porter

Todos os 5 passos foram bem definidos:

Usa-se regras e operao de validao

Similar ao de Lovins: Cada palavra comparada sequencialmente com o maior sufixo possvel.

Casou o sufixo Remove-lo da palavra.

Exemplo:

106, "ed", LAMBDA, 1, -1, -1, ContainsVowel

Id. de regraSufixo

Substituio |substituio|-1 Funo de validao: A raiz deve ter uma vogal

|sufixo|-1

Tamanho minimo da raiz (quando eliminado o sufixo) deve ser igual a 3 caracteres

22

Algoritmo de Martin F. Porter

106, "ed", LAMBDA, 1, -1, -1, ContainsVowel

Shared Shar

Shed Shed (no Sh tamanho 2 sem vogal

Id. de regraSufixo

Substituio |substituio|-1 Funo de validao: A raiz deve ter uma vogal

|sufixo|-1

Tamanho minimo da raiz (quando eliminado o sufixo) deve ser igual a 3 caracteres

23

Algoritmo de Martin F. Porter

Passo 1a

sses ss (caresses caress)ies i (ponies poni)s (cats cat)

Passo 1b

(m>1) eed ee (agreed agree)

(*v*) ed (plastered plaster)

Pelo menos 1 consoante

A raiz deve conter vogal

24

Em laboratrio

25

Em laboratrio

26

Em laboratrio

27

Algoritmo de Porter

https://tartarus.org/martin/PorterStemmer/

https://tartarus.org/martin/PorterStemmer/

28

Algoritmos de Stemming para Portugus

2001: Orengo

Primeira verso amplamente divulgada de um algoritmo de radicalizao para a lngua portuguesa:

Constitudo por 199 regras distribudas por 8 passos.Considera uma lista de excepes:

Orengo, Viviane Moreira, & Huyck, Christian. (2001). A stemming algorithm for the portuguese language. In String Processing and Information Retrieval, 2001. SPIRE 2001. Proceedings. Eighth International Symposium on (pp. 186-193). IEEE.

Middlesex UniversityUFRGS

29

Algoritmo de Orengo

30

Algoritmo de Orengo

31

Outras propostas

32

Recursos: Python - NLTK

http://text-processing.com/demo/stem/

http://text-processing.com/demo/stem/

33

Comparao entre palavras nicas:- Sem radicalizao- Com radicalizao

34

Comparando resultados

no ist umastir em pros.

esbo liter apanh na proje sutil do caract , dou aqu apen uma reprodu do tip a que ch em meufal sec depros novat fanc liter .

no isto uma stira em prosa.

esboo literrioapanhado nasprojees sutisdos caracteres, dou aqui apenas uma reproduo do tipo a que chamo em meu falar seco de prosador novato fanqueiro literrio.

35

Comparando resultados

36

Algumas consideraes no discutidas sobre os stemmers!

37

1) Uso de uma base de dados?

Poderia se utilizado uma se dados (dicionrio) para comparar as palavras reduzidas.

Entretanto, esse procedimento requerir maior tempo de processamento computacional.

Mesmo consumindo maior tempo, o esforo investido poderia no valer a pena.

Harman, D., & Candela, G. (1990). Retrieving records from a gigabyte of text on a minicomputer using statistical ranking. Journal of the American Society for Information Science, 41(8), 581.

38

2) Por que no eliminar prefixos?

No ha nenhum motivo terico para no considerar a eliminao de prefixos nos stemmers:

ArquiduqueProttipoContradizerUltraleve

39

3) stemming na literatura

40

4) Perda de detalhe ou informao?

O algoritmo de stemming no deveria permitir a perda de muita informao:

Poder PoVer VeChamo Ch

National Na

Verso original do algoritmo de PorterAs AIs I

41

4) Perda de detalhe ou informao?

Medidas de desempenho

Overstemming

Quando removido no s o sufixo, mas tambm uma parte do radical

Understemming

Quando o sufixo no removido, ou apenas removido parcialmente

42

5) Stemmer para nomes?

Ideia para um projeto final?

Pedro PedroGuilherme GuiRoberto Rob

43

Sobre Lemmatisation

O processo de lemmatisation consiste aplicar uma tcnicas para deflexionar as palavras (reti

Recommended

View more >