如何构建智能应用?

如何构建智能应用?

我们已经说明了在应用中嵌入智能会带来哪些好处,也介绍了受益于智能技术的各个领域,在这些领域中智能技术极大地提升了用户的使用体验,增加了用户从应用中获得的价值。现在,接下来的问题自然是“怎么才能构建自己的智能应用?”

本书都是在介绍智能组件的设计和实现,但为了能更好地利用本书,在构建智能应用之前,首先还要解决两个问题。

第一个问题是审查应用的功能。用户用这个应用干什么?该应用是怎样吸引客户和增加商业价值的?在这里,我们主要关注一些与本书将要介绍的算法有关的具体问题。对于不同的应用,这些问题的重要性也不尽相同。但无论如何,这些问题会帮助你找到应用中智能组件能发挥出最大价值的地方。

第二个问题是关于数据的。对于每个应用,数据可以来自应用内部(应用内随时可以使用的),也可以来自外部。首先检查内部数据,比较理想的情况是已经有了所需的数据,随时可以开工。反之,有可能还需要通过某种方法从用户那里获得更多的数据。例如,可能需要在网页的用户界面中加入“五星”评价功能,这样才能根据用户的评分构建推荐引擎。

此外,还有可能需要从外部来源获取更多的数据。有很多方法可以实现这个目的,在这里无法一一罗列,但我们会介绍四种广泛使用的方法,从技术角度来说,它们也是稳定性最好的。各种数据采集方法的细节则需要你查阅相关的文献。

检查功能和数据

用户首先要找到一些受益于智能行为的用例,不同的应用显然会在不同的地方受益于智能行为。下面这些问题会帮助你找出这些用例。

·    应用所提供的内容是否来自不同的地方?

·    有基于向导的工作流程吗?

·    能否处理自由文本

·    是否涉及某种类型的报表?

·    是否要处理诸如地图一类的地理信息?

·    有搜索功能吗?

·    用户之间分享内容吗?

·    欺诈检测是否很重要?

·    身份验证是否很重要?

·    需要根据规则自动做出决策吗?

当然,这并不是一份完整的列表,但其中已列出了一些可能的情况。只要有一个问题的答案是肯定的,应用就必然能从本书所涉及的技术中获益。

让我们用一个假想的应用来看看搜索应用中常见的用例。在几乎所有的应用中,用户都可以进行站内搜索。假设用户可以在我们的应用中购买不同类别的商品,也可以搜索他们想购买的商品。通常,这个功能都是直接利用SQL查询实现的。所有匹配用户查询的商品都会呈现到用户眼前。这没什么问题,但数据库服务器可能忽略了一个事实:在匹配用户查询的商品中,恰好有一种商品在降价促销。如果能够据此实现第2章介绍的排序方法和第3章介绍的推荐方法,无疑会提升用户的使用体验。

 

本文节选自《智能WEB算法》一书。

图书详细信息:http://www.cnblogs.com/broadview/archive/2011/08/19/2145944.html

posted @ 2011-08-19 16:53  博文视点(北京)官方博客  阅读(171)  评论(0编辑  收藏  举报