stringtranslate.com

Desambiguación de límites de oraciones

La desambiguación de límites de oraciones ( SBD ), también conocida como división de oraciones , detección de límites de oraciones y segmentación de oraciones , es el problema en el procesamiento del lenguaje natural de decidir dónde comienzan y terminan las oraciones . Las herramientas de procesamiento del lenguaje natural a menudo requieren que su entrada se divida en oraciones; sin embargo, la identificación de límites de oraciones puede ser un desafío debido a la posible ambigüedad de los signos de puntuación . En inglés escrito , un punto puede indicar el final de una oración, o puede denotar una abreviatura , un punto decimal , una elipsis o una dirección de correo electrónico, entre otras posibilidades. Aproximadamente el 47% de los puntos en el corpus de The Wall Street Journal denotan abreviaturas. [1] Los signos de interrogación y exclamación pueden ser igualmente ambiguos debido a su uso en emoticones , código fuente y jerga .

Algunos idiomas, incluidos el japonés y el chino, tienen marcadores de final de oración inequívocos.

Estrategias

El método estándar " vanilla " para localizar el final de una oración: [ aclaración necesaria ]

(a) Si es un punto, finaliza una oración.
(b) Si el token precedente está en la lista de abreviaturas compilada a mano , entonces no finaliza una oración.
(c) Si el siguiente token está en mayúscula, entonces finaliza una oración.

Esta estrategia permite obtener respuestas correctas en aproximadamente el 95% de las oraciones. [2] Cosas como nombres abreviados, por ejemplo, " DH Lawrence " (con espacios en blanco entre las palabras individuales que forman el nombre completo), ortografías idiosincrásicas utilizadas con fines estilísticos (que a menudo se refieren a un solo concepto, por ejemplo, el título de un producto de entretenimiento como " .hack//SIGN ") y el uso de puntuación no estándar (o uso no estándar de la puntuación) en un texto a menudo caen dentro del 5% restante.

Otro enfoque consiste en aprender automáticamente un conjunto de reglas a partir de un conjunto de documentos en los que los saltos de frase están marcados previamente. Las soluciones se han basado en un modelo de máxima entropía . [3] La arquitectura SATZ [4] utiliza una red neuronal para desambiguar los límites de las frases y logra una precisión del 98,5 %.

Software

Ejemplos de uso de expresiones regulares compatibles con Perl (" PCRE ")
  • ((?<=[a-z0-9][.?!])|(?<=[a-z0-9][.?!]\"))(\s|\r\n)(?=\"?[A-Z])
  • $sentences = preg_split("/(?<!\..)([\?\!\.]+)\s(?!.\.)/", $text, -1, PREG_SPLIT_DELIM_CAPTURE);(para PHP )
Uso en línea, bibliotecas y API
  • detector_enviado – Java [5]
  • Oración Lingua-EN – perl [6]
  • Sentencia.pm – perl [7]
  • SATZ – Un sistema adaptativo de segmentación de oraciones – por David D. Palmer – C [4]
Kits de herramientas que incluyen detección de oraciones

Véase también

Referencias

  1. ^ E. Stamatatos; N. Fakotakis y G. Kokkinakis. "Extracción automática de reglas para la desambiguación de límites de oraciones". Actas del taller sobre aprendizaje automático en tecnología del lenguaje humano . Universidad de Patras. págs. 88–92.
  2. ^ O'Neil, John. "Hacer cosas con palabras, segunda parte: detección de límites de oraciones". Archivado desde el original el 21 de febrero de 2009. Consultado el 3 de enero de 2009 .
  3. ^ Reynar, JC; Ratnaparkhi, A. "Un enfoque de máxima entropía para identificar límites de oraciones" (PDF) . Consultado el 3 de enero de 2009 .
  4. ^ ab "SATZ: Un detector adaptativo de límites de oraciones". Archivado desde el original el 22 de septiembre de 2007.
  5. ^ "Página web de SentParBreaker". Archivado desde el original el 12 de noviembre de 2007.
  6. ^ "Lingua-EN-Sentence-0.25 - Módulo para dividir texto en oraciones. - metacpan.org". metacpan.org .
  7. ^ "Texto::Sentence - módulo para dividir texto en oraciones - metacpan.org". metacpan.org .
  8. ^ "Apache OpenNLP". opennlp.apache.org .
  9. ^ "Bienvenido | Página de inicio de FreeLing".
  10. ^ "NLTK :: Kit de herramientas de lenguaje natural". www.nltk.org .
  11. ^ "Software - El Grupo de Procesamiento del Lenguaje Natural de Stanford". nlp.stanford.edu .
  12. ^ "Archivo de código de Google: almacenamiento a largo plazo para alojamiento de proyectos de código de Google". code.google.com .
  13. ^ "CogCompNLP". 2 de enero de 2024 – vía GitHub.

Enlaces externos