Procesamento da linguaxe natural

O **procesamento da linguaxe natural** (*PLN* ou *NLP*, do inglés *Natural Language Processing*) é unha subdisciplina da intelixencia artificial, proximamente relacionada coa lingüística computacional, que ten como obxectivo modelar as linguas naturais e desenvolver ferramentas que permitan procesalas, tratalas e reproducilas mediante o uso de medios computacionais. Estas solucións a miúdo toman a forma de aplicacións ou programas informáticos, e permiten a comunicación tanto entre persoas como entre persoas e máquinas mediante o uso de linguas naturais, como o galego, o portugués, o castelán, o inglés etc. Debido ás súas características, trátase dun campo tamén relacionado coa informática, as ciencias da computación e a lingüística.

O Procesamento da Linguaxe Natural ten as súas raíces nas investigacións levadas a cabo no campo da intelixencia artificial (IA), especialmente en torno á Asociación de Lingüística Computacional. Actualmente, esta disciplina busca solucións para procesar as linguas naturais nas súas dúas vertentes principais: os textos escritos e a fala (ou textos orais). Os últimos avances en PNL inclúen os modelos de lingua e os recursos de recoñecemento de voz, entre outros.

## Historia
O procesamento da linguaxe natural ten a súa orixe na tradución automática, nas décadas de 1940 e 1950, cando os primeiros intentos de traducir textos mediante o uso de ordenadores fixeron evidente a necesidade de desenvolver ferramentas coas que procesar computacionalmente as linguas naturais. As investigacións levadas a cabo nestes anos pronto conformaron un ámbito de estudo en si mesmo e, en 1962, fundouse a Association for Machine Translation and Computational Linguistics, que seis anos despois se converteu na Asociación de Lingüística Computacional, a principal organización sobre PLN a nivel internacional. Hoxe en día, a historia do PLN divídise en tres períodos:

### O PLN simbólico (inicios - década de 1980) 
Baseouse na idea de que os ordenadores podían emular a linguaxe humana a partir dunha serie de formalismos e conxuntos de regras que describisen os diferentes fenómenos lingüísticos, o cal é un método máis sofisticado e complexo que as regras escritas de forma manual que se empregaban nos inicios do PNL.

Cabe destacar que, malia as melloras das últimas décadas, hoxe en día non existe unha metodoloxía única que resolva as tarefas de PLN de forma íntegra. Por este motivo, faise uso cada vez máis dos **paradigmas híbridos**:

* **Tradutores automáticos**, que reciben na entrada un texto escrito nunha lingua natural (por exemplo, en galego) e ofrecen un texto noutra lingua natural como saída (por exemplo, en inglés).
* **Correctores ortográficos e gramaticais**, que detectan os erros de escritura e ofrecen posibles solucións ou alternativas.
* **Chatbots**, que simulan as conversas humanas, respondendo ás preguntas ou mensaxes das persoas usuarias mediante a predición de respostas en base aos datos cos que foron adestrados. A miúdo empréganse como métodos de asistencia nas páxinas web ou asistentes persoais, aínda que cada vez teñen máis usos, en especial grazas aos últimos avances en intelixencia artificial xenerativa.
* **Resumidores** que procesan textos e extraen a información máis relevante para xerar resumos.
* **Modelos de lingua**, que son capaces de realizar diversas tarefas de procesamento da linguaxe natural, cada vez de maior complexidade, incluídas as anteriores.
* **Detectores de spam**, que revisan os correos electrónicos para detectar aqueles que sexan fraudulentos, daniños ou non desexados e tomar as medidas necesarias.

Ademais, da investigación en PLN derívanse **outros recursos** **lingüísticos**, como son. Entre eles, destacan:

