我们已经说明了在应用中嵌入智能会带来哪些好处,也介绍了受益于智能技术的各个领域,在这些领域中智能技术极大地提升了用户的使用体验,增加了用户从应用中获得的价值。现在,接下来的问题自然是“怎么才能构建自己的智能应用?”
本书都是在介绍智能组件的设计和实现,但为了能更好地利用本书,在构建智能应用之前,首先还要解决两个问题。
第一个问题是审查应用的功能。用户用这个应用干什么?该应用是怎样吸引客户和增加商业价值的?在这里,我们主要关注一些与本书将要介绍的算法有关的具体问题。对于不同的应用,这些问题的重要性也不尽相同。但无论如何,这些问题会帮助你找到应用中智能组件能发挥出最大价值的地方。
第二个问题是关于数据的。对于每个应用,数据可以来自应用内部(应用内随时可以使用的),也可以来自外部。首先检查内部数据,比较理想的情况是已经有了所需的数据,随时可以开工。反之,有可能还需要通过某种方法从用户那里获得更多的数据。例如,可能需要在网页的用户界面中加入“五星”评价功能,这样才能根据用户的评分构建推荐引擎。
此外,还有可能需要从外部来源获取更多的数据。有很多方法可以实现这个目的,在这里无法一一罗列,但我们会介绍四种广泛使用的方法,从技术角度来说,它们也是稳定性最好的。各种数据采集方法的细节则需要你查阅相关的文献。
检查功能和数据
用户首先要找到一些受益于智能行为的用例,不同的应用显然会在不同的地方受益于智能行为。下面这些问题会帮助你找出这些用例。
·
应用所提供的内容是否来自不同的地方?
·
有基于向导的工作流程吗?
·
能否处理自由文本 ?
·
是否涉及某种类型的报表?
·
是否要处理诸如地图一类的地理信息?
·
有搜索功能吗?
·
用户之间分享内容吗?
·
欺诈检测是否很重要?
·
身份验证是否很重要?
·
需要根据规则自动做出决策吗?
当然,这并不是一份完整的列表,但其中已列出了一些可能的情况。只要有一个问题的答案是肯定的,应用就必然能从本书所涉及的技术中获益。
让我们用一个假想的应用来看看搜索应用中常见的用例。在几乎所有的应用中,用户都可以进行站内搜索。假设用户可以在我们的应用中购买不同类别的商品,也可以搜索他们想购买的商品。通常,这个功能都是直接利用SQL查询实现的。所有匹配用户查询的商品都会呈现到用户眼前。这没什么问题,但数据库服务器可能忽略了一个事实:在匹配用户查询的商品中,恰好有一种商品在降价促销。如果能够据此实现第2章介绍的排序方法和第3章介绍的推荐方法,无疑会提升用户的使用体验。
本文节选自《智能WEB算法》一书。
图书详细信息:http://www.cnblogs.com/broadview/archive/2011/08/19/2145944.html