Buscar

ProcessamentodeLinguagemNatualAprendizagemdeMaquina

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 5 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Processamento de Linguagem Natual + Aprendizagem de Maquina 
 
Estudo da Sub-área de PLN , a ​aprendizagem de linguagem natural (NLL) é a área de 
interesse. 
 
Os sistemas baseados em algoritmos de aprendizagem mecânica têm muitas vantagens em 
relação às regras produzidas manualmente: 
● Os procedimentos de aprendizagem usados durante a aprendizagem da máquina 
focam-se automaticamente nos casos mais comuns, ao passo que quando se 
escrevem regras à mão, não é óbvio em que sentido o esforço deve ser dirigido. 
● Os procedimentos de aprendizagem automática podem fazer uso de algoritmos de 
inferência estatística para produzir modelos que são robustos a entradas não 
familiares (por exemplo, contendo palavras ou estruturas que não foram vistas 
antes) e a entradas errôneas (por exemplo, com palavras ou palavras 
incorretamente omitidas). Geralmente, lidar com essas entradas de forma com 
regras manuscritas ou sistemas de regras manuscritas que tomam decisões suaves 
é extremamente trabalhoso, propenso a erros e demorado. 
● Sistemas baseados em aprender automaticamente as regras podem ser mais 
precisos simplesmente fornecendo mais dados de entrada. No entanto, os sistemas 
baseados em regras escritas à mão só podem ser tornados mais precisos 
aumentando a complexidade das regras, o que é uma tarefa muito mais difícil. Em 
particular, há um limite para a complexidade de sistemas baseados em regras 
artesanais, para além dos quais os sistemas se tornam cada vez mais incontroláveis. 
No entanto, a criação de mais dados para entrada em sistemas de aprendizado de 
máquina requer simplesmente um aumento correspondente no número de horas 
trabalhadas por humanos, geralmente sem aumentos significativos na complexidade 
do processo de anotação. 
 
 
Exemplos: 
 
