基于web数据挖掘的健康餐饮分析推荐系统的设计

2011-02-05 06:37李晓城张增杰夏勇明钱松荣
微型电脑应用 2011年1期
关键词:数据挖掘餐饮关联

李晓城,张增杰,夏勇明,钱松荣

0 引言

随着现在生活节奏的加快,人们自身的健康饮食问题的关注越来越少,所以快餐文化可以越来越畅销,这样会给人们的健康状况带来负面影响。为了解决这个困境,我们依托发达的互联网平台,借助 web数据挖掘技术提出了在线餐饮系统的设计方案。

基于WEB 数据挖掘,就是利用数据挖掘技术,自动地从网络文档以及服务中发现和抽取信息的过程。我们提出基于 web数据挖掘的在线健康餐饮分析和推荐系统,可以跟踪用户的饮食习惯,推荐可以改善用户健康状况的饮食,降低发生疾病的风险。在文献[1]中,提出了基于 web数据挖掘的电子商务解决方案,通过顾客和web数据来发现隐藏模式和商业策略,设计了基于数据挖掘技术的新框架来构建网页推荐系统。这个推荐框架可以作为我们分析和推荐系统的基础架构。

在我们的解决方案里,系统架构可以分为3部分:饮食数据获取,数据挖掘和健康饮食推荐。首先,系统方案需要搭建一个C2C的电子商务平台,用户可以在线订餐点菜,系统通过获取用户存在数据库中的数据来跟踪用户的饮食记录。当然,这样的平台也要支持用户可以通过网页在线直接输入饮食数据。然后,我们使用数据挖掘算法像分类、关联规则等来分析用户饮食习惯的有用信息,实现健康状况评定和饮食推荐等。

1 Web数据的挖掘

Web数据挖掘建立在对大量的网络数据进行分析的基础上,采用相应的数据挖掘算法,在具体的应用模型上进行数据的提取、数据筛选、数据转换、数据挖掘和模式分析,最后做出归纳性的推理、预测客户的个性化行为以及用户习惯,从而帮助进行决策和管理,减少决策的风险。在文献[2]中,web数据挖掘处理过程可以分成5个功能模块:数据采集、数据预处理、数据挖掘、分析和评价、知识规则化等模块。

1.1 数据的采集

通常从功能上讲,数据采集模块是从外部 web环境中有选择的获取数据,为后期的数据挖掘提供材料和资源。Web环境下可以提供的数据源包括:web内容数据、web结构数据、web使用记录数据。这个模块主要由数据搜索、数据选择和数据收录3个相对独立的过程组成。

图1 Web数据挖掘处理过程

1.2 数据的预处理

Web中数据大体上都是不完整,不一致的脏数据,无法直接进行数据挖掘,或挖掘结果差强人意。为了提前数据挖掘的质量产生了数据预处理技术。数据预处理有多种方法:数据清理,数据集成,数据变换,数据归约等。这些数据处理技术在数据挖掘之前使用,大大提高了数据挖掘模式的质量,降低实际挖掘所需要的时间。

1.3 数据的挖掘

数据挖掘就是从大量的、不完全的、有噪声的、模糊的、随机的实际应用数据中,提取隐含在其中的、人们事先不知道的、但又是潜在有用的信息和知识的过程。利用数据挖掘进行数据分析常用的方法主要有分类、回归分析、聚类、关联规则、特征、变化和偏差分析等,它们分别从不同的角度对数据进行挖掘[3]。

分类是找出数据库中一组数据对象的共同特点并按照分类模式将其划分为不同的类,其目的是通过分类模型,将数据库中的数据项映射到某个给定的类别。

聚类分析是把一组数据按照相似性和差异性分为几个类别,其目的是使得属于同一类别的数据间的相似性尽可能大,不同类别中的数据间的相似性尽可能小。

关联规则是描述数据库中数据项之间所存在的关系的规则,即根据一个事务中某些项的出现可导出另一些项在同一事务中也出现,即隐藏在数据间的关联或相互关系。

1.4 分析和评价

