Si está buscando específicamente un enfoque de ML para el problema, es posible que desee comprobar la RNN - en particular los modelos lingüísticos a nivel de caracteres. Este artículo tiene explicación de los mismos, y el autor proporciona código en Github. Los ejemplos del artículo consiguen tratar la sintaxis del código, por lo que el modelo debería estar bien para predecir la puntuación, siempre y cuando se tenga un conjunto de datos de entrenamiento adecuado.
Sin embargo, la perspectiva ML puede no ser el mejor enfoque, ya que probablemente conservará alguna tasa de error no nula, independientemente de la cantidad de entrenamiento. Me imagino que un análisis del árbol de una frase puede indicar la transición de una frase simple a una compleja. Este El analizador sintáctico detecta la(s) palabra(s) superflua(s), lo que podría servir para comprobar si el texto proporcionado debe seguir dividiéndose en frases separadas.