Sumarização automática 
Produz um resumo legível de uma parte do texto. Muitas vezes usado para fornecer 
resumos de texto de um tipo conhecido, como artigos na seção financeira de um jornal. 
Resolução de correferência 
Dada uma frase ou um pedaço maior de texto, determina quais palavras ("menções") se 
referem aos mesmos objetos ("entidades"). A ​resolução da anáfora​ é um exemplo específico 
dessa tarefa e está especificamente preocupada em combinar os pronomes com os 
substantivos​ ou nomes aos quais eles se referem. A tarefa mais geral da resolução de 
correferência também inclui a identificação dos chamados "relacionamentos de ponte" 
envolvendo expressões de referência. Por exemplo, numa frase como "Ele entrou na casa 
de João pela da porta da frente", "a porta da frente" é uma expressão de referência e a 
relação da ponte a ser identificada é o fato de que a porta a ser referida é a porta da frente 
de John's (ao invés de alguma outra estrutura que também pode ser referida). 
Análise do Discurso 
Esta rubrica inclui uma série de tarefas relacionadas. Uma tarefa é identificar a estrutura 
discursiva do texto conectado, isto é, a natureza das relações discursivas entre sentenças 
(por exemplo, elaboração, explicação, contraste). Outra possível tarefa é reconhecer e 
classificar os atos de fala em um pedaço de texto (por exemplo, pergunta sim-não, pergunta 
de conteúdo, frase, afirmação, etc). 
Maquina de tradução 
Traduzir automaticamente texto de uma linguagem humana para outra. Este é uma das 
tarefas mais difíceis e faz parte de um tipo de problemas conhecidos como "​AI-complete​", ou 
seja, exigindo todos os diferentes tipos de conhecimento que os humanos possuem 
(gramática, semântica, fatos sobre o mundo real, etc) para resolvê-lo adequadamente. 
Segmentação morfológica 
Separa palavras em ​morfemas​ individuais e identifica classes de morfemas. A dificuldade 
desta tarefa depende muito da complexidade da morfologia (isto é, da estrutura das 
palavras) da linguagem que está sendo considerada. O ​inglês​ possui uma morfologia 
bastante simples, especialmente a morfologia ​flexional ​, e portanto é possível ignorar esta 
tarefa inteiramente e simplesmente modelar todas as formas possíveis de uma palavra (por 
exemplo, "open, opens, opened, opening") como palavras separadas. Em línguas como o 
turco​ ou o ​Meitei​, uma língua indiana fortemente ​aglutinada​, no entanto, tal abordagem não 
é possível, uma vez que cada entrada do dicionário tem milhares de formas de palavras 
possíveis.​[6] 
Reconhecimento de entidade nomeada (NER) 
Dado um fluxo de texto, determina quais são itens no mapa de texto para nomes próprios, 
como pessoas ou locais e qual é o tipo de cada nome (por exemplo, pessoa, local, 
organização). Embora a capitalização possa ajudar a reconhecer entidades nomeadas em 
idiomas como o inglês, essas informações podem não ajudar a determinar o tipo de entidade 
nomeada e, em alguns casos, sãos imprecisas ou insuficientes. Por exemplo, a primeira 
palavra de uma frase também é capitalizada e as entidades nomeadas muitas vezes 
abrangem várias palavras, com apenas algumas delas são capitalizadas. Além disso, muitas 
outras linguagens em scripts não-ocidentais (por exemplo, chinês ou árabe) não têm 
nenhuma capitalização e mesmo as línguas com maiúsculas podem não distinguir nomes. 
Por exemplo, o alemão capitaliza todos os substantivos, independentemente de se referirem 
a nomes, e o francês e o espanhol não capitalizam nomes que servem como adjetivos. 
Geração de linguagem natural 
Converte informações de bancos de dados de computador ou intenções semânticas em 
linguagem humana legível. 
Compreensão da linguagem natural 
Converte pedaços de texto em representações mais formais, como estruturas de ​lógica de 
primeira ordem​, que são mais fáceis de manipular pelos programas de computador. A 
compreensão da linguagem natural envolve a identificação da semântica pretendida a partir 
da múltipla semântica possível que pode ser derivada de uma expressão de linguagem 
natural que geralmente toma a forma de notação organizada de conceitos de linguagens 
naturais. Entretanto, introdução e criação de linguagem metamodelo e ontologia são 
eficientes soluções empíricas. Uma formalização explícita da semântica de línguas naturais 
sem confusões com suposições implícitas como ​closed-world assumption​ (CWA) versus 
open-world assumption​ ou subjetiva Sim / Não versus objetivo Verdadeiro / Falso é esperada 
para a construção de uma base de formalização semântica ​[7]​. 
Reconhecimento óptico de caracteres (OCR) 
Dada uma imagem que representa o texto impresso, determina o texto correspondente. 
Marcação de classe gramatical 
Dada uma sentença, determina a ​classe gramatical ​ de cada palavra. Muitas palavras, 
especialmente as comuns, podem servir como múltiplas partes do discurso. Em inglês, por 
exemplo, "book" pode ser um substantivo ("the book on the table") ou verbo ("book a flight"); 
"Set" pode ser um substantivo, verbo ou adjetivo; E "out" pode ser qualquer um de pelo 
menos cinco diferentes partes da fala. Algumas línguas têm mais ambiguidade do que 
outras. As línguas com pouca morfologia flexional, como o inglês, são particularmente 
propensas a tal ambiguidade. O chinês é propenso a tal ambiguidade porque é uma ​língua 
tonal​ durante a verbalização. Tal inflexão não é facilmente transmitida através das entidades 
empregadas dentro da ortografia para transmitir o significado pretendido. 
Análise sintática (Parsing) 
Determina a árvore de análise (análise gramatical) de uma frase. A gramática para as 
linguagens naturais é ambígua e frases típicas têm múltiplas análises possíveis. Na verdade, 
surpreendentemente, para uma frase típica pode haver milhares de análises em potencial (a 
maioria dos quais parecerá completamente absurda para um ser humano). 
Respostas a perguntas 
Dada uma questão de linguagem humana, determina sua resposta. As perguntas típicas têm 
uma resposta correta específica (como "Qual é o capitaldo Canadá?"), mas às vezes 
perguntas abertas também são consideradas (como "Qual é o significado da vida?"). 
Trabalhos recentes têm analisado questões ainda mais complexas.​[8] 
Extração de relacionamento 
Identifica as relações entre entidades nomeadas (por exemplo, quem é casado com quem) 
com base em textos. 
Quebra de frases ​ (sentence boundary disambiguation) 
Encontra os limites da frase em um pedaço de texto. Os limites de frases são normalmente 
marcadas por pontos ou outros sinais de pontuação, mas esses mesmos caracteres podem 
servir outros propósitos. 
Análise de subjetividade​ (sentiment analysis ou opinion mining) 
Extrai informações subjetivas geralmente de um conjunto de documentos, muitas vezes 
usando revisões online para determinar a "polaridade" sobre objetos específicos. É 
especialmente útil para identificar tendências da opinião pública nas mídias sociais, para fins 
de marketing. 
Reconhecimento de fala 
Dado um clipe de som de uma pessoa ou pessoas falando, determina a representação 
textual do discurso. É o oposto da ​síntese de fala​ e é uma das áreas mais difíceis, conhecida 
como "AI-complete". Na fala natural quase não há pausas entre palavras sucessivas, por 
isso a ​segmentação de fala​ é uma subtarefa necessária de reconhecimento de fala. Nota-se 
também que, na maioria das linguagens faladas, os sons que representam letras sucessivas 
se misturam entre si em um processo denominado coarticulação, de modo que a conversão 
do sinal analógico em caracteres discretos pode ser um processo muito difícil de ser 
realizado. 
Segmentação de fala 
Dado um clipe de som de uma pessoa ou pessoas falando, separa-o em palavras. Uma 
subaplicação de reconhecimento de fala e normalmente agrupada com ele. 
Análise morfológica​ ​e reconhecimento de tópicos 
Dado um pedaço de texto, separa-o em segmentos cada um dos quais é dedicado a um 
tópico e identifica o tópico do segmento. 
Análise morfológica​ ​e segmentação de palavras 
Separa um pedaço de texto contínuo em palavras separadas. Para uma língua como o 
inglês, isso é bastante trivial, uma vez que as palavras são normalmente separadas por 
espaços. No entanto, algumas línguas escritas como chinês, japonês e tailandês não 
marcam limites de palavras de tal forma, e nessas línguas segmentação de texto é uma 
tarefa significativa que requer conhecimento do vocabulário e morfologia das palavras na 
língua. 
Desambiguação 
Muitas palavras têm mais de um significado, assim temos que selecionar o significado que 
faz mais sentido no contexto. Para este problema, em geral é dada uma lista de palavras e 
sentidos de palavras associadas de um dicionário ou recurso online, 4como o WordNet. 
Em alguns casos, conjuntos de tarefas relacionadas são agrupados em subcampos de PLN 
que são frequentemente considerados separadamente da PLN como um todo, como os 
exemplos à seguir: 
Recuperação de informação (IR) 
Trata-se de armazenar, pesquisar e recuperar informações. É um campo separado dentro da 
ciência da computação (mais perto de bancos de dados), mas a IR se baseia em alguns 
métodos PLN (por exemplo, stemming). Algumas pesquisas e aplicações atuais procuram 
preencher a lacuna entre IR e PLN. 
Extração de informação (IE) 
Trata-se, em geral, da extração de informação semântica a partir do texto. Abrange tarefas 
como reconhecimento de entidade mencionada, resolução de correferência e de 
relacionamento de extração, etc. 
Processamento de voz ​ Abrange reconhecimento de fala, síntese de fala e tarefas 
relacionadas. 
 
 
Ferramenta para teste 
 
