这是我关于StackOverflow的第一篇文章,如果缺少正确的信息,我们深表歉意。
设想。
我正在从Google Weather API转到BOM(澳大利亚)天气服务的过程中。我已经设法使用streamreader等从BOM中获取天气数据,但是我遇到的是与每日天气预报相匹配的图像图标。
我对旧的Google Weather API所做的工作非常残酷,但是却成功了。 Google Weather API仅给出了几种不同类型的预测,我可以将它们组合成一个字符串,然后可以在imageURL中使用该字符串。
我对Google Weather API所做的操作的示例...
imageDay1.ImageUrl =“图像/天气/” + lbWeatherDay1Cond.Text.Replace(“”,string.Empty)+“.png”;

可以说每日天气预报有15种不同的选择。
我现在遇到的问题以及BOM(澳大利亚天气服务)的问题是...

我希望这里有一些很棒的想法可以根据此字符串中的关键字创建字符串?诸如“Showers.png”的“Showers”之类,或将“淋浴几率”识别为“Chanceshowers.jpg”,而将“一两个Shower”保持为“Showers.png”则有点复杂。
我很容易提出任何想法或解决方案(希望在C#中)。只要它非常轻便(必须对5天的预测重复该过程),并且可以捕获几乎所有情况...
在这个时候,我继续在String.Replace之后,在String.Replace之后,在String.Replace选项之后....现在就可以了,但是我不能像这样将它投入生产。
欢呼大家!
特伦特

最佳答案

我在评论中注意到您正在尝试使用正则表达式查找表,该表可能足以解决问题。但是,我将继续介绍Adriano关于更强大的贝叶斯解决方案的内容。

这是与机器学习和AI有关的问题。它涉及一些自然语言处理,例如Google如何解释用户的要求或垃圾邮件过滤器的工作方式。

Sebastian Thrun在以下在线类(class)的视频中描述了一个简单而有趣的系统。它开始描述一种基本方法,通过该基本方法算法可以学习将单词集合(例如来自电子邮件)分类为“垃圾邮件”或“非垃圾邮件”。

(大多数视频都很短。)

  • Spam Detection-Quiz Answer
  • Probability of Spam-Quiz Answer
  • Maximum Likelihood-Quiz Answer
  • Relationship to Bayes Networks-Quiz Answer
  • Classification Quiz-Quiz Answer
  • Classification 2 Quiz-Quiz Answer
  • Classification 3 Quiz, a contrived example
  • Quiz Answer & Laplace Smoothing-Quiz Answer
  • Smoothed Classification Quiz-Quiz Answer
  • Final Quiz-Quiz Answer

  • 该贝叶斯方法对动态输入具有鲁棒性,并且学习速度相当快。然后,在使用了足够的训练数据之后,您只需要保存一个概率查找表,并在运行时进行一系列算术计算。

    在此基础上,您可以将相同的方法应用于多种分类,例如每个天气图像一个。

    关于c# - 分类或匹配自然语言字符串或短语的关键字,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12511701/

    10-12 22:43