MCZA Processamento de Linguagem Natural Normalização de texto: Stemming

Documentos relacionados
Pedro Oliveira

MCZA Processamento de Linguagem Natural Normalização de texto: Palavras e stopwords

MCZA Processamento de Linguagem Natural Semântica e similaridade de palavras: Parte I

MCZA Processamento de Linguagem Natural Expressões regulares

MCZA Processamento de Linguagem Natural Modelando a linguagem com N-gramas

MCZA Processamento de Linguagem Natural Reconhecimento de entidades nomeadas

MCZA Processamento de Linguagem Natural Semântica e similaridade de palavras: Parte III

MCZA Processamento de Linguagem Natural Laboratório: Classificação de textos

MCZA Processamento de Linguagem Natural Classificação de textos

Organizaçãoe Recuperaçãode Informação GSI521. Prof. Dr. Rodrigo Sanches Miani FACOM/UFU

Profª Ana Lúcia Lima Marreiros Maia Profª Fabiana Cristina Bertoni

MCZA Processamento de Linguagem Natural Introdução

Capítulo Métodos para transformar gramáticas ái Duas formas Normais (Chomsky e Greibach) ADC/TC/Cap.6/ /LEI/DEIFCTUC 268

Desenvolvimento Guiado por Comportamento usando Processamento de Linguagem Natural

18º Congresso de Iniciação Científica FORMA QUADRÁTICA: O MÉTODO DE BOOLE PARA CALCULAR OS SEUS INVARIANTES

Morfologia e Classes Apresentação da Professora Gramaticais Licenciatura em Letras Língua Portuguesa e Literaturas Ementa Organização da Disciplina

Stemming para a língua portuguesa: estudo, análise e melhoria do algoritmo RSLP

Pré-Processamento de Documentos

Avaliando Diferentes Formas de Geração de Termos a partir de Coleções Textuais

Aula de Hoje Processamento Estatístico da Linguagem Natural

Aprendizado de Máquina

Pré-processamento textual para a extração de informação em bases de patentes

Ontologias Linguísticas e Processamento de Linguagem Natural. Ygor Sousa CIn/UFPE

PROTÓTIPO PARA SUMARIZAÇÃO AUTOMÁTICA DE TEXTOS ESCRITOS EM LÍNGUA PORTUGUESA ALEXANDRE BUSARELLO JOYCE MARTINS

Lematização versus Stemming

Paradigmas de programação

Limite assintótico para a ordenação, Ordenação em tempo linear

Implementação de Kernel Customizado Aplicado à Análise de Sentimentos em Resenhas de Filmes

Algoritmos e Estruturas de Dados I. Aula 11 Árvores AVL. Prof. Jesús P. Mena-Chalco.

Apoio a mediação pedagógica em um Debate de Teses utilizando técnicas de processamento de texto

Aula 15 Árvores Digitais / Trie

Recuperação de Informação em Bases de Texto

Identificação e Tratamento de Expressões Multipalavras aplicado à Recuperação de Informação

Plano de Trabalho Docente Ensino Técnico

Teoria da Computação. 2006/2007 Trabalho prático nº 2. Trabalho realizado por: Pedro Oliveira ( ) Rui Costa ( ) Turma: TP1

3 Desenvolvimento de Dicionários Temáticos

Uma revisão dos algoritmos de radicalização em língua portuguesa

ANALISE COMPARATIVA DE ALGORITMOS DE REDUÇÃO DE RADICAIS E SUA IMPORTÂNCIA PARA A MINERAÇÃO DE TEXTO

Indexação e Construção de Índice. Renato Fernandes Corrêa

Molde-Mestre - A Criação de Uma Ferramenta de Autoria Aplicada ao Ensino a Distância

Índice. Classificação de textos para o ensino de português como segunda língua. Índice. technology from seed

Implementação de um escalonador de processos em GPU

Português 1º ano João J. Processos de Formação de Palavras

- Métodos simples de busca - Métodos ingênuos de ordenação (introdução)

Computação Musical - Introdução slides do curso Computação Musical

Avaliando o Impacto da Qualidade de um Algoritmo de Stemming na Recuperação de Informações

