Dies ist mein erster Post auf StackOverflow, also entschuldige mich, wenn es die richtigen Informationen fehlen.
Szenario.
Ich bin dabei, mich von der Google Weather API zum BOM (Australia) Wetterdienst zu bewegen. Ich habe es geschafft, die Wetterdaten aus der Stückliste mit Streamreadern usw. zu bekommen, aber was ich festhalte, ist das Bildsymbol, das der täglichen Vorhersage entspricht.
Was ich mit der alten Google Weather API gemacht habe, war ziemlich brutal, hat es aber geschafft. Die Google Weather API gab nur ein paar verschiedene Arten von Prognosen ab, die ich zu einer Zeichenkette zusammenfügen konnte, die ich wiederum in einem imageURL verwenden konnte.
Beispiel für das, was ich mit der Google Wetter API gemacht habe ...
imageDay1.ImageUrl="Bilder / Wetter /" + lbWeatherDay1Cond.Text.Replace ("", string.Empty) + ".png";
"Meist sonnig" = mostlysunny.png
"Sonnig" = sunny.png
"Chance of Rain" = chanceofrain.png
"Duschen" = duschen.png
"Teilweise bewölkt" = partiallycloudy.png
Es gab ungefähr 15 verschiedene mögliche Optionen für die tägliche Vorhersage.
Die Probleme, die ich jetzt und mit BOM (Australia Weather Service) habe, ist dies ...
Mögliche Morgendusche
Dusche oder zwei, clearing später
So viele Tausende mehr .... es gibt keinen Standard.
Was ich hoffe, ist, dass es möglich ist, dass einige der großartigen Köpfe hier einen String aus einem Schlüsselwort innerhalb dieser Zeichenfolge erstellen? Etwas wie "Showers" für "Showers.png" oder etwas etwas komplexeres, um "Chance of Showers" als "Chanceshowers.jpg" zu erkennen und "Shower or two" als "Showers.png" zu behalten.
Ich bin leicht zu irgendwelchen Ideen oder Lösungen (hoffentlich in c #). Solange es sehr leicht ist (der Prozess muss für die 5-Tage-Vorhersage wiederholt werden) und kann fast jedes Szenario erfassen ...
Zu diesem Zeitpunkt mache ich weiter mit String.Replace, nach String.Replace, nach String.Replace Option .... Es wird für jetzt tun, aber ich kann es nicht in die Produktion wie folgt rollen .
Prosit alle!
Trent
Ich habe in den Kommentaren bemerkt, dass Sie die Regex-Lookup-Tabelle ausprobiert haben, die vielleicht gut genug ist, um das Problem zu lösen. Ich werde jedoch auf das, was Adriano über eine robustere Bayes-Lösung ausführte, näher eingehen.
Dies ist ein Problem, das mit maschinellem Lernen und KI zusammenhängt. Es beinhaltet einige Natural Language Processing, wie Google versucht zu interpretieren, was Benutzer fragen, oder wie Mail-Spam-Filter funktionieren.
Ein einfaches und interessantes System beschreibt Sebastian Thrun in den folgenden Videos, die Teil eines Online-Kurses waren. Es beginnt damit, eine grundlegende Methode zu beschreiben, mit der ein Algorithmus lernen kann, eine Sammlung von Wörtern (z. B. aus einer E-Mail) als "Spam" oder "Kein Spam" zu klassifizieren.
(Die meisten Videos sind wirklich kurz.)
Diese Bayessche Methode ist robust gegenüber dynamischen Eingaben und ist relativ schnell zu lernen. Nachdem Sie genügend Trainingsdaten verbraucht haben, müssen Sie lediglich eine Nachschlagetabelle mit Wahrscheinlichkeiten speichern und eine Reihe von arithmetischen Berechnungen zur Laufzeit ausführen.
Mit dieser Grundlage könnten Sie die gleiche Methode anwenden, um für mehrere Klassifikationen zu arbeiten, z. eins für jedes Wetterbild.
Wenn Sie die Webseite bereits erfassen, können Sie nicht einfach das Segment erfassen, in das sie das Bild eingefügt haben, und das Bild auf diese Weise erhalten? Wenn es Klartext von "teilweise sonnig" gibt, könntest du auch einfach diese Abteilung einfangen und einfach deine eigenen Bilder verwenden. Ein Bayes'sches Netz, nur um das Wetter abzukratzen, klingt unglaublich schmerzhaft.
Tags und Links c# machine-learning artificial-intelligence nlp match