La desambiguación de límites de oraciones ( SBD ), también conocida como ruptura de oraciones , detección de límites de oraciones y segmentación de oraciones , es el problema en el procesamiento del lenguaje natural para 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 los límites de las 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 , unapuntos suspensivos o una dirección de correo electrónico, entre otras posibilidades. Aproximadamente el 47% de los períodos en el corpus del Wall Street Journal denotan abreviaturas. [1] Los signos de interrogación y exclamación pueden ser igualmente ambiguos debido a su uso en emoticonos , código de computadora y jerga .
Algunos idiomas, incluidos el japonés y el chino, tienen marcadores de final de oración inequívocos.
Estrategias
El enfoque estándar " vainilla " para ubicar el final de una oración: [ aclaración necesaria ]
- (a) Si es un punto, termina una oración.
- (b) Si el token anterior está en la lista de abreviaturas compilada a mano , entonces no termina una oración.
- (c) Si la siguiente ficha está en mayúscula, finaliza una oración.
Esta estrategia consigue aproximadamente el 95% de las oraciones correctas. [2] Cosas como nombres abreviados, por ejemplo, " DH Lawrence " (con espacios en blanco entre las palabras individuales que forman el nombre completo), ortografías ortográficas idiosincrásicas utilizadas con fines estilísticos (a menudo se refieren a un solo concepto, por ejemplo, un título de producto de entretenimiento como " .hack // SIGN ") y el uso de puntuación no estándar (o el uso no estándar de puntuación) en un texto a menudo caen por debajo del 5% restante.
Otro enfoque es aprender automáticamente un conjunto de reglas a partir de un conjunto de documentos donde los saltos de oración están premarcados. Las soluciones se han basado en un modelo de máxima entropía . [3] La arquitectura SATZ utiliza una red neuronal para eliminar la ambigüedad de los límites de las oraciones y alcanza un 98,5% de precisión.
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("/(?, $text, -1, PREG_SPLIT_DELIM_CAPTURE);
(para PHP )
- Uso en línea, bibliotecas y API
- sent_detector - Java
- Lingua-ES-Oración - perl
- Sentence.pm - perl
- SATZ - Un sistema adaptativo de segmentación de oraciones - por David D. Palmer - C
- Conjuntos de herramientas que incluyen detección de oraciones
- Apache OpenNLP - [1]
- Freeling (software) - [2]
- Kit de herramientas de lenguaje natural - [3]
- Stanford PNL - [4]
- GExp - [5]
- CogComp-NLP
Ver también
- Espaciado de oraciones
- Divisor de palabras
- Silabeo
- Puntuación
- Segmentación de texto
- Segmentación del habla
- Extracción de oraciones
- Memoria de traducción
- Expresión de varias palabras
Referencias
- ^ E. STAMATATOS; N. FAKOTAKIS y G. KOKKINAKIS. "1 EXTRACCIÓN AUTOMÁTICA DE NORMAS PARA DESAMBIGUACIÓN DE LÍMITES DE SENTENCIA" . Universidad de Patras . Consultado el 3 de enero de 2009 .
- ^ O'Neil, John. "Hacer cosas con palabras, segunda parte: detección de límites de oraciones" . Consultado el 3 de enero de 2009 .
- ^ Reynar, JC; Ratnaparkhi, A. "Un enfoque de máxima entropía para identificar los límites de las oraciones" (PDF) . Consultado el 3 de enero de 2009 .
enlaces externos
- Busque 'desambiguación de límites de oración' , Google Scholar .