Plano de Trabalho Docente Ensino Técnico

Conteúdos do Vestibulinho 2016

Processamento da Informação Ambientes de programação

CCM002 Metodologia de Pesquisa em Ciência da Computação Preparação de um trabalho de pesquisa: - Revisão sistemática

Utilização da Indexação Automática para Auxílio à Construção de uma Base de Dados para a Extração de Conhecimento aplicada à Doenças Pépticas

Estrutura e formação de palavras. Estrutura das palavras

GistSumm GIST SUMMarizer: Extensões e Novas Funcionalidades

23/05/12. Agenda. Introdução. Introdução. Introdução. Álgebra. Relacional. Cálculo. Relacional

6 Inserção Seletiva de Nulos

Universidade do Sul de Santa Catarina Ciência da Computação Aula 09 Introdução a Análise de Textos Prof. Max Pereira

Teorema da Galeria de Arte e Triangularização de Polígonos e Pontos no Plano

Mineração de Textos na Web

A/ART casa/n caiu/v./. Figura 3.1: Frase com anotação morfossintática.

Língua Portuguesa. (gramática, texto e redação) Professor Guga Valente

Algoritmos e Estruturas de Dados I

SETEMBRO. Dia 01 MATUTINO 02 VESPERTINO VESPERTINO

Aula 13 Árvores Adelson-Velskii e Landis

Plano de Trabalho Docente Ensino Técnico

Extração Automática de Palavras-chave de Textos da Língua Portuguesa

MC3305 Algoritmos e Estruturas de Dados II. Aula 02 Hashing. Prof. Jesús P. Mena-Chalco.

Ficha de acompanhamento da aprendizagem

MÓDULO I/ GREGO KOINÉ I

ESTRUTURA E FORMAÇÃO DE PALAVRAS. Patrícia Rocha Lopes

Algoritmos em Strings

CERT-A CERT-O CERT-A-MENTE CERT-EZA A - CERT - A - R

2 Processo de Mineração de Textos

Estrutura de Dados II

Correção Ortográfica. Processamento Estatístico da Linguagem Natural. Correção de Erros. Distância Mínima de Edição. Distância Mínima de Edição

ESTRUTURA E PROCESSOS FORMAÇÃO DAS PALAVRAS

SCC Algoritmos e Estruturas de Dados II. 6ª lista de exercícios

ÍNDICE Capítulo 1. Avaliação conjunta Diana Santos Capítulo 2. Organização e resultados morfolímpicos Luís Costa, Paulo Rocha e Diana Santos

CIC 111 Análise e Projeto de Algoritmos II

DESCOBERTA DO CONHECIMENTO COM O USO DE TEXT MINING APLICADA AO SAC TEXT MINING. Aluno José Lino Uber. Orientador Paulo Roberto Dias

MCTA001 Algoritmos e Estruturas de Dados I Apresentação e exercícios básicos

Uma avaliação de analisadores morfológicos do português

3 Metodologia de Mineração de Textos

Linguagens Formais e Autômatos (BBC242) Professor: Anderson Almeida Ferreira DECOM-UFOP

Análise Sintática de Frases utilizando Gramáticas Livres de Contexto Probabilísticas

Ficha de acompanhamento da aprendizagem

Diego Martin Mancini Orientador: Prof. Paulo A. V. de Miranda Instituto de Matemática e Estatística Universidade de São Paulo

Indexação de Arquivos II:

Aprendizagem de Máquina

Universidade Estadual de Mato Grosso do Sul Bacharelado em Ciência da Computação Algoritmos e Estruturas de Dados II Prof. Fabrício Sérgio de Paula

Determinação do Grau de Similaridade entre Frases

Inglês para fins específicos Inglês instrumental. Profa. Ms. Valéria Lopes de Aguiar Bacalá

Descritores de Imagens

Estruturas de Dados Tabelas de Espalhamento

Projeto de Algoritmos por Indução

Lógica Proposicional. LEIC - Tagus Park 2 o Semestre, Ano Lectivo 2007/08. c Inês Lynce c Luísa Coheur

Aula 07: Algoritmos de busca e Listas encadeadas

