[pyar] Generación de informes en lenguaje natural

Martín Gaitán gaitan en gmail.com
Lun Feb 26 15:11:15 -03 2018


Hola Luis, hace poquito alguien preguntó algo parecido y Facundo Batista
referenció la función "bisect" que te puede servir. Es basicamente una
forma de hacer un "select / case" (o switch/case) que de otros lenguajes,
pero más elegante y eficiente.  No necesitás procesar "lenguaje natural"
porque vos vas a redactar con la compu, no interpretar algo ya redactado
por un humano.

Te muestro un ejemplo basado en el caso de uso que compartiste en el primer
mail.

In [1]: from bisect import bisect_right

In [2]: def rigidez(valor, cortes=[10, 40, 80, 90], calificacion=['mala',
'regular', 'satisfactoria', 'muy buena', 'excelente']):
   ...:         i = bisect_right(cortes, valor)
   ...:         return calificacion[i]

In [4]: 'La rigidez es {} ({}%)'.format(rigidez(50), 50)
Out[4]: 'La rigidez es satisfactoria (50%)'

In [4]: 'La rigidez es {} ({}%)'.format(rigidez(92), 92)
Out[4]: 'La rigidez es excelente (92%)'


Si no querés que la califacion sea siempre la misma palabra, podés hacer un
diccionario de opciones para cada "calificacion" (e.g
excelente/sobresaliente/superior)  y elegir una al azar usando la funcion
random.choice


Abrazo y espero que puedas llevar a cabo tu programa!


2018-02-26 15:00 GMT-03:00 Luis Andraschnik <luis.andraschnik en gmail.com>:

> Gracias, después lo veo y comento!
> Saludos
>
> El 26 de febrero de 2018, 14:46, Andrés Ramírez <
> andres.ramirez.miori en gmail.com> escribió:
>
>> este es el link
>> https://www.youtube.com/watch?v=_sTXgCJKZWY
>>
>> 2018-02-26 14:44 GMT-03:00 Luis Andraschnik <luis.andraschnik en gmail.com>:
>>
>>> Hola Andrés
>>>
>>> Lo voy a buscar
>>> Saludos!
>>>
>>> El 26 de febrero de 2018, 11:20, Andrés Ramírez <
>>> andres.ramirez.miori en gmail.com> escribió:
>>>
>>>> En la pycon de Bahía, recuerdo que hacian cosas con las sesiones del
>>>> congreso. Supongo que por ese lado tal vez te sirva algo
>>>>
>>>> Saludos
>>>>
>>>> El 26 feb. 2018 11:06 AM, "Luis Andraschnik" <
>>>> luis.andraschnik en gmail.com> escribió:
>>>>
>>>> Estimados
>>>>
>>>> En mi trabajo tenemos que interpretar informes de laboratorio , de
>>>> ensayos de lubricantes (usados)  y combustibles. El informe contiene además
>>>> de los resultados de laboratorio un informe conciso escrito en lenguaje
>>>> natural como ayuda pensado para el que no entiende mucho del tema,
>>>> generalmente personal de mantenimiento de las empresas clientes, con una
>>>> interpretación de los resultados y recomendaciones, acciones correctivas.
>>>>
>>>> Después de realizar cientos (miles?) de informes determinados casos son
>>>> bastante repetitivos, así que pensaba hacer un corpus de frases con un % de
>>>> probabilidad de manera que no sea exactamente siempre la misma frase por
>>>> ejemplo en un aceite dieléctrico de un transformador:
>>>>
>>>> "La rigidez dieléctrica es excelente"
>>>> "La rigidez dieléctrica es muy buena"
>>>> "La rigidez dieléctrica es satisfactoria"
>>>> "La rigidez dieléctrica es aceptable"
>>>> "La rigidez dieléctrica es muy satisfactoria"
>>>>
>>>> Dependiendo del valor de la rigidez dieléctrica, elijo una frase en un
>>>> informe, pero no exactamente siempre la misma frase.  Mas allá que las
>>>> recomendaciones, que es un tema aparte y  se podrían generar a traves de un
>>>> arbol de decisiones.
>>>>
>>>> La generación de el informe escrito de (10 a 12  items) involucra algún
>>>> área particular de la informática? (procesamiento del lenguaje natural?)
>>>>
>>>> Agradecería cualquier tip, información, libro,etc que pueda ayudarme
>>>> para trabajar en este tema.
>>>>
>>>> Saludos!
>>>> Luis
>>>>
>>>>
>>>> <https://www.avast.com/sig-email?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=webmail> Libre
>>>> de virus. www.avast.com
>>>> <https://www.avast.com/sig-email?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=webmail>
>>>> <#m_-6277158950464375736_m_-1949563460692047521_m_-1909250572552706426_m_-9057464780294098269_m_7425019757453521748_DAB4FAD8-2DD7-40BB-A1B8-4E2AA1F9FDF2>
>>>>
>>>> _______________________________________________
>>>> Lista de Correo de PyAr - Python Argentina - pyar en python.org.ar
>>>> Sitio web: http://www.python.org.ar/
>>>>
>>>> Para administrar la lista (o desuscribirse) entrar a
>>>> http://listas.python.org.ar/listinfo/pyar
>>>>
>>>> La lista de PyAr esta Hosteada en USLA - Usuarios de Software Libre de
>>>> Argentina - http://www.usla.org.ar
>>>>
>>>>
>>>>
>>>> _______________________________________________
>>>> Lista de Correo de PyAr - Python Argentina - pyar en python.org.ar
>>>> Sitio web: http://www.python.org.ar/
>>>>
>>>> Para administrar la lista (o desuscribirse) entrar a
>>>> http://listas.python.org.ar/listinfo/pyar
>>>>
>>>> La lista de PyAr esta Hosteada en USLA - Usuarios de Software Libre de
>>>> Argentina - http://www.usla.org.ar
>>>>
>>>
>>>
>>> _______________________________________________
>>> Lista de Correo de PyAr - Python Argentina - pyar en python.org.ar
>>> Sitio web: http://www.python.org.ar/
>>>
>>> Para administrar la lista (o desuscribirse) entrar a
>>> http://listas.python.org.ar/listinfo/pyar
>>>
>>> La lista de PyAr esta Hosteada en USLA - Usuarios de Software Libre de
>>> Argentina - http://www.usla.org.ar
>>>
>>
>>
>> _______________________________________________
>> Lista de Correo de PyAr - Python Argentina - pyar en python.org.ar
>> Sitio web: http://www.python.org.ar/
>>
>> Para administrar la lista (o desuscribirse) entrar a
>> http://listas.python.org.ar/listinfo/pyar
>>
>> La lista de PyAr esta Hosteada en USLA - Usuarios de Software Libre de
>> Argentina - http://www.usla.org.ar
>>
>
>
> _______________________________________________
> Lista de Correo de PyAr - Python Argentina - pyar en python.org.ar
> Sitio web: http://www.python.org.ar/
>
> Para administrar la lista (o desuscribirse) entrar a
> http://listas.python.org.ar/listinfo/pyar
>
> La lista de PyAr esta Hosteada en USLA - Usuarios de Software Libre de
> Argentina - http://www.usla.org.ar
>



-- 
mgaitan.github.io
textosypretextos.com.ar
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.python.org.ar/pipermail/pyar/attachments/20180226/6c1da785/attachment.html>


Más información sobre la lista de distribución pyar