NLP: Deteccion De Oraciones

La detección de oraciones es una de las tareas básicas del NLP, ya que en linguística, la base de los mensajes, es la frase o la oración. Existen muchos idiomas donde las oraciones no tienen ningún tipo de separador entre ellas y aquí el caso es ir de palabra en palabra hasta que se encuentra una idea completa, lo cual es muy difícil, pero en los lenguajes occidentales, podemos en principio, explotar la presencia de puntuación para poder separar oraciones.

Esto se haría simplemente de la siguiente manera en python.

import re
re.split("[\.\-!?:]+", <texto>)

Esto tiene la ventaja de ser sencillo y rápido pero, tiene varios problemas:

En el caso de necesitar lidiar con las cuestiones anteriores, necesitamos poder darle ese contexto a nuestro separador. Para esto podemos substituir los diferentes patrones que necesitemos con ub separador adecuado que no sea atrapado por el separador original.

En general necesitamos una lista de abreviaturas dependiendo del idioma que vayamos a utilizar, en inglés algunas serían Mr., Ms., Ph.D. J.D. Jr., etc… ver https://public.oed.com/how-to-use-the-oed/abbreviations/