9

これはStackOverflowに関する私の最初の投稿なので、適切な情報が不足している場合はお詫び申し上げます。

シナリオ。

現在、Google Weather APIからBOM(オーストラリア)気象サービスに移行中です。ストリームリーダーなどを使用してBOMから天気データをうまく取得できましたが、私がこだわっているのは、毎日の天気予報と一致する画像アイコンです。

古いGoogleWeatherAPIで行ったことは、非常に残酷でしたが、うまくいきました。Google Weather APIは、imageURLで使用できる文字列にまとめることができる、いくつかの異なるタイプの予測のみを提供しました。

GoogleWeatherAPIで行ったことの例...

imageDay1.ImageUrl = "images / Weather /" + lbWeatherDay1Cond.Text.Replace( ""、string.Empty)+ ".png";

「ほとんど晴れ」=mostlysunny.png

「晴れ」=sunny.png

「雨のチャンス」=chanceofrain.png

「シャワー」=showers.png

「部分的に曇り」=partlycloudy.png

毎日の天気予報には、たとえば15の異なるオプションがありました。

私が今、BOM(オーストラリア気象局)で抱えている問題はこれです...

朝のにわか雨の可能性

シャワーまたは2つ、後でクリア

何千ものもっと....標準はありません。

私が望んでいるのは、この文字列内のキーワードから文字列を作成するために、ここで素晴らしい心の一部が可能であるということです。「Showers.png」の「Showers」のようなもの、または「Showers.png」として「Showerortwo」を維持しながら「ChanceofShowers」を「Chanceshowers.jpg」として認識するためのもう少し複雑なもの。

私はどんなアイデアや解決策にも簡単です(うまくいけばc#で)。非常に軽量で(5日間の予報ではこのプロセスを繰り返す必要があります)、ほぼすべてのシナリオをキャプチャできる限り...

この時点で、String.Replace、String.Replaceの後、String.Replaceオプションの後、続行しています。今のところは機能しますが、このように本番環境にロールインすることはできません。

みんな乾杯!

トレント

4

3 に答える 3

3

コメントで、あなたが正規表現ルックアップ テーブルを試していることに気付きました。問題を解決するのに十分な可能性があります。ただし、アドリアーノがより堅牢なベイジアン ソリューションについて述べたことを拡張します。

これは、機械学習と AI に関連する問題です。これには、Google がユーザーの質問をどのように解釈しようとするか、メール スパム フィルターがどのように機能するかなど、いくつかの自然言語処理が含まれます。

Sebastian Thrun が、オンライン コースの一部である次のビデオで、シンプルで興味深いシステムについて説明しています。まず、アルゴリズムが単語の集まり (電子メールなど) を「スパム」または「スパムではない」として分類することを学習できる基本的な方法について説明します。

(ほとんどのビデオは本当に短いです。)

  1. スパム検出-クイズの答え
  2. スパムの可能性-クイズの答え
  3. 最尤法-クイズの答え
  4. ベイズ ネットワークとの関係-クイズの答え
  5. 分類クイズ-クイズの答え
  6. 分類 2 クイズ-クイズの答え
  7. 分類 3 クイズ、考案された例
  8. クイズの答えとラプラス スムージング-クイズの答え
  9. 平滑化分類クイズ-クイズの答え
  10. 最終クイズ-クイズの答え

このベイズ法は、動的入力に対して堅牢であり、学習がかなり高速です。その後、十分なトレーニング データを消費した後は、確率のルックアップ テーブルを保存し、実行時に一連の算術計算を行うだけで済みます。

この基盤を使用すると、同じ方法を適用して複数の分類 (たとえば、各気象画像に 1 つ) を機能させることができます。

于 2012-09-24T19:42:35.127 に答える
1

すでに Web ページをキャプチャしている場合は、画像が挿入されたセグメントをキャプチャして、そのように画像を取得できませんか? 「ときどき晴れ」という平文があれば、その区画もキャプチャして、自分の写真を使用できます。天気をかき集めるだけのベイジアンネットは、信じられないほど苦痛に聞こえます。

于 2012-10-17T16:59:47.447 に答える
-3
$api_string = "Mostly sunny"; 
$image = "default.png";

switch($api_string)
{
    case "Mostly sunny":
        $image = "mostlysunny.png";
    break;
    case "showers":
        $image = "showers.png"
    break;
}

于 2012-09-20T11:37:08.223 に答える