分析和评价过程就是要分析通过数据挖掘过程获得知识模型的可信度和有效性,并且得出评价结论,给管理和用户决策提供信息支持。

1.5 知识的表达

知识表达模块依赖于通过数据挖掘工具在 web数据中得到的知识模型,并且最好能够通过合适的方式表达出来,便于用户接受和相互交流。

2 健康餐饮系统的设计

2.1 功能的描述

我们的健康饮食分析和推荐系统方案由3部分组成:饮食数据采集、数据挖掘过程和健康推荐等。系统这3部分的功能描述可以参见图2。

图2 系统功能描述

1)数据的采集

在系统的功能实现中,首先需要一个在线餐饮的电子商务网站平台,作为系统服务的基础。用户可以通过网络在系统的商务平台上点菜,就像在餐饮商家门店里一样;当然,用户也可以通过网站的网页把自己的饮食数据录入网站数据库中。系统可以从数据库中获取用户饮食数据,来跟踪用户的饮食记录。

2)数据的挖掘

系统使用数据挖掘的算法如分类、聚类,关联规则等来从用户数据中提取饮食习惯的有用信息。首先分析食品的营养结构,然后计算菜谱中含有多少脂肪、蛋白质、维生素等。接着利用分类算法处理这些组合数据,将用户分为不同的健康等级,并给出相应的评价结果。

3)健康饮食的推荐

经过上一步数据挖掘的过程,我们可以提取出许多有用的信息。比如,营养结构中哪些是缺少的,哪些是过剩的,潜在的疾病等。然后,系统可以根据个人情况推荐健康的餐饮菜谱,生活小贴士等信息。推荐系统推荐的意见会完善个人的饮食结构,提高健康状况。另一方面,我们会实时跟踪用户的个人偏好,利用关联规则发现个人的口味,推荐相应的菜肴,可以提供更好的个性化服务。

2.2 健康餐饮系统

健康餐饮分析和推荐系统可以有四部分组成:集成层、数据层、推荐驱动层和用户接口。在文献[1]详细描述了电子商务推荐系统的基本框架,在此基础上,我们构建了在线餐饮分析和推荐系统,系统结构如图3所示。

图3 健康饮食分析和推荐系统结构

(1)集成层是一系列数据挖掘的准备过程。例如:数据提取、数据清理、数据转换、数据加载等。这个层利用Xquery/XSLT/ XML 机制实现数据仓储,例如关系型或者XML本地数据库。同时,使用log解析组件来解析和转换网站服务器生成的 ASCII码的文件成为标准的数据库格式。这一层还用来维护用户会话与web服务、web页面之间的关联,这对于通过用户会话来分析用户对 web服务的使用情况非常重要。

(2)数据层是用户输入、输出的饮食数据的仓储部件。同时,这一层还存放预处理的日志,电子商务会话、还有关于web服务执行信息等。

(3)推荐层的核心是数据挖掘引擎,负责从数据库中加载大量的XML数据,执行SQL命令,还有数据挖掘算法等。这些算法能够对在数据库中的用户菜谱记录进行分类,并且发现用户饮食组成结构和潜在疾病的关联,然后根据这些相关性推荐不同的餐饮组合,改善其饮食状况。

系统采用决策树的分类算法来处理用户饮食数据,然后给出健康状况分析。决策树的目标是创建一个模型,根据多种输入变量来预测一个目标变量的值。我们可以用一个矢量来表示营养属性集X=(X1,X2,X3…,Xk),其中Xi代表不同的营养属性,比如脂肪、蛋白质、糖类、维生素、矿物质含量等。分类属性用也用一个矢量表示C=(c1,c2,c3,…,cn),其中n个不同的类代表了不同的健康状况。系统采用决策树作为分类器来实现映射函数H:f(X)→C ,这些规则可以从科学营养结构的先验知识中训练得到。

