Aplicación de herramientas de reconocimiento de entidades nombradas a SmarTerp

Conde Herreros, Diego (2021). Aplicación de herramientas de reconocimiento de entidades nombradas a SmarTerp. Proyecto Fin de Carrera / Trabajo Fin de Grado, E.T.S. de Ingenieros Informáticos (UPM), Madrid, España.

Description

Title: Aplicación de herramientas de reconocimiento de entidades nombradas a SmarTerp
Author/s:
  • Conde Herreros, Diego
Contributor/s:
  • Rico Almodóvar, Mariano
Item Type: Final Project
Degree: Grado en Ingeniería Informática
Date: July 2021
Subjects:
Faculty: E.T.S. de Ingenieros Informáticos (UPM)
Department: Inteligencia Artificial
Creative Commons Licenses: Recognition - No derivative works - Non commercial

Full text

[img]
Preview
PDF - Requires a PDF viewer, such as GSview, Xpdf or Adobe Acrobat Reader
Download (1MB) | Preview

Abstract

Este trabajo de fin de grado surgió como propuesta de Óscar Corcho después de que el autor de este expresara interés en trabajar con el Ontology Engineering Group y en el ámbito del procesamiento del lenguaje natural. Surgió la idea a raíz de la inquietud del equipo respecto a si se podrían emplear las herramientas NLTK y spaCy en la tarea de reconocimiento de entidades nombradas en el proyecto SmarTerp, y si daría resultados mejores a los de otras herramientas. A raíz de esto el autor empezó a familiarizarse con las herramientas NLTK y spaCy y para ganar competencia con estas y más adelante empezó a buscar papers de comparativas de las mismas para elaborar el capítulo del estado del arte de este trabajo. De estos papers que estuvo investigando se pudo ver que generalmente spaCy obtiene mejores resultados que NLTK en el ámbito del reconocimiento de entidades nombradas. Más adelante empezó a investigar sobre otras herramientas que también realizan reconocimiento de entidades nombradas o tareas relacionadas con esta dentro del ámbito del procesamiento del lenguaje natural para hacer más robusto el capítulo del estado del arte. A continuación el autor de este trabajo estuvo durante las siguientes semanas replicando los experimentos de las comparativas entre spaCy y NLTK para compararlos con los datos de los papers que había estado investigando las semanas anteriores. Los experimentos en los que el autor se centró fueron los de “A Replicable Comparison Study of NER Software: StanfordNLP, NLTK, OpenNLP, SpaCy, Gate“ [1](Schmitt,X. et al.) con el dataset CoNLL2003 y se obtuvieron resultados mejores que los del paper debidos, principalmente, a la diferencia de versiones de NLTK y spaCy respecto a este. Durante estas semanas se consideró añadir al trabajo de fin de grado StanfordNER por los excelentes resultados que había obtenido en los papers de comparativa entre herramientas de NER. Se acabó desestimando porque, a pesar de reconocer hasta 7 tipos distintos de entidades y tener buenas puntuaciones, no era capaz de reconocer entidades formadas por múltiples tokens. Finalmente, tras obtener los casos de prueba de SmarTerp se hicieron pruebas con NLTK y spaCy para ver si podían realizar la tarea de NER con un texto obtenido de un sistema de conversión voz-texto. Esto implica que el texto no tenga signos de puntuación, que no tenga letras en mayúscula, que tenga errores léxicos o palabras que falten. La primera tarea fue convertir el texto marcado por etiquetas XML en tuplas (token,entidad) legibles para NLTK y en texto en formato conll para que sea legible para spaCy. Posteriormente se pasa este texto al clasificador de NLTK y a la pipeline de spaCy para que realicen el etiquetado NER y finaliza calculando las puntuaciones de precisión, recall y F1. Los resultados obtenidos de esto fueron en el caso de NLTK alrededor del 90 % en todas las puntuaciones pero se vio que estos resultados no eran válidos porque no estaba etiquetando ningún token como entidad nombrada y los ponía todos como O. Por el otro lado spaCy obtiene resultados alrededor del 70-74 % en todas las puntuaciones, esto es poco para lo que spaCy puede obtener pero es comprensible teniendo en cuenta las carencias del texto que se está procesando. Se llegó a la conclusión de que NLTK no es capaz de realizar NER sobre textos obtenidos de sistemas de conversión voz-texto pero spaCy sí, por otro lado los resultados mejorarían si hubiera una anotación manual de los textos de referencia ajustada a la tarea de NER o si se empleara una herramienta dedicada de análisis sintáctico antes de pasar el texto a las herramientas de NER.---ABSTRACT---This end-degree project was proposed by Óscar Corcho after the author expressed interest in working with the Ontology Engineering Group and in the field of natural language processing. This came to be because the OEG wondered if the NLP tools NLTK & spaCy could be used in the named entity recognition task on the SmarTerp project and wether it could give better results than other NER tools. The author of this project started to familiarize with NLTK & spaCy to become proficient with them and later started to search for papers of comparatives about these to start working on the state of the art chapter of this project. From these papers it can be seen that spaCy gets better results than NLTK on the NER task. Later investigation started on other tools for named entity recognition and other tools on the field of natural language processing to strengthen the state of the art chapter. Then the author spent the following weeks replicating the experiments from the NLTK & spaCy comparatives to compare the results with those o the papers that had been reasearched weeks earlier. The experiments the author focused on were those of “A Replicable Comparison Study of NER Software: StanfordNLP, NLTK, OpenNLP, SpaCy, Gate-[1](Schmitt,X. et al.) These were performed on the dataset CoNLL2003 and the results obtained were better than those of the paper due to the difference between the versions of NLTK & spaCy. It was also considered to include StanfordNER to the end-degree project as it achieved excellent results in the researched papers on NER tool comparatives, however it ended up being dismissed because despite being able to recognize 7 different types of entities and achieving good scores it is not capable of detecting multi-token named entities. After the author attained the SmarTerp test cases experiments were made to find out if NLTK & spaCy could do the named entity recognition task with a text obtained from a voice-text convertion system. This implies that the text has no punctuation, no capital letters and lexical errors or missing words. The first challenge was to convert the XML encapsuled text in (token,entity) tuples that are legible for NLTK and text in the conll format that is legible for spaCy. Then the text is passed to the NLTK classifier and to the spacy pipeline so that they do named entity tagging and it ends calculating the precision, recall and F1 scores. The results that were obtained in NLTK are around the 90 % in every score but these results are not valid as NLTK is not tagging any token as a named entity and tagged everyone of them as O. On the other hand spaCy achieves results around the 70- 74 % in every score, this is not much,especially when taken into account what it can achieve. However it is understandable since the text that is being processed lacks in major characteristics such as punctuation and capital letters. The conclusion achieved by the author is that NLTK is incapable of doing the NER task on texts from the voice-text conversion system , spaCy can. These results could be improved if there was a manual text annotation more suited to the NER task such as conll. A dedicated sentence parser could also be used on the text before passing it to the NER tools.

More information

Item ID: 67995
DC Identifier: https://oa.upm.es/67995/
OAI Identifier: oai:oa.upm.es:67995
Deposited by: Biblioteca Facultad de Informatica
Deposited on: 26 Jul 2021 16:59
Last Modified: 26 Jul 2021 16:59
  • Logo InvestigaM (UPM)
  • Logo GEOUP4
  • Logo Open Access
  • Open Access
  • Logo Sherpa/Romeo
    Check whether the anglo-saxon journal in which you have published an article allows you to also publish it under open access.
  • Logo Dulcinea
    Check whether the spanish journal in which you have published an article allows you to also publish it under open access.
  • Logo de Recolecta
  • Logo del Observatorio I+D+i UPM
  • Logo de OpenCourseWare UPM