# **NLTK** (*Natural Language Toolkit*). Trátase dunha biblioteca de Python que engloba unha serie de ferramentas imprescindibles para o procesamento de textos e a análise lingüística. NLTK ten recursos de clasificación, tokenización, *stemming*, etiquetadores de categorías gramaticais e analizadores sintácticos, entre outros. Ademais, vén equipada con arredor de 50 corpus e recursos lexicográficos e conta con foros de discusión e unha comunidade activa. As súas principais funcións son o recoñecemento de entidades nomeadas, a etiquetaxe de categorías gramaticais, a análise sintáctica e outras tarefas, entre elas a integración de modelos. Na páxina web oficial, é posible personalizar e descargar un paquete de instalación a medida en base ás necesidades concretas da persoa usuaria, e conta tamén con diversas guías que ofrecen información sobre como empregar a biblioteca para as diferentes tarefas de PLN.
# **TextBlob**. Unha biblioteca que permite procesar textos de forma rápida e sinxela, especialmente pensada para persoas principiantes. Permite levar a cabo os procesos básicos en PLN, como a tokenización, a etiquetaxe, a clasificación, a extracción de información etc. Como nos casos anteriores, conta cunha documentación que detalla os diferentes procedementos que se poden aplicar coa biblioteca, o que a converte á vez nun recurso educativo.
# **Gensim**. Unha biblioteca que permite analizar documentos, determinar semellanzas textuais e modelar temáticas de forma eficiente, sendo posible procesar grandes cantidades de información a un tempo.

Outras bibliotecas populares actualmente son **PolyGlot**, **CoreNLP**, **Pattern** e **AllenNLP**, entre outras (CiTIUS). O seu obxectivo é fomentar a presenza do galego no mundo dixital, creando recursos lingüísticos que faciliten o desenvolvemento de aplicacións de intelixencia artificial e tecnoloxías da linguaxe. Estes recursos, que estarán á disposición das institucións e empresas que desexen desenvolver produtos ou aplicacións dixitais, serán compartidas de xeito gratuíto, contribuíndo así á **dixitalización en galego** e potenciando o acceso da comunidade galegofalante a produtos que empreguen o seu idioma. Entre eles, destacan os corpus de fala e texto monolingües e multilingües pensados para diferentes tarefas de PLN, diversos modelos de lingua e demos. Estes últimos, aos que se pode acceder a través da páxina oficial do proxecto, inclúen o Tradutor Nós, un recurso de tradución automática entre o galego, o español e o inglés, así como un sistema que converte o texto en voz (*text-to-speech*) e un sistema de recoñecemento de voz, todos eles baseados en redes neuronais artificiais, dispoñibles en aberto e actualmente en fase de probas.

## Notas
## Véxase tamén
### Bibliografía 
* *Lingüística computacional.* Xavier Gómez Guinovart. Manual de Ciencias da Linguaxe, pp.&nbsp;221–268. Edicións Xerais de Galicia, Vigo, 2000
* *Tecnoloxías da lingua galega e normalización lingüística.* Xavier Gómez Guinovart. Lingua e investigación: II Xornadas sobre lingua e usos. Universidade da Coruña, A Coruña, 2006.
* *El procesamiento del lenguaje natural, tecnología en transición.* Jaime Carbonell. Congreso de la Lengua Española, Sevilla, 1992.
* *Lenguas y tecnologías de la información.* Ángel G. Jordán. Congreso de la Lengua Española, Sevilla, 1992.
### Outros artigos 
* Linguas naturais
* Lingüística computacional
* Modelo de lingua de grande escala
* Semántica distribucional
* Modelo de texto a imaxe
* GATE
### Ligazóns externas 
*Proxecto Nós da Universidade de Santiago de Compostela
*Grupo COLE (Compiladores e Linguaxes) que agrupa a investigadores en PLN das universidades da Coruña e Vigo
*Grupo LYS (Lingua e Sociedade da Información) da Universidade da Coruña
*Asociación de Lingüística Computacional
*NLTK (biblioteca *Natural Language Toolkit*)
*SpaCy
*TextBlob
*Gensim