n Gramas de Caractere como Técnica de Normalização Morfológica para Língua Portuguesa: Um Estudo em Categorização de Textos

Processo Seletivo Estudantes/2018 Conteúdo Programático

Transcrição:

MCZA017-13 Processamento de Linguagem Natural Normalização de texto: Stemming Prof. Jesús P. Mena-Chalco jesus.mena@ufabc.edu.br 1Q-2018 1

Bibliografia Daniel Jurafsky & James H. Martin. Speech and language processing: An introduction to natural language processing, computational linguistics, and speech recognition. Pearson/Prentice Hall. 2019? 2000 2009 Stanford University University of Colorado, Boulder 2

Bibliografia Capítulo 2 https://web.stanford.edu/~jurafsky/slp3/ 3

Da aula anterior... Normalização de palavras 4

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

Normalizando as palavras Em textos da língua portuguesa temos diferentes palavras flexionadas em gênero, número ou grau, além de inúmeros tempos verbais distintos. Trabalhor Degrau Amigo Trabalhadora Degraus Amigão A normalização de palavras pode ser entendida como a redução ou a simplificação ou a radicalização de palavras. Duas técnicas mais imporantes Stemming Lemmatization 6

Stemming O processo de stemming consiste em reduzir a palavra à sua raiz (sem levar em conta a classe gramatical) amig : amigo, amiga, amigão gat : gato, gata, gatos, gatas Stemming geralmente refere-se a um processo de heurística que corta as extremidades das palavras inclui frequentemente a remoção de afixos derivacionais. Pode ser representado por um conjunto de regras que dependem da linguagem. 7

Stemming for example compressed for exampl compress and compression are both and compress ar both accepted as equivalent to accept as equival to compress. compress 8

Exemplo Computationally Computational Computation Computa Comput Não confunda, não é a raiz da palavra (da forma linguistica) A palavra pode não ter significado 9

Stemming x Lemmatization Stemming (a ação de reduzir em stems) Stem: Parte de uma palavra Stemmer: O artefato (programa) Algorithm for stemming Lemmatization (a ação de reduzir em Lemmas) Lemma: Forma básica da palavra Lemmatizer: O artefato (programa) Algorithm for lemmatization Produc Produced Produce 10

Algoritmos de Stemming Existem diferentes algoritmos: Principalmente para o inglês! 11

Algoritmo de Lovins 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. Composto por 294 sufixos, 29 condições e 34 regras de transformação. O processamento é rápido: apenas 2 etapas. 12

Algoritmo de Lovins (I) Procurar pelo sufixo de maior tamanho na palavra e que satisfaz a(s) condições remover 294 sufixos Condição Comprimento... 13

Algoritmo de Lovins 29 condições Implícito: O comprimento mínimo do tem deve ser igual a 2 14

Algoritmo de Lovins (II) As regras são aplicadas para transformar o final. Aplicadas se um sufixo é removido ou não na primeira etapa. 34 regras 15

Atividade prática 16

Atividade prática National Após remoção do sufixo ional : Nat Nenhuma regra de transformação identificada Resultado: Nat Nationally Após remoção do sufixo tionally : Nat Nenhuma regra de transformação identificada Resultado: Nat Sitting Após remoção do sufixo ing : Sitt Regra de transformação 1 (eliminar uma t) Resultado: Sit Matrix Nenhuma remoção de sufixo Regra de transformação 16 (ix ic) Resultado: Matric Matrices Após remoção do sufixo es : Matric Nenhuma regra de transformação identificada Resultado: Matric Magnesium Após remoção do sufixo ium : Magnes Nenhuma regra de transformação identificada Resultado: Magnes Rubbing Após remoção do sufixo ing : Rubb Regra de transformação 1 (eliminar uma b) Resultado: Rub 17

Algoritmo de Lovins 18

Algoritmos de Stemming para inglês 1968: Lovins 1980: Porter 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. Os dois algoritmos eliminam/removem consecutivamente os finais das palavras. Para cada palavra não é requerido conhecimento à priori para a sua redução. 19

