the stanford parser online natural language corenlp parsing nlp

parsing - online - stanford parser



¿Cómo puedo usar NLP para analizar los ingredientes de la receta? (4)

Necesito analizar los ingredientes de la receta en cantidad, medida, artículo y descripción según corresponda a la línea, como 1 taza de harina, la cáscara de 2 limones y 1 taza de azúcar moreno envasado, etc. ¿Cuál sería la mejor manera de hacerlo? Estoy interesado en usar python para el proyecto, por lo que supongo que usar el nltk es la mejor opción, pero estoy abierto a otros idiomas.


¿Puedes ser más específico con respecto a tu aporte? Si solo tienes una entrada como esta:

1 cup flour 2 lemon peels 1 cup packed brown sugar

No será muy difícil analizarlo sin usar ningún NLP en absoluto.


Supongo que esto es dentro de unos años, pero estaba pensando en hacer algo similar yo mismo y me encontré con esto, así que pensé que podría tener una puñalada en caso de que sea útil para cualquier otra persona en

Aunque diga que quiere analizar la prueba gratuita, la mayoría de las recetas tienen un formato bastante estándar para sus listas de recetas: cada ingrediente está en una línea separada, la estructura exacta de las oraciones rara vez es tan importante. El rango de vocabulario es relativamente pequeño también.

Una forma podría ser verificar cada línea de palabras que podrían ser sustantivos y palabras / símbolos que expresan cantidades. Creo que WordNet puede ayudar a ver si una palabra es un nombre o no, pero no la he usado antes. Alternativamente, podría usar http://en.wikibooks.org/wiki/Cookbook:Ingredients como una lista de palabras, aunque una vez más, no sabría exactamente qué tan completo es.

La otra parte es para reconocer cantidades. Estos vienen en diferentes formas, pero son lo suficientemente pocos como para que puedas crear una lista de palabras clave. En particular, asegúrese de tener buenos informes de errores. Si el programa no puede analizar por completo una línea, haga que le informe cuál es esa línea, junto con lo que tiene / no ha reconocido para que pueda ajustar sus listas de palabras clave en consecuencia.

De todos modos, no estoy garantizando que nada de esto funcione (y es casi seguro que no será 100% confiable) pero así es como comenzaría a abordar el problema


Esta es una respuesta incompleta, pero estás buscando escribir un analizador de texto libre, que como sabes, no es trivial :)

Algunas formas de hacer trampa, utilizando el conocimiento específico de la cocina:

  1. Construir listas de palabras para los "adjetivos" y "verbos", y filtrar contra ellos
    1. las unidades de medida forman un conjunto cerrado, usando palabras y abreviaturas como {L., c, cup, t, dash}
    2. instrucciones - cortar, cortar, cocinar, pelar. Las cosas que vienen después de esto son casi seguro que serán ingredientes
  2. Recuerde que en su mayoría está buscando sustantivos, y puede tomar una lista etiquetada de non-sustantivos (de WordNet, por ejemplo) y filtrar en contra de ellos.

Si eres más ambicioso, puedes consultar el Libro NLTK en el capítulo sobre analizadores sintácticos.

¡Buena suerte! ¡Esto suena como un proyecto principalmente factible!