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? ¿esta? 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.¿Cómo puedo usar NLP para analizar los ingredientes de la receta?
Respuesta
¿Puede ser más específico cuál es su opinión? Si sólo tiene entrada de la siguiente manera:
1 cup flour
2 lemon peels
1 cup packed brown sugar
No será demasiado difícil de analizar sin necesidad de utilizar ningún PNL en absoluto.
Hay algunos ejemplos arriba, específicamente la cáscara de 2 limones. Va a ser texto escrito a máquina, por lo que podría tratarse de cualquier cosa que sea una cantidad y un artículo válidos. – Greg
si realmente desea ser capaz de manejar "cualquier cosa", entonces necesita un humano para realizar el análisis, o es un problema de nivel AI. Esa es la naturaleza de la bestia cuando se trata de análisis de texto. Haga suposiciones para casos normales y suponga que los casos extremos fallarán. –
Ésta es una respuesta incompleta, pero usted está buscando en la redacción de un programa de análisis de texto libre, que, como saben, no es trivial :)
Algunas maneras de hacer trampa, utilizando conocimientos específicos para cocinar:
- Construir listas de palabras para los "adjetivos" y "verbos", y el filtro contra ellos
- unidades de medida forman un conjunto cerrado, el uso de palabras y abreviaturas como {L., c, taza, t , tablero}
- instrucciones - cortar, cortar, cocinar, pelar. Es casi seguro que las cosas que vienen después de esto son ingredientes
- 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 es más ambicioso, puede consultar el NLTK Book en el capítulo sobre analizadores.
¡Buena suerte! ¡Esto suena como un proyecto principalmente factible!
supongo que esto es un par de años fuera, pero yo estaba pensando en hacer algo similar a mí mismo y me encontré con esto, así que pensé que podría tener una puñalada en ella en caso de que sea útil para cualquier persona en f
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 comprobar cada línea para ver las palabras que pueden 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.
Aaanyway, no estoy garantizando nada de esto va a funcionar (y es casi seguro que no es fiable al 100%), pero así es como me gustaría empezar a abordar el problema
hecho, me hacer esto para mi página web , que ahora es parte de un open source project para que otros lo usen.
Escribí una publicación de blog sobre mis técnicas, ¡disfrútalo!
- 1. ¿Cómo puedo usar php para analizar una cadena de fecha?
- 2. Marco NLP para .NET
- 3. Usar NSJSONSerialization para analizar JSON
- 4. Algoritmo NLP para 'completar' los términos de búsqueda
- 5. Programación del compilador: ¿Cuáles son los ingredientes más fundamentales?
- 6. ¿Puedo usar ForeignKey en __unicode__ return?
- 7. receta de marionetas instalando tarball
- 8. Usar JavaScript para analizar el tiempo
- 9. ¿Cómo usar NLP para separar un contenido de texto no estructurado en párrafos distintos?
- 10. ¿Receta para compilar binutils y gcc juntos?
- 11. ¿Cómo puedo analizar las fechas relativas con Perl?
- 12. stanford nlp tokenizer
- 13. No se puede asignar la variable dentro de la receta
- 14. ¿Cómo puedo usar pyparsing para analizar expresiones anidadas que tienen múltiples tipos de apertura/cierre?
- 15. Cómo usar NSScanner para analizar el archivo .ics
- 16. Cómo analizar una lista de oraciones?
- 17. Cómo puedo analizar el archivo y los marcos H264
- 18. stanford core nlp java output
- 19. ¿Receta para crear archivos Windows ICO con ImageMagick?
- 20. cómo puedo analizar un archivo dtd
- 21. ¿Puedo usar la biblioteca Scala lift-json para analizar un JSON en un mapa?
- 22. biblioteca c/C++ NLP
- 23. Cómo usar TinyXml para analizar un elemento específico
- 24. ¿Cómo usar expresiones regulares para analizar HTML en Java?
- 25. consultas paginadas/receta del iterador
- 26. NLP: oración cualitativamente "positiva" frente a "negativa"
- 27. ¿Qué biblioteca de JavaScript debería usar para analizar los parámetros de URL?
- 28. Regex para analizar los parámetros de SQL
- 29. ¿Cómo puedo analizar el texto marcado para su posterior procesamiento?
- 30. Cómo usar NSXMLParser para analizar los elementos padre-hijo que tienen el mismo nombre
Hey si usted todavía está interesado en el análisis de la receta, he [código abierto] (https://github.com/KitchenPC/core/) mi aplicación. ¡Tal vez lo encuentres útil! –
¡Nunca hubiera esperado encontrar esta pregunta aquí y alguien respondiéndola con una solución lista para usar! –