Algoritmo de Martin F. Porter Porter, Martin. F. (1980). An algorithm for suffix stripping. Program, 14(3), 130-137. Inicialmente publicado em um relatório de projeto final de Recuperação de Informação 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). 1944Cambridge O algoritmo é mais completo e mais simples do que Julie Lovins O stemmer mais utilizado atualmente. 20

Algoritmo de Martin F. Porter Todos os 5 passos foram bem definidos: Usa-se regras e operação de validação Similar ao de Lovins: Cada palavra é comparada sequencialmente com o maior sufixo possível. Casou o sufixo Remove-lo da palavra. Tamanho minimo da raiz (quando eliminado o sufixo) deve ser igual a 3 caracteres Exemplo: 106, "ed", LAMBDA, 1, -1, -1, ContainsVowel Sufixo Id. de regra sufixo -1 Substituição substituição -1 Função de validação: A raiz deve ter uma vogal 21

Algoritmo de Martin F. Porter Tamanho minimo da raiz (quando eliminado o sufixo) deve ser igual a 3 caracteres 106, "ed", LAMBDA, 1, -1, -1, ContainsVowel Sufixo Id. de regra sufixo -1 Substituição Shared Shar Shed Shed substituição -1 Função de validação: A raiz deve ter uma vogal (não Sh tamanho 2 sem vogal 22

Algoritmo de Martin F. Porter Passo 1a sses ss ies i s (caresses (ponies (cats caress) poni) cat) Passo 1b (m>1) eed ee (agreed (*v*) ed (plastered plaster) agree) Pelo menos 1 consoante A raiz deve conter vogal 23

Em laboratório 24

Em laboratório 25

Em laboratório 26

Algoritmo de Porter https://tartarus.org/martin/porterstemmer/ 27

Algoritmos de Stemming para Português 2001: Orengo 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. Primeira versão amplamente divulgada de um algoritmo de radicalização para a língua portuguesa: Constituído por 199 regras distribuídas por 8 passos. Considera uma lista de excepções: Middlesex University UFRGS 28

Algoritmo de Orengo 29

Algoritmo de Orengo 30

Outras propostas 31

Recursos: Python - NLTK http://text-processing.com/demo/stem/ 32

Comparação entre palavras únicas: - Sem radicalização - Com radicalização 33

Comparando resultados não é isto uma sátira em prosa. não é ist uma sátir em pros. esboço literário apanhado nas projeções sutis dos caracteres, dou aqui apenas uma reprodução do tipo a que chamo em meu falar seco de prosador novato fanqueiro literário. esboç liter apanh na projeç sutil do caract, dou aqu apen uma reproduç do tip a que ch em meu fal sec de pros novat fanc liter. 34

Comparando resultados 35

Algumas considerações não discutidas sobre os stemmers! 36

1) Uso de uma base de dados? Poderia se utilizado uma se dados (dicionário) para comparar as palavras reduzidas. Entretanto, esse procedimento requerirá maior tempo de processamento computacional. Mesmo consumindo maior tempo, o esforço investido poderia não 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. 37

2) Por que não eliminar prefixos? Não ha nenhum motivo teórico para não considerar a eliminação de prefixos nos stemmers: Arquiduque Protótipo Contradizer Ultraleve 38

3) stemming na literatura 39

4) Perda de detalhe ou informação? O algoritmo de stemming não deveria permitir a perda de muita informação: Poder Po Ver Ve Chamo Ch National Na Versão original do algoritmo de Porter As A Is I 40

4) Perda de detalhe ou informação? Medidas de desempenho Overstemming Quando é removido não só o sufixo, mas também uma parte do radical Understemming Quando o sufixo não é removido, ou é apenas removido parcialmente 41

5) Stemmer para nomes? Ideia para um projeto final? Pedrão Pedro Guilherme Gui Roberto Rob 42

Sobre Lemmatisation O processo de lemmatisation consiste aplicar uma técnicas para deflexionar as palavras (retira a conjugação verbal, caso seja um verbo, e altera os substantivos e os adjetivos para o singular masculino, de maneira a reduzir a palavra até sua forma de dicionário) amigo : amigo, amiga, amigão gato : gato, gata, gatos, gatas ter : tinha, tenho, tiver, tem Lemmatisation geralmente usa um dicionário de palavras (a heurística é mais sofisticada). 43