对于系统推荐模型可以采用关联规则学习方法。数据挖掘中的关联规则原始定义和描述在文献[4]中做了详细论述。例如,在超市的销售历史数据中发现的关联规则:{onions,potatoes}⇒{beef}显示,如果顾客购买了洋葱头和土豆的组合,一般还会购买一些牛肉。根据这样的理论,我们可以从用户的餐饮历史数据中找到用户的个人喜好,然后根据不同用户的不同口味偏好推荐不同的菜单,提高个性化服务水平。

1)用户接口

用户接口是个抽象的概念,用于连接用户和web服务器。用户可以通过接口来在线点菜,也可以直接输入自己的饮食数据。同时,接口还可以反馈健康分析、个性化推荐信息给顾客。

3 系统实现的方案

在系统实现过程中,首先要实现一个在线点餐的电子商务平台,作为用户原始数据的来源。电子商务平台应该实现如下功能,如图4所示。

1)电子商务平台

在构建系统之处,我们面临的一个问题就是第一手的用户数据从何而来。为了解决这个现实的问题,一个C2C的电子商务平台,可以连接用户和餐饮商家,同时也创造了获得用户餐饮数据的机会。

电子商务平台应该实现让顾客在线点菜的功能,然后平台服务器发送顾客的订单到餐饮商家,然后顾客就可以直接去商家消费。

图4 系统实现方案

2)用户接口

如果用户不通过在线点餐,系统还要通过接口实现用户数据的录入;同时,接口还要实现健康状况、推荐意见反馈等。

3)日志信息

服务器应该可以记录顾客在浏览器里的操作的日志信息,然后可以作为进一步的数据挖掘的数据源。

4)后台数据处理

数据处理引擎是整个平台不可获取的一部分。首先,后台数据处理要通过数据库和日志信息收集用户的饮食数据,然后通过特定的数据挖掘算法来分析这些第一手数据,最后给出分析结果和推荐建议。

4 结论

在本文中,我们提出了基于数据挖掘的健康饮食分析和推荐系统。从功能上讲,系统可以划分为3部分:用户餐饮数据采集、数据挖掘处理、健康餐饮推荐等。首先,系统方案需要搭建一个C2C的电子商务平台,用户可以在线订餐点菜,就像在实体店中一样,通过获取用户存在数据库中的数据来跟踪用户的饮食记录。当然,这样的平台也要支持用户可以通过网页在线直接输入饮食数据。然后,我们使用数据挖掘算法像分类、关联规则等来分析用户饮食习惯的有用信息,实现健康状况评定和饮食推荐等。

本文提出的方案是健康饮食分析和推荐系统的第一步,后面还需要在系统实施验证方面做更多的工作。

[1]Sun Jinhua,Xie Yanqi.A Web Data Mining Framework for E-commerce Recommender Systems[C].International Conference on Computational Intelligence and Software Engineering,11-13 Dec.2009,pp.1-4.

[2]Xinlin Zhang,Xiangdong Yin.Design of an Information Intelligent System based on Web Data Mining[C].International Conference on Computer Science and Information Technology 2008,pp.88-91.

[3]D J H,Mannila H and Smyth P.Principles of Data Mining[M],MIT Press,2000.

[4]Agrawal R,Imielinski T,Swami A.Mining Association Rules between Sets of Items in Large Databases[C].SIGMOD Conference 1993,pp.207-216.

[5]Xinlin Zhang,Xiangdong Yin.Design of an Information Intelligent System based on Web Data Mining[C].International Conference on Computer Science and Information Technology 2008,pp.88-91.

[6]Chen ting,Niu xiao,Yang weiping.The Application of Web Data Mining Technique in Competitive Intelligence System of Enterprise based on XML[C].Third International Symposium on Intelligent Information Technology Application,2009,pp.396 -399.

猜你喜欢
数据挖掘餐饮关联
可怕的餐饮外卖
不惧于新,不困于形——一道函数“关联”题的剖析与拓展
探讨人工智能与数据挖掘发展趋势
制止餐饮浪费,从你我做起
“一带一路”递进,关联民生更紧
奇趣搭配
基于并行计算的大数据挖掘在电网中的应用
在餐饮外企挥洒精彩人生
智趣
送外卖送出的“餐饮淘宝”