TensorFLOW: ​https://www.tensorflow.org/ 
Tensor Flow é uma biblioteca de código aberto, desenvolvido pela Google, 
destinada a inteligência artificial, todo o projeto correu através de estudos de 
redes neurais e é a base de serviços da gigante, tais como o Google 
Tradutor, Google Fotos e até seu buscador. 
A biblioteca utiliza o “machine learning”, permitindo que as máquinas 
aprendam com as ações e ampliem sua capacidade de decisões. Segundo a 
própria Google, tornar o TensorFlow uma biblioteca de código aberto, 
contribuirá para o desenvolvimento da tecnologia, pois apesar da área de 
inteligência artificial crescer rapidamente, ela carece de ferramentas 
padronizadas e a Google espera tornar o Tensor Flow um padrão aberto no 
ramo da inteligência artifical. 
Apesar de a Google utilizar o Tensor Flow para serviços voltados ao usuário, 
eles acreditam que a tecnologia pode ser usada nos mais diferentes ramos e 
estarão sempre contribuindo com seu desenvolvimento e trazendo 
publicações sobre o mesmo. 
O Tensor Flow está licenciado pela Apache 2.0 e disponível no GitHub, pode 
ser utilizado por qualquer pessoa, seja você um entusiasta, desenvolvedor, 
inventor e assim por diante. A Google incentiva que os interessados, criem 
forks de sua biblioteca, pois a mesma não é completa, estando atualmente 
disponível uma versão inicial do código fonte, que continuará a receber o 
desenvolvimento da Google, no entanto ampliações de suas funcionalidades, 
ficarão a encargo dos que queiram implementar. 
Inicialmente o Tensor Flow segue em Python e C++, linguagens de fácil 
utilização e excelente desempenho, mas a inteção da Google é que a 
tecnologia chegue a linguagens como JavaScript, Java, Lua, R e assim por 
diante.

Outros materiais