Esta es mi primera publicación en StackOverflow, así que me disculpo si falta la información correcta.Clasificar o buscar palabras clave que coincidan con una cadena o frase de lenguaje natural
Escenario.
Estoy en el proceso de alejamiento de la API del tiempo de Google para el servicio meteorológico BOM (Australia). Me las arreglé para obtener los datos meteorológicos de la lista de materiales muy bien utilizando los lectores de secuencias, etc, pero lo que estoy atascado es el icono de la imagen que coincide con el pronóstico diario.
Lo que hice con la antigua API de Google Weather fue bastante brutal pero funcionó. La API del clima de Google solo emitió un par de tipos de pronósticos diferentes que pude unir en una cadena que podría usar en una imageURL.
Ejemplo de lo que hice con la API de Google ... El tiempo
imageDay1.ImageUrl = "images/tiempo /" + lbWeatherDay1Cond.Text.Replace (" " String.Empty) +" .png ";
"Soleado" = mostlysunny.png
"Sunny" = sunny.png
"Posibilidad de lluvia" = chanceofrain.png
"duchas" = showers.png
"despejado" = partlycloudy.png
Hubo, por ejemplo, 15 diferentes opciones posibles para el pronóstico diario.
Los problemas que tengo ahora y con la lista de materiales (Servicio Meteorológico Australia) es esto ...
Posible ducha de la mañana
ducha o dos, despejando después
Así que muchos miles más. ... no hay un estándar.
Lo que espero es que es posible que algunas de las mentes geniales aquí para crear una cadena de una palabra clave dentro de esta cadena? Algo como "Showers" para "Showers.png" o algo un poco más complejo para reconocer "Chance of Showers" como "Chanceshowers.jpg" y mantener "Ducha o dos" como "Showers.png".
Soy fácil con cualquier idea o solución (con suerte en C#). Siempre que sea muy liviano (el proceso debe repetirse para el pronóstico de 5 días) y puede capturar casi cualquier escenario ...
En este momento, sigo con String.Replace, después de String .Sustituir, después de la opción Cadena.Reponer ... Lo hará por ahora, pero no puedo pasarlo a producción de esta manera.
¡Saludes a todos!
Trent
¿Intentó con ** una tabla de búsqueda ** (extraerá la primera coincidencia) donde la clave es una expresión regular? Si no hay un estándar, no puede confiar en un algoritmo bien definido. Una opción bonita (y más robusta) puede ser un algoritmo ** Bayesiano ** (si realmente no puede gestionar esto de otra manera). –
+1 Para la lista de Regexes. – Rotem
Arianao, gracias por la sugerencia, sin embargo, no soy el mejor codificador del mundo y no tengo ni idea de cómo comenzar con una tabla de búsqueda o un algoritmo bayesiano. Si puede dirigirme a algunos artículos de MSDN, etc., estoy seguro de que podría aprenderlo bastante rápido :). ¡Gracias por la ayuda! –