Estoy tratando de analizar un documento de texto plano en PHP, pero no tengo idea de cómo hacerlo correctamente. Quiero separar cada palabra, asignarles una ID y guardar el resultado en formato JSON.Mejor manera de analizar un documento de texto
textomuestra:
"Hello, how are you (today)"
Esto es lo que estoy haciendo en este momento:
$document_array = explode(' ', $document_text);
json_encode($document_array);
El JSON resultante es
[["Hello,"],["how"],["are"],["you"],["(today)"]]
¿Cómo me aseguro de que los espacios se mantienen en -place y que los símbolos no están incluidos junto con las palabras ...
[["Hello"],[", "],["how"],[" "],["are"],[" "],["you"],[" ("],["today"],[")"]]
Estoy seguro de que se necesita algún tipo de expresión regular ... pero no tengo idea de qué tipo de patrón aplicar para tratar todos los casos ... ¿Alguna sugerencia, chicos?
Sí, una solución de un tercero probablemente sea la mejor opción ... Estoy seguro de que a lo largo de los años han desarrollado reglas bastante complicadas para resolver estos problemas. ¿Alguna sugerencia? –
En php no. Hay un número en Java: Open NLP, Stanford NLP, Lucene's tokeniser y NLTK en python. –
Python es otro lenguaje basado en web ... No lo he usado antes, pero supongo que podría implementar el analizador sintáctico en python, luego enviar el JSON de vuelta a PHP ... de alguna manera –