第一篇:数据挖掘在图书馆用户资源管理中的应用研究_周倩
数据挖掘在图书馆用户资源管理中的应用研究
周 倩
(中科院文献情报中心中科院研究生院,北京,100080)中42%的图书馆采用了数据挖掘技术,而剩余的 58%的还没有采用数据挖掘技术的图书馆中有 98%的表示它们将在不久的未来采用数据挖掘技 术。此外,调查还显示,目前图书馆采用数据挖掘技 术的主要模式是基于用户数据与基于用户行为的数 据挖掘,各种数据挖掘软件或工具的发展与成熟为 图书馆利用数据挖掘技术提供了便利的条件[8]。与国外图书馆相比,数据挖掘技术目前在我国 图书馆中并没有大规模地使用,只有为数不多的图 书馆采用了此项技术。但国内图书馆界已普遍认识 到,数据挖掘技术是图书馆现代化发展的关键技术, 将对图书馆信息资源建设和个性化、知识化服务的 发展起到至关重要的作用。基于数据挖掘的图书馆用户资源管理
从以上分析可看出,用户资源管理是图书馆应用 数据挖掘技术的主要领域之一,基于数据挖掘的图书 馆用户资源管理主要体现两层含义:一是图书馆利用 数据挖掘技术提高自身用户资源管理的水平,实现分 析型用户资源管理模式;二是图书馆以数据挖掘的需 求为牵引,组织好用户资源管理的各项工作,从最初 用户数据获取开始就要以后期顺利地实现数据挖掘 为目标,分析、设置好工作标准与内容意义。3.1 用户数据搜集与存储
用户资源管理的第一步工作是搜集用户数据。要实现对用户数据的有效挖掘的基本条件是要将搜 集到的数据以一致的模式存储,建立用户数据仓库。因此,可以说用户数据仓库建设是图书馆用户资源 管理的基础。
(1)搜集用户数据。用户数据按数据类型可大
致分为用户描述类数据、用户需求类数据、用户行为 类数据和用户反馈类数据四个类。目前,随着数字 图书馆的深入发展,图书馆获取用户数据的技术与 渠道不断拓宽,既可以通过传统方式获取,也可以在 数字图书馆服务过程中获取。
(2)构建用户数据仓库。数据挖掘在集成、一
致、经过清理的数据上才能更好地实现,因此必须对 搜集到的图书馆用户数据,进行数据清理、数据变 换、数据集成和数据装入等必要的数据处理过程,建 立一个整合的、结构化的用户数据仓库,并及时更 新。图书馆通过多个渠道获取的用户数据中既有结 构化的、也有非结构化的。结构化数据如用户借阅 资料的数量、Web访问日志等数据,非结构化数据 如用户反馈信息、用户需求信息等。目前数据挖掘 的对象主要是结构化数据,因此,应尽可能采用多种 方法对非结构化的数据进行处理,将其转化为结构 化数据。
3.2 用户多维特征分析和群体分类
(1)用户多维特征分析。针对数据仓库中的图
书馆用户数据,采用简单关联、时序关联、因果关联 等关联分析与序列规则等数据分析与挖掘方法,对 图书馆用户特征进行分析,挖掘用户的隐性信息需 求,获得对管理用户与图书馆交互活动所必需的关 键性特征,并预测用户未来的信息行为。图书馆用 户特征主要由用户的知识结构特征、用户的信息需 求特征和用户的信息行为特征组成。知识结构特征 说明了用户目前对其专业领域或感兴趣的专业领域 的知识掌握情况;用户的信息需求特征表明了用户 信息需求的专业范围、载体、类型、语种以及用户需 求的现有满足程度等;用户的信息行为特征反映了 用户使用信息的习惯和模式,以及访问信息的规律、特点和趋势等。
(2)用户群体聚类分类。对于图书馆用户特征
进行多维分析的主要目标,并不是仅对单个用户在 图书馆内的信息行为进行分析,而是希望对具有相 似特征的用户建立模型,进行图书馆用户的有效分 类与聚类,发现各种虚拟用户社区,为针对不同类型 的用户群提供不同的个性化服务方案[9]。对数据集 合的分类是数据挖掘技术的主要功能之一。图书馆 用户分类是找出一组能够描述用户群体典型特征的 模型(或函数),以便能够分类识别未知图书馆用户 的归属或类别或预测未知图书馆用户实例的归属类 别。分类挖掘所获得的模型可以采用多种挖掘方式 获得,按照难易程度分为分类规则(IF-THEN)、数 学公式(Mathematical formulae)、决策树(Deci-siontrees)和神经网络等方法。图书馆用户聚类分 析是把一组图书馆用户按照相似性和差异性分为几 个类别,其目的是使得属于同一类别的用户间的相 似性尽可能大,不同类别中的数据间的相似性尽可 能小。每一个聚类分析所获得的图书馆用户组可以 看成是一个同类别归属的用户对象集合,然后对这 些同类别数据集通过分类,获得相应的分类预测模 型(规则)。由此,通过反复不断地对所获得的聚类 组进行聚类分析,可获得初始图书馆用户数据集合 的一个层次结构模型。
3.3 面向用户生命周期的数据挖掘
图书馆用户生命周期主要由三个阶段组成:用
户的获取、用户的保持和用户的流失。图书馆用户 资源管理的主要目标是要最大限度地延长用户的生 89 周 倩:数据挖掘在图书馆用户资源管理中的应用研究
Zhou Qian:A Study on the Application of Data Mining in the User Resources Management of Libraries 能真正以用户使用的效益方式体现出来[2]。(2)用户资源管理是图书馆个性化服务的重要基 础。图书馆个性化信息服务的实质就是一种以用户 需求为中心的服务方式。一个图书馆的个性化服务 的通常步骤为:一是收集用户的各种信息;二是分析 用户数据,创建符合用户特性的访问模式;三是结合 用户特性,向用户提供符合其特殊需求的个性化服 务[3]。图书馆用户资源管理的本质与目标是对用户 信息及信息行为经过深入的研究与分析,在满足用户 直接信息需求的基础上,发掘用户的潜在需求,使用 户得到延伸的服务收益,以此给予用户强烈的个性化 服务感受和“无缝式体验”,提高满意度,在实现用户 价值最大化前提下实现用户和图书馆双赢。(3)用户资源管理是图书馆知识管理的主要途
径。图书馆实施知识管理的主要目的就是把最恰当 的知识在最恰当的时候传递给最恰当的用户,这正 是与用户资源管理的最终目标相一致的。图书馆用 户资源管理中含有大量可供共享的信息,包括用户 基本信息、需求信息、服务活动信息、服务效果信息 以及在整个用户生命周期中同图书馆交互活动的信 息。用户的信息就像原材料一样,被进行系统整理、分析后可以在图书馆内部形成共享,从用户信息变 为用户知识。“用户”、“知识”和“管理”处在一个封 闭的循环系统中,图书馆运用这个循环体系中的用 户知识,从与用户的交互活动中实现其社会价值。1.3 图书馆用户资源管理现状分析
用户资源管理在实际运作中可以大致分为两个 层次。一是描述型用户资源管理。它更多关注用户 信息的组织和管理的简单化,包括用户与图书馆交 流渠道的集成,用户信息的归档与简单化的定量统 计。二是分析型用户资源管理。这种管理方式强调 对用户数据进行规范化存储、提取、处理、解释,产生 相关用户知识报告。可以说,分析型的用户资源管 理通过对用户数据的分析,真实反映用户的行为特 征和属性,并据此进行各种推理和分析,为图书馆决 策和服务行为提供客观依据。就目前而言,国内大 多数图书馆用户资源管理仍属于描述型用户资源管 理,还不能大范围地实现对用户属性特征和信息行 为特征的整理和分析,不能广泛地从用户信息中发 现能够反映其信息与服务需求特质的模式或模型并 进行相关用户的规模化分类与聚类。而数据挖掘技 术的发展与在图书馆的应用则为图书馆解决上述问 题,突破描述型用户资源管理的局限性,开展分析型 用户资源管理提供了有力的支持和保障。2 图书馆研究与应用数据挖掘技术概况
数据挖掘(Data Mining)是从大量、不完全、有噪
声、模糊、随机的数据中,抽取出隐含在其中的、人们 事先不知道但又是潜在的、有价值的知识、模型或规 则的过程,是一类深层次的数据分析方法。它根据数 据的微观特征,发现其表征的、带有普遍性的、较高层 次概念的知识,是信息优势成为知识优势的基础工 程。数据挖掘是一门交叉学科,包括机器学习、数理
统计、神经网络、数据库、模式识别、粗糙集、模糊数学 等相关技术。数据挖掘技术包括三个主要部分:算法 和技术、数据和建模能力;按照功能分为两大类:预测 型(Predictive)模式和描述型(Descriptive)模式[4]。自20世纪90年代后期,图书馆开始高度关注 并研究数据挖掘技术,并致力于将其引入到图书馆 的现代化建设中,有不少图书馆学专家提出了面向 图书馆的数据挖掘技术应用理论与方法。例如: May Chau博士提出了几种学术型图书馆与数 据挖掘的相关性理论模型,并且开发了图书馆网上 数据挖掘系统,帮助用户查找信息[5]。Kyle Baner-jee先生研究了数据挖掘技术帮助图书馆的不同方 式。在1998年,他提出,全文本、动态变化的数据库 更适于采用数据挖掘技术[5]。2002年,Nicholson 和Stanton就图书馆中的数据挖掘过程提出了一个 专业术语“Bibliomining”(书目挖掘),指出书目挖掘 是在图书馆中,将数据挖掘技术、书目计量方法、统 计学理论与报告工具有机结合在一起,从基于行为 的信息与数据中获取隐含的模式[5]。1996年,ALA 的《Library Administration and Management》期刊 出版了一期关于图书馆数据挖掘的特刊,当时在文 章中提到的数据主要来自图书馆自动化系统,后来, 随着数字图书馆的发展使得可以用于数据挖掘的数 据大幅度提高。鉴于此种情况,《Library Adminis-tration and Management》于2003年再次出版一期 以数字图书馆数据挖掘技术为主题的特刊,并列举 了一些图书馆利用数据挖掘技术的实际案例[6]。2005年6月,OCLC公布了三个新的研究计划,其 中之一就是数据挖掘研究计划,其主要目标是通过 对WorldCat及其它数据源的挖掘,找到隐含的、有 用的信息,以此帮助图书馆管理者更好地做出馆藏 建设与服务的决策[7]。
就图书馆利用数据挖掘技术的规模和应用潜 力,研究图书馆联盟(ARL)2003年曾做过一次调 查。ARL中的124个会员图书馆参加了此次调查, 其中有52%的图书馆反馈了调研表。调查显示这 88 2006年第6期
图书·情报·知识
[摘要] 用户资源管理是现代图书馆资源管理的核心内容,是图书馆实现个性化服务的重要基础。
数据挖掘作为一种深层次的数据分析方法,可以从大量的数据中挖掘出反映用户属性特征和信息
行为特征的信息和规则,从而为图书馆用户资源管理提供极大的帮助。基于数据挖掘的图书馆用
户资源管理包括用户数据搜集、用户数据仓库构建、用户多维特征分析和群体分类、面向用户生命
周期的数据挖掘等主要内容。
[关键词] 数据挖掘 图书馆 用户资源管理 应用 个性化服务 数据仓库 [中图分类号]G252 [文献标识码]A [文章编号]1003-2797(2006)06-0087-04 [Abstract] The user resources management of libraries based on data mining should include the following methods:collecting user data,constructing user data warehouse,analyzing user char-acteristics and classifying group,data mining for the whole user life cycle and so on.[Key words] Data mining Library User resources management Application Personalized services Data warehouse 1 图书馆用户资源管理
图书馆用户是指利用图书馆信息资源及信息服 务的一切个体或群体。图书馆用户资源是图书馆在 长期的信息服务过程中逐步形成的,是图书馆服务 能力在社会关系体系中的呈现。与图书其它资源相 比,用户资源有它特殊的性质,例如动态的伸缩性和 拓展性,对其它类型资源强烈的依附性。1.1 图书馆用户资源管理的内涵
在图书馆的发展历程中,其资源的内涵不断拓 展,资源管理的内容也不断丰富。早期的图书馆资 源管理主要是指对有形的资产进行管理,包括文献
资源管理、设备资源管理、人力资源管理、经费管理、服务场所管理等。其后图书馆资源概念扩展到无形 资产,包括服务品牌、图书馆文化等。但这种管理的 概念也仅仅局限于图书馆内部。在现代信息社会, 伴随着数字图书馆的发展,图书馆将“用户”这种外 部资源纳入到自身的资源管理体系中,把用户作为 图书馆的一种资源进行有效的管理,并实现与图书 馆其它资源的整合。
从资源管理的理论层面上讲,用户资源管理是 对有使用价值的用户资源,通过有效的管理与控制
[作者简介] 周倩,女,1972年生,中国科学院文献情报中 心及中科院研究生院在读博士生,中国国防科技信息中心副 研究馆员,发表论文20多篇。
程序,来实现图书馆某种服务效益的目标活动。从 实际工作层面上讲,用户资源管理主要是指对用户 和图书馆之间的交互活动进行管理,具体包括用户 信息管理、用户服务活动管理、用户后期支持管理。用户信息管理的主要任务是系统地搜集、组织与存 储用户的相关信息,通过对用户信息的统计和分析, 明确用户信息需求和服务需求,划分用户群;用户服 务活动管理则负责将对用户在图书馆内的信息行为 进行管理,针对用户个性化需求,制定出图书馆相应 的信息资源建设和服务策略,实现与用户服务活动 相关的所有信息的集成;用户后期支持管理主要是 对用户接受服务后的情况进行跟踪了解和分析,发 现问题,提出不断修正和提高的方案[1]。1.2 用户资源管理在图书馆中的重要地位(1)用户资源管理是图书馆管理的核心。图书
馆管理主要包括三个方面:一是信息资源管理,即对 信息的搜集、加工、组织、开发利用等实施全寿命管 理;二是信息环境管理,主要包括信息技术管理、信 息政策管理、组织机构管理、设施与经费管理以及人 力资源管理;三是用户资源管理。其中,用户资源管 理是核心内容,信息资源管理与信息环境管理必须 以用户资源管理的要求和目标开展工作,因为只有 这样才能将“用户”作为一种资源有效地贯穿于图书 馆管理工作的全过程中,图书馆管理的效果与价值 87 命周期,抑制用户的流失。
(1)用户的获取。图书馆要在竞争日益激烈的
服务环境中生存和壮大就需要不断获得新的用户, 维持老的用户,而当用户数量不断增长,用户的细节 因素增多时,要为用户提供更好的服务并赢得更多 的用户只能依靠数据挖掘技术才能完成。利用数据 挖掘中的一些技术(如统计回归、逻辑回归、决策树、神经网络)揭示新用户的行为习惯,生成预测模型和 建立评分模型,预测发现一些在不同情况下有相似 行为的新用户,对潜在用户进行筛选,有效增加服务 推广效应,把潜在的用户名单和这些用户感兴趣的 资源与服务系统地结合起来,为每一个用户提供主 动化、个性化服务,使潜在用户转化为正式用户,以 不断地获取新用户。
(2)用户的保持与流失。用户保持与图书馆服
务能力息息相关。图书馆用户流失的主要原因之一 就是图书馆对用户的关怀和服务不够,因此保持原 有用户的工作对于图书馆来说变得非常重要。数据 挖掘技术可以对用户数据仓库中的大量数据进行分 析和处理,以识别、分析和评价用户流失风险,分析 出用户为什么会流失?哪些因素会导致用户的流 失?用户流失风险主要来自于何处?如何保留住图 书馆的高价值用户?在用户保持中,一般涉及3个 过程:首先,建立模型用来预测和识别潜在的流失用 户;其次,通过数据挖掘识别潜在流失用户中的图书 馆重要用户;第三,利用聚类分析等方法对图书馆重 要用户中的潜在流失者进行分析挖掘,识别其行为 模式等,从而有针对性地采取相应的服务措施,保留 住用户[10]。几个相关问题的思考
首先是数据挖掘精度的问题。当前许多数据挖 掘系统或工具都是数据驱动的数据挖掘,仅仅是在 数据内容上产生规则,因此来源数据的准确性对数 据挖掘精度将会产生很大的影响。此外,数据挖掘 不是万能的,而只是一个工具,它只是帮助图书馆工 作人员更深入、更容易地分析数据,它无法告诉你某 个用户模型对你的图书馆的实际价值。而且数据挖 掘中得到的模型必须要在实践中进行验证。将本体 理论与数据挖掘技术相结合是有效解决数据挖掘精 度问题的一种途径,因为基于用户本体的数据挖掘 将利用领域知识或背景知识,可在高层次上进行数 据挖掘,产生高层次或多层次的规则,甚至是具有语 义意义的规则,同时可利用本体进行数据预处理,提 高待挖掘数据的质量[11]。
其次是用户隐私保护问题。在构建用户数据仓
库的前期,对于用户数据进行预处理阶段要注意将显 示用户隐私的数据处理掉,例如对不愿透露自己IP 地址的用户,如果日志记录访问时间为10:32/10-29-02,可以用102902-1032-A作为其IP地址代码[12]。第三是数据挖掘系统嵌入图书馆其它应用系统 的问题。目前数据挖掘技术正在不断发展和成熟, 许多数据挖掘工具可以和图书馆相关应用系统集 成,成为嵌入式的技术。参考文献 周倩.构建图书馆现代化CRM系统.图书情报工作, 2004(6)2 周倩.复合图书馆信息资源管理研究.图书情报知识, 2003(5)3 冯是聪单松巍等.基于Web挖掘的个性化技术研究.Http://net.cs.pku.edu.cn/~webg/twpaper/fsch web personalize.pdf(2005-11-08)4 朱建平,张润楚等.数据挖掘的发展及其特点.知识丛 林,2002(7)5 Scott Nicholson.Bibliomining for Automated Collection Development in a Digital Library Setting:Using Data Mining to Discover Web-Based Scholarly Research Works.Http://dlist.sir.arizona.edu/625/01/asisdiss.html(2005-10-26)6 Nicholson,Scott and Stanton,Jeffrey.Gaining Strategic Advantage through Bibliomining:Data Mining for Man-agement Decisions in Corporate,Special,Digital,and Traditional Libraries.Http://dlist.sir.arizona.edu/826/(2005-12-28)7 New OCLC Research projects:Curiouser,Data Mining, and WikiD(nee MetaWiki).Http://(2005-10-28)10杨中华.数据挖掘在客户关系管理中的应用研究.湖北 汽车工业学院学报,2004(1)11邢平平等.基于本体论的数据挖掘方法.计算机工程, 2001(5)12 Scott Nicholson.The Bibliomining Process:Data Ware-housing and Data Mining for Library Decision-Making(收稿日期:2006-04-10)
第二篇:基于属性重要度约简算法在数据挖掘中的应用研究论文
摘 要:属性约简是粗糙集理论研究的核心内容之一,本文通过对属性重要度的计算,以核为基础计算条件属性集中除核以外其他属性的重要性来确定最小的约简,最后通过实例分析验证了算法的有效性与可行性。
关键词:数据挖掘 属性约简 重要度
数据挖掘是从海量的且不断动态变化的数据中,借助有效的方法挖掘出潜在、有价值的知识过程。而粗糙集理论它是一种刻画不完整性和不确定性的数学工具,能在保持分类能力不变的前提下,通过知识约简从中发现隐含的知识,揭示潜在的规律,是由波兰科学家Pawlak在1982年提出的。而属性约简是粗糙集理论研究的核心内容之一,它能保证在分类能力不变的情况下,消除重复、冗余的属性和属性值,减少数据挖掘要处理的信息量,提高数据挖掘的效率。本文提出了通过计算单个属性的重要性,以重要性大于零的属性为核,来选取其它属性加入核中形成新的集合RED,直至剩下的所有属性的重要性为零,得到的集合REDn即为属性约简。粗糙集的基本理论[1-2]
定义1设 是一个信息系统,其中 是对象的非空有限集合,即;是属性的非空有限集合;,是属性 的值域;是一个信息函数,即每个对象在每个属性上对应的信息值。若,其中 为非空有限条件属性集合,为非空有限决策属性集合,且,则称信息系统为决策表。
定义2对决策表,,考虑单决策属性的情况,即,则的分辨矩阵是一个 矩阵,其中的元素定义如下:
定义3对分辨矩阵中每个,用布尔函数 来表示,若,则决策表的分辨函数 可定义为:。基于粗糙集的数据挖掘的属性约简算法[3-4]
2.1 算法分析
第一步:求核。通过求条件属性C中的每个属性a对在整个条件属性集C的重要性SigC(x)来确定属性核CORE(x),重要性SigC(x)>0的属性为核属性。
第二步:通过向属性核CORE(x)中依次加入重要性大的属性来确定属性集x的最小约简,详细步骤如下:(1)把a加入到属性集R 中,计算重要性,选择重要性最大的属性;(2)如果两个属性有相同的重要性,取离散值小的属性。
2.2 算法复杂度
通过算法的分析,在对决策表进行划分的时间复杂度为O(n2)。而计算条件属性的重要性也是满足划分的线性关系,因此所求属性核的时间复杂度为O(n2),依次添加次重要度的属性也没有增加额外的开销,因此整个时间复杂度还是O(n2)。
2.3 实例及分析
为了进一步验证算法的可行性,下面以表1中的决策表为例进行分析说明,其中对象集,条件属性集,决策属性。
以上对计算出的实验数据的重要性进行统计得出信息系统的两个约简为{c1,c4}和{c2,c4}。结语
本文针对属性约简算法中的属性重要度的计算来确定核,适合对海量数据的挖掘,不仅节省了存储空间,而且在时间复杂度开销少,通过实验分析验证了算法的可行性与有效性,为决策表的属性约简提供了一条高效的途径。
参考文献:
[1]张文修,吴伟志.粗糙集理论与方法[M].北京:科学出版社,2001:18-19
[2]周献中,黄兵,李华雄,等.不完备信息系统知识获取的粗糙集理论与方法[M].南京:南京大学出版社,2010:10-11
[3]饶泓,夏叶娟,李娒竹.基于分辨矩阵和属性重要度的规则提取算法[J].计算机工程与应用,2008,44(3):163-165
[4]黄国顺,刘云生.一种改进的决策表属性重要性及其快速约简算法[J].计算机工程与应用,2007,43(28):173-176
第三篇:关于数据挖掘在出口退税中的应用
关于数据挖掘在出口退税中的应用引言
出口货物退(免)税,简称 出口退税,其基本含义是一个国家或地区对已报送离境的出口货物,由税务机关将其在出口前的生产和流通的各环节已经缴纳的国内产品税、增值税、营业税和特别消费税等间接税税款退还给出口企业的一项税收制度。出口退税 主要是通过退还出口货物的国内已纳税款来平衡国内产品的税收负担,使本国产品以不含税成本进入国际市场,与国外产品在同等条件下进行竞争,从而增强竞争能力,扩大出口创汇[1]。
我国从1985年开始,全面地实行了 出口退税 政策,并从1995年开始全面实行电子化管理,它是全国税务系统第一个全面推广应用的税收管理软件,是金关工程和金税工程的一个子系统,在强化出口退税管理,提高出口退税工作效率,防范和打击骗税上发挥了巨大的作用[2]。但是,目前的出口退税电子化管理只完成了出口退税业务的电子化操作,还未在决策的电子化方面取得较大进展。经过十多年的发展,积累了大量涉税信息,如何将这些“历史的、静态的”数据变成动态的、具有分析决策性质的信息已成为当前急需研究的课题[3],数据挖掘技术的出现使这种应用成为现实。出口退税数据挖掘的目的和基本方法
现行的出口退税电子化管理主要是通过出口企业把申报退税的信息通过出口退税申报系统录入计算机并生成申报数据,然后再经过出口退税审核系统把企业申报的出口退税凭证的电子信息与税务机关接收到的其他部门(征税机关、海关 和外管)传来的凭证信息进行比对,以达到审核出口退税凭证的合法性和真实性的目的,进而根据比对审核通过的数据进行退税。可以看出,目前的出口退税电子化管理只侧重了出口退税的 单证 信息的计算机审核,而对于挖掘审核通过的 单证 信息和各部门传递来的电子信息的价值方面存在着很大的不足。随着金税二期网络建设的推动,各省现已基本实现了出口退税数据的省级大集中[4],这些数据都是各出口退税部门在日常的业务审核中积累下来的数据,十分宝贵,如何充分发挥其应有的作用,已成为人们研究的热点。1
数据挖掘的目的就是分析出口企业的出口退税数据,挖掘这些数据与经济的内在联系,全面掌握本地区出口退税的产品结构、出口的贸易方式、出口产品的地区差异等,对于调整一个地区的产业结构、经济发展方向以及制定经济发展战略有着重要的参考价值;对于税务机关掌握出口企业的实际生产出口情况,培养税源,打击偷税漏税和防范出口骗税等方面有着重要的意义。
对于出口退税部门在日常的业务审核中积累下来的数据进行挖掘,主要是指在了解和掌握具体纳税人生产经营情况和财务数据的基础上,对纳税人的税收经济关系和税收缴纳状况进行客观评价和说明的分析,主要是通过对历史数据进行纵横比较分析和逻辑关系稽核来进行挖掘,以指导税收管理工作。
1)横向比较分析
横向比较分析是指同一指标在不同个体、单位、地区之间的比较分析。横向比较分析最典型的分析例子就是同业税负分析。受市场均衡作用的影响,同一产品在生产技术工艺、原材料能源消耗方面有相近之处,适用税收政策有统一的要求,因此反映生产成本费用方面的指标有相同的规律特征。总结这种规律特征,以此检验个体数据指标的表现,找出差异较大的个体予以预警。
2)纵向比较分析
纵向比较分析或历史数据分析是指同一个体的同一指标在不同历史时期的数据比较分析。常用的分析方法有趋势分析和变动率分析。分析的理论依据是大多情况下企业的生产经营是处于一种相对平稳的状态,不会出现突然的波动或大起大落现象。因此,如果企业生产能力没有作大的调整,一般情况下企业各个时期的数据指标彼此接近,不会出现大的差异。如果出现较大差异,应引起主管部门的注意,及时进行相关的纳税评估。
3)数据逻辑关系稽核
受会计核算原理的约束和税收制度规定的制约,反映纳税人生产经营情况和财务状况的众多数据指标之间存在非常严谨的、相互依存的逻辑关系。这种逻辑关系决定了企业的纳税申报数据必须满足企业财务数据相关性的特定要求,检查这些数据逻辑关系是否吻合,可以鉴别企业申报数据的真实性和合理性,从而发现税收问题,堵塞征管漏洞。出口退税数据挖掘的功能
数据挖掘通过预测未来趋势及行为,做出前摄的、基于知识的决策。数据挖掘的目标是从数据库中发现隐含的、有意义的知识,主要有以下五类功能:
1)趋势预测
数据挖掘自动在大型数据库中寻找预测性信息,以往需要进行大量手工分析的问题如今可以迅速直接由数据本身得出结论。出口退税数据挖掘的预测趋势是对纳税人特定税收指标、经济指标或税收经济关系指标一段时期走势和趋向的分析和推断,了解和掌握税收经济的发展趋势,有利于判断未来出口退税形势的好坏,使出口退税做到心中有数。
趋势预测的两个基本要求是说明特定指标的发展方向和变化幅度,基础分析技术是时间序列分析技术,常用说明指标有变动率和平均变化速度等。
2)关联分析
数据关联是数据库中存在的一类重要的可被发现的知识。若两个或多个变量的取值之间存在某种规律性,就称为关联。关联可分为简单关联、时序关联、因果关联。关联分析的目的是找出数据库中隐藏的关联网。有时并不知道数据库中数据的关联函数,即使知道也是不确定的,因此关联分析生成的规则带有可信度。
在出口退税评估工作中,可以利用企业财务报表、纳税申报表和出口退税汇总表等各项数据指标之间的相互逻辑关系进行核算检查,对于不满足应有逻辑计算关系的内容,即认为破坏了会计核算或税款计征关系,均应视为异常做进一步的深入分析。由于企业财务指标和出口退税申报数据有上百条之多,所以与此相关的逻辑计算关系也会在此基础上更为丰富和复杂,只有通过关联分析,才有可能在出口退税申报环节实现实时的出口退税评估工作。
3)聚类分析
聚类分析是数理统计的一个分支,是运用事物本身所具有的某种数据特征,遵循“物以类聚”规律进行数据处理,为事物的分类管理提供数据支持的一种分析方法。借用这种方法开展税收分析,可将具有某种税收共同特征的事物聚集在一起,使我们更清楚地认识税收征管工作的分类特征。
聚类分析的基本原理是根据数据指标差异的绝对距离进行分类,结合矩阵分析技术,可以进行多指标的综合特征分析,为复杂事物的分类提供了一种可行的分析方法。聚类分析的关键是找到一组关系密切的相关指标,如退税增长、税源增长、退税变化弹性和出口影响等,均可以利用这一分析技术进行综合分析和技术处理。
4)差异分析
数据库中的数据常有一些异常记录,从数据库中检测这些差异很有意义。差异包括很多潜在的知识,如分类中的反常实例、不满足规则的特例、观测结果与模型预测值的偏差、量值随时间的变化等。
差异分析的基本方法是测算不同样本同一指标的差异程度。差异分析的关键是建立评价差异的标准,有了标准才能说明差异的影响程度。表示差异程度可以用绝对值,也可以建立参照系用相对值。应用差异分析开展微观税收分析的典型分析案例就是同业税负分析模型。应用同业税负分析模型可以测算出各项相关指标的客观水平和样本离散状况,以此为标准比对个别检验样本的具体数值,超出差异允许界限的即为预警对象。
5)波动分析
波动分析是描述税收事物运行变化平稳性的分析。税收事物的运行受经济变化影响、税收制度规定的约束和现有征管环境制约有其自身客观的规律。在经济
运行相对平稳、税制不变的条件下,税收事物运行平稳与否,直接反映税收征管情况的影响作用。因此,开展波动分析,一定程度上可以了解和说明退税管理的表现,反映退税管理是否能按税源的发展变化规律同步开展,监督退税管理的执行情况。出口退税数据挖掘的实现
出口退税数据挖掘应用系统由三部分组成:第一部分是由用户数据源到中央数据库的ETL过程;第二部分是根据出口退税业务模型建立业务智能分析模型;第三部分是面向税收管理人员进行数据的发布和多维分析工作。基本结构如图1所示。
数据的ETL(Extract-Transform-Load,数据抽取、转换、装载)过程采用微软的SSIS(SQL Server Integration Services)来完成数据预处理阶段对于原始数据的转换、清洗加载过程;中央数据库采用微软的SQL Server 2005,SQL Server 2005除了提供一个安全、可靠和高效的数据管理平台之外,它还是一个企业级数据整合平台,通过SSIS提供了构建企业级ETL应用程序所需的功能和性能,是一个集成的商业智能平台,通过Analysis Services提供了统一和集成的商业数据视图,可被用做所有传统报表、OLAP分析、关键绩效指标(KPI)记分卡和数据挖掘的基础。
SQL Server 2005分析服务提供了数据挖掘服务,支持集成其它个人或者企业的DM算法,并且将DM算法集成的复杂度不断降低,它主要是基于OLE DB for DM规范,使用灵活。开发人员能够利用数据挖掘功能开发应用程序,其数据挖掘语言非常类似于SQL,数据挖掘供应者是一个开放系统,因为它是OLE DB的一个部件,数据挖掘服务能够通过DSO(Decision Support Object)、或ADO可包含在任何用户应用程序中。将DM算法无缝集成到SQL Server的分析服务中,利用集成的DM算法来构建数据挖掘解决方案是一种理想的方式。
在SQL Server 2005数据挖掘平台中,创建关系型挖掘模型的语法如下:
Create mining model()using
它类似于建立一个关系表,其中包括输入、预测属性,每一个模型与一个数据挖掘算法相关联。
多维数据分析工具和报表工具使用统一空间模型UDM(Unified Dimensional Model),利用UDM中对业务实体的友好描述、等级导航、多视角、自动平滑 翻译 为本机语言等功能,可以实现出口退税数据挖掘过程中所得到的结果集的友好展示。结束语
随着数据仓库技术的发展,数据挖掘会越来越发挥其独到的分析优势,特别是将挖掘出的新知识通过用基于OLAP的决策支持系统加以验证、结合,可以更好地为决策者服务。出口退税管理的电子化系统已经积累了大量的业务数据,可以为数据挖掘提供大量数据,数据仓库和数据挖掘技术在收税管理具有广阔的应用前景。
第四篇:数据挖掘在房地产营销中的应用
文章摘要:信息资源的分析、整合在房地产行业的竞争中起着越来越重要的作用。数据挖掘作为一种系统地检查和理解大量数据的工具,能有效地帮助房地产企业从不断积累与更新的数据中提取有价值的信息。因此,数据挖掘被引入到房地产市场研究领域,并日益受到重视。本文从数据挖掘在房地产行业中的市场研究价值入手,分析了数据挖掘在房地产市场研究尤其是客户信息中的应用,并加以举例说明。关键词:数据挖掘 关联分析 分类
一、房地产行业需要数据挖掘技术的支持
随着房地产行业竞争的加剧,房地产企业要想在竞争中制胜,必然需要充分的信息支持和准确的市场判断。房地产行业拥有大量的数据积累,包括行业信息、经济环境信息、客户信息等。这些数据是房地产企业市场运作的重要参考。面对快速增长的海量数据收集,企业需要有力的数据分析工具将“丰富的数据”转换成“有价值的知识”,否则大量的数据将成为“数据丰富,但信息贫乏”的“数据坟墓”。
数据挖掘(Data Mining)是从大量数据中发现潜在关联、模式,做出预测性分析的有效工具,它是现有的一些人工智能、统计学等技术在数据库领域中的应用。应用数据挖掘有助于发现业务发展的趋势,揭示已知的事实,预测未知的结果,并帮助企业分析出解决问题所需要的关键因素,使企业处于更有利的竞争位置。
二、数据挖掘在房地产行业的应用
1.数据挖掘的概念
对于企业的海量信息存储,数据挖掘是一种系统地检查和理解大量数据的工具。数据挖掘根据预定义的商业目标,对大量的企业数据进行探索和分析,揭示其中隐含的商业规律,并进一步生成相应的分析、预测模型。
数据挖掘发现的是以前未知的、可理解的、可执行的信息,所以也被称为“知识发现”(Knowledge Discovery in Databases)。与统计分析技术相比,数据挖掘技术能很好地和数据库技术相结合,而且数据挖掘工具用以发现数据中隐含的商业规律的方法已不局限于统计技术,还包括神经网络、遗传算法、自组织图、神经模糊系统等统计学科以外的方法。数据挖掘发现的“知识”一方面可以用于构建预测模型,另一方面可以被用于丰富统计分析师的背景知识,再被统计分析师应用到数据分析中。
数据挖掘任务一般可以分两类:描述和预测。描述性挖掘任务刻划数据库中数据的一般特性。预测性挖掘任务在当前数据上进行推断,以进行预测。具体来讲,数据挖掘主要用于解决以下几种不同事情:
(1)关联分析(Association analysis),是寻找属性间的相关性。两种常用的技术是关联规则和序列模式。关联规则是寻找在同一事件中出现的不同项的相关性,比如某个住宅项目的目标客户对该项目各方面评价之间的相关性序列分析寻找的是事件之间时间上的相关性,如对股票涨跌、房地产周期的分析。
(2)分类(Classification)和预测(Prediction)。分类根据某种标准将数据库记录分类到许多预先定义好的类别中。例如,将房地产企业客户根据消费决策模式进行分类;同时可以建立预测模型,给定潜在客户的收入、职业、家庭构成等个人属性,预测他们在购房支出;如将房地产企业客户分为潜在客户、购买者和实际客户。分类系统可以产生这样的规则:“如果客户可以并且愿意承担每月2000元的月供,计划在1年内在某地区买房,那么他/她是一个潜在客户;如果客户至少进行过一次业务访问,那么他/她是一个购买者。”
(3)聚类(Clustering)是把整个数据库分成不同的群组。它的目的是要群与群之间差别明显,而同一群之间的数据尽量相似。聚类与分类不同:分类之前已经知道要把数据分成哪几类,每个类的性质是什么;聚类则恰恰相反。
(4)演变分析(evolution analysis)描述行为随时间变化的对象的规律或趋势,并对其建模。例如,结合人口构成变动趋势、教育水平发展趋势、社会经济发展趋势进行房地产消费趋向的分析。
(5)描述和可视化(Description and Visualization),对数据进行归约、概化或图形描述等。例如,通过空间聚集和近似计算对一些具体的地理位置概化聚类,形成对某区域的形象化描述。
2.数据挖掘的市场研究价值
数据挖掘技术在商业上实际应用十分丰富。应用数据挖掘技术,可以帮助房地产行业找出有价值的信息,十分有助于企业发现商机、制定开发计划与营销策略。对于房地产市场研究,数据挖掘可以应用于宏观经济形势研究、市场发展趋势研究、楼盘供应研究、竞争对手研究、客户研究。包括但不局限于以下几个方面:
(1)宏观经济形势研究——1)房地产周期时序分析中的相似搜索:可找出已有房地产周期数据库中与给定查询序列最接近的数据序列。比较识别两个相似时间段间数据系列的主要差异,对房地产市场的宏观分析很有参考价值。2)宏观经济形势研究——房地产周期一般性因素关联分析:一般而言,房地产周期是影响不动产收益的一系列因素组成的总体概念。各因素均会对总体房地产周期起决定作用。关联分析方法可用于帮助发现各因素和房地产周期间的交叉与联系。
(2)市场发展趋势研究——1)销售量的增长与人均可支配收入的回归分析;2)个人购买与集团购买房地产比重的拟合与分析;3)对房地产销售波动率的回归分析。通过对市场总体状况、市场占有率、发展水平等动态的分析、总结和评价,及时获得准确数据,辅助经营决策。
(3)楼盘供应研究——地理发展空间的多维分析:综合人口住房条件及分布、土地利用现状及政府规划、交通现状分布信息,通过聚集及层次化描述,发掘区域内需建立的高档别墅、高、中、低档公寓的数量及各自的地理位置和发展计划。
(4)客户研究——客户信息的多维关联和序列模式分析:关联分析可在客户信息中发现客户的消费行为模式,帮助营销人员找出影响消费者的机会与方式。
目前,专业市场研究公司对房地产行业的调研主要集中在客户需求分析方面,并积累了一定的经验,因此,本文主要探讨房地产客户信息的数据挖掘。
3.数据挖掘在房地产客户研究中有着广泛的应用
房地产行业的客户信息有许多特点,如下图所示,一方面房地产行业面对的客户群广泛,而且客户的特征描述的结构复杂,另一方面房地产客户需求的层次不一,且易受外界因素影响,具有多层次性和多变性。
对于复杂、多样而且擅变的客户信息,房地产行业客户信息的数据挖掘有助于识别客户购买行为,发现客户购买模式和趋势。从而,帮助房地产企业改进服务质量,取得更好的客户关系和满意程度,设计更好的营销方案,减少商业成本。根据已有的数据挖掘经验,数据挖掘在房地产行业的应用可以归纳成以下几个方面:
4.明确商业目标
三、如何在房地产行业应用数据挖掘技术
应用数据挖掘的首要任务就是明确需要达到什么样的商业目标,并描述出需要解决的问题。目标的描述应该细化、清楚,以便于选择合适的挖掘方法,也方便检测数据挖掘效果,判断建立的模型的有效性。例如,下列目标是大而空的目标:获得客户行为的了解;在数据中发现有用的模型;发现一些有意思得东西。而另外一些目标有较强操作性:发现哪些客户不受某种促销手段的影响;找出项目封顶时哪类客户成交率增加。
5.数据准备
基于数据挖掘的商业目标,提取所需要的数据。为了保证数据的质量,除了对数据进行必要地检查和修正外,还需要考虑不同源之间数据的一致性问题。
如果数据集包含过多的字段,需采用一定的方法找到对模型输出影响最大的字段,适当的减少输入的字段。常用的方法包括:“描述型数据挖掘”、连结分析等。
很多变量如果组合起来(加、减、比率等)会比这些变量自身影响力更大。一些变量如果扩大它的范围会成为一个非常好的预测变量,比如用一段时间内收入变化情况代替一个单一的收入数据。因此,在数据准备阶段需考虑是否创建一些新的变量。
处理缺失数据也是数据准备阶段的一个重要工作。有些缺值本身就非常有意义。例如:富有的顾客会忽略“收入”,或者不在乎价格的影响。
6.建立模型
建立模型是一个反复的过程。首先需要选择适合解决当前问题的模型。对模型的选择过程可能会启发对数据的理解并加以修改,甚至改变最初对问题的定义。
一旦选择了模型的类型及应用的方法,所选择的模型将决定对数据的预处理工作。例如,神经网络需要做数据转换,有些数据挖掘工具可能对输入数据的格式有特定的限制等。
接下来是建立模型的工作。对于通过数据挖掘建立的模型需要有一定的数据来测试和验证。对于预测性任务,需通过反复的测试、验证、训练,才能不断提高模型的准确率。
大部分数据挖掘模型不是专为解决某个问题而特制的,模型之间也并不相互排斥。不能说一个问题一定要采用某种模型,别的就不行。例如:Cart决策树算法、神经网络既可以用于建立分类树,也可建立回归树。
7.输出结果的评价和解释
模型建立好之后,必须评价其结果,解释其价值。在实际应用中,模型的准确率会随着应用数据的不同发生变化。但准确度自身并不一定是选择模型的正确评价方法。对输出结果的理解需要进一步了解错误的类型和由此带来的相关费用的多少。如果模型每个不同的预测错误所需付出的代价(费用)也不同的话,代价最小的模型(而不一定是错误率最小的模型)将是较好的选择。
直接在现实世界中测试模型很重要。先在小范围内应用,取得测试数据,觉得满意后再向大范围推广。
8.实施
模型在建立并经验证之后,可以有两种主要的使用方法。一种是提供给分析人员做参考,由他通过查看和分析这个模型输出,并做出解释和方案建议;另一种是把模型应用到不同的数据集上。模型可以用来标示一个事例的类别,给一类客户打分等,还可以用模型在数据库中选择符合特定要求的记录,以用其他工具做进一步分析。
在应用模型之后,还要不断监控模型的效果。即使模型的运用很成功,也不能放弃监控。因为事物在不断发展变化,很可能过一段时间之后,随着购买方式、消费观点的变化,模型就不再起作用。因此随着模型使用时间的增加,要不断的对模型做重新测试,有时甚至需要更新建立模型。
四、应用举例:基于客户分类的关联分析
1.商业目标
为了更详尽地了解客户的消费决策,本案例设计的问题是:“给客户分类,并了解不同类的客户有什么特点?”针对此类问题挖掘出的结果可以被用于预测性分析,例如预测客户最倾向于做出哪种购买行为。2.数据准备
本案例中采用某一时点上的房地产消费者需求抽样调查,取出描述消费者个人属性和消费特点的字段。
3.建立模型
(1)对数据进行分类
本案例中由购房者选择最多五个自己在购房决策过程中比较看重的因素,并以总评分100分为前提给出每个因素的看重程度的评分。
案例得到的抽样数据显示,尽管地理位置是影响一个房地产项目定位的重要因素,人们对地理位置的看重程度仍有较大的差异。因此,以客户对地理位置的关注程度为分类标准,构建了一个简单的决策树。决策树中根据购房者对地理位置的看重程度,将购房者分为:地理位置决定型、地理位置重要参考型、地理位置参考型、地理位置不重要型、地理位置无关型五种类型。下表是应用决策树得到的客户分类结果。从各客户群评分的均值和标准差可以看出,各客户群具有较好的组内相似性和组间差异性,说明所构建的决策树的分类结果比较理想,可用于进一步的分析。
(2)关联分析运用关联分析的目的是寻找数据库中值的相关性。本例采用基于兴趣度的关联规则挖掘算法,挖掘每类客户不同属性间的相关性。经过挖掘,发现一些值得深入探讨的关联,见下表:
注:a)支持率反映了关联是否是普遍存在的规律。例如:支持率=5%,表示在1000个客户中有50个客户符合关联规则描述。
b)可信度反映了关联规则前提成立的条件下结果成例的概率。本例中,可信度=15%可以解释为,对应的客户群中有15个人符合关联规则的描述。
c)兴趣度反映了关联规则中元素的关系的密切程度。兴趣度越大于1说明该规则中的元素的关系越密切,该规则的实际利用价值越大。
d)最小支持度阈值、最小可信度和最小兴趣度的阈值可以由用户和领域专家设定。此例中以支持度>3.5%,可信度>15%,兴趣度>2为阈值。
上表中列出的关联规则均有较高的支持率、可信度和兴趣度。为了更加准确地挖掘关联规则。对挖掘出的关联规则更换因果关系,形成新的关联规则与之进行对比。如下例:
关联规则A1:地理位置无关型客户=≥重视物业管理
支持率=9.7% 可信度=30.3% 兴趣度=2.4与
关联规则B1:重视物业管理 =≥地理位置无关型客户
支持率=9.7% 可信度=76.9% 兴趣度=2.4
对比两个关联规则将发现,“重视物业管理的人不关心地理位置”的可能性(76.9%)高于“不关心地理位置的人重视物业管理”的可能性(30.3%)。说明关联规则B1:重视物业管理=≥地理位置无关型客户是一条更有意义的关联规则。
其他被发掘的关联也可以通过类似的比较,进行深一步的挖掘。在此不再全部做出详细分析。从本例挖掘出的信息可以看到,如果仅依赖于已有行业经验进行统计分析,往往会因为分析人员的主观性或者数据量太大难以实施而存在信息提取的局限性。而通过数据挖掘得到的信息,一方面能弥补直接应用统计分析时的局限性,开拓分析人员的思维,丰富分析人员的行业背景知识;另一方面可以通过反复的验证、机器学习建立模型,直接成为分析人员的分析、预测的工具。
需要说明:
a)本案例的目的在于说明数据挖掘算法的应用价值,得到的结果仅供参考,并不作为定论,而且数据挖掘的结果需要由行业内的商业分析人员判断:是否真的具有意义,是否有进一步分析、探讨的价值。也就是说数据挖掘作为信息提取的工具,其输出是决策分析的参考,不能代替行业内商业分析人员的分析工作。
b)案例中的数据挖掘作为方法应用的探讨,如要生成一个可操作的模型工具还需足够的数据集支持进行测试、验证、训练才能不断提高模型的准确率。
c)本案例中解决问题的方法不是唯一的,可能应用其他的分类手段、分类标准能得到更好的结果。具体方法的应用要取决于实施人员的建模能力、行业经验。也就是说,数据挖掘对人员有较高的要求。数据挖掘的人员不仅要有良好的统计概念、建模能力,还要懂得基本的商业和行业概念。
五、房地产行业数据挖掘的应用前景
随着IT/Internet等新技术发展,市场研究在房地产行业的应用已经不再局限于数据采集和简单的归纳、数据分析。更高的决策服务是建立在更大量的“数据——信息——知识”的基础上的,因此数据挖掘、商业智能等概念与技术的引入促进了数据挖掘在房地产行业的应用。与此同时,随着房地产企业数据挖掘应用的深入,数据、数据挖掘的任务和数据挖掘方法的多样性将给数据挖掘提出了许多挑战性的课题。例如:
1、应用地理信息系统(GIS)寻求数据挖掘过程中的可视化方法,使得知识发现的过程能够被用户理解,也便于在知识发现过程中的人机交互。
2、web挖掘:由于web上存在大量信息,随着web的发展,有关web内容挖掘、web日志挖掘等网络上的数据挖掘将成为数据挖掘中一个最为重要和繁荣的应用领域。房地产公司的企业形象宣传、营销、客户维护等工作都将离不开网络,也必然将需要web挖掘数据支持。
第五篇:基于Spark的大数据精准营销中搜狗搜索引擎的用户画像挖掘
基于Spark的大数据精准营销中搜狗搜索引擎的用户画像挖掘
近期参加了CCF举办的“大数据精准营销中搜狗用户画像挖掘”竞赛,最终得到复赛第32名。正好这学期《机器学习与数据挖掘》课程需要一个实验报告的大作业,于是就那它来写了。本博文会在这几周不断的完善更新ing
1.选题背景与意义
1.1 用户画像与精准营销
“用户画像”是近几年诞生的名词。很多营销项目或很多广告主,在打算投放广告前,都要求媒体提供其用户画像。在以前,大多媒体会针对自身用户做一个分类,但是有了大数据后,企业及消费者行为带来一系列改变与重塑,通过用户画像可以更加拟人化的描述用户特点。
用户画像,即用户信息标签化,就是企业通过收集与分析消费者社会属性、生活习惯、消费行为等主要信息的数据之后,完美地抽象出一个用户的商业全貌,可以看作是企业应用大数据技术的基本方式。用户画像为企业提供了足够的信息基础,能够帮助企业快速找到精准用户群体以及用户需求等更为广泛的反馈信息。
消费方式的改变促使用户迫切希望尽快获取自己想要了解的信息,所以说,基于用户画像上的精准营销不管对企业还是对用户来说,都是有需求的,这会给双方交易带来极大便捷,也为双方平等沟通搭建了一个畅通平台。
1.2 搜索引擎下用户画像的挑战
在搜索引擎下,由于搜索引擎本身使用方式的特殊性、用户的流动性、查询的实时性等,带来了与企业传统的对用户信息进行收集与分析有着巨大的不同、更加艰巨的挑战。
例如,我们实时获取到的是用户的查询语句,而由于用户的流动性,并不能直接获取到如年龄、性别、学历等用户的标签信息。这么一来,也就无法根据用户属性对用户进行分群处理,而后再通过推荐系统进行产品上的优化
1.3 本文内容概要
本文内容概要如下:
第1章:简介用户画像与搜索引擎下用户画像的精准营销的挑战。第2章:说明实验集群、数据与课题研究目标。
第3章:介绍使用分词工具对用户的搜索词列进行分词,以及相关的优化方案。第4章:介绍在分词的基础上,对文本进行特征的抽取与转换,以及相关的优化方案。第5章:介绍在原始特征向量上,进行聚类与降维。第6章:介绍实验中试验过各分类模型 第7章:介绍模型参数调优
第8章:总结本课题研究中不足与展望后续的优化方案 第9章:参考文献 2.课题实验准备
2.1 Spark集群
节点 cdh01 cdh02 cdh03 cdh04 备注
8核,32G内存,角色:Spark Master,HDFS NameNode,Spark Worker,HDFS DataNode 8核,12G内存,角色:Spark Worker,HDFS DataNode 8核,12G内存,角色:Spark Worker,HDFS DataNode 8核,12G内存,角色:Spark Worker,HDFS DataNode 2.2 数据集
数据文件 备注
Train.csv 带标注的训练集 Test.csv 测试集 2.3 数据介绍
本数据来源于搜狗搜索数据,ID经过加密,训练集中人口属性数据存在部分未知的情况(需要解决方案能够考虑数据缺失对算法性能的影响)。数据所有字段如下表所示:
字段 ID age 说明 加密后的ID 0:未知年龄;1:0-18岁;2:19-23岁;3:24-30岁;4:31-40岁;5:41-50岁;6: 51-999岁
Gender 0:未知1:男性2:女性
Education 0:未知学历;1:博士;2:硕士;3:大学生;4:高中;5:初中;6:小学 Query List 搜索词列表 2.4 数据示例
对于train.csv中的数据记录:
00627779E16E7C09B975B2CE13C088CB 4 2 0 钢琴曲欣赏100首 一个月的宝宝眼睫毛那么是黄色 宝宝右眼有眼屎 小儿抽搐怎么办 剖腹产后刀口上有线头 属羊和属鸡的配吗 2.5 课题任务描述
根据提供的用户历史一个月的查询词与用户的人口属性标签(包括性别、年龄、学历)做为训练数据,通过机器学习、数据挖掘技术构建分类算法来对新增用户的人口属性进行判定。
3.查询词分词
3.1 NLPIR
NLPIR汉语分词系统(又名ICTCLAS2013),主要功能包括中文分词;词性标注;命名实体识别;用户词典功能;支持GBK编码、UTF8编码、BIG5编码。新增微博分词、新词发现与关键词提取;张华平博士先后倾力打造十余年,内核升级10次。
全球用户突破20万,先后获得了2010年钱伟长中文信息处理科学技术奖一等奖,2003年国际SIGHAN分词大赛综合第一名,2002年国内973评测综合第一名。
我们传入每个用户的搜索词列,表经过NLPIR分词工具得到的分词。之后,我们做个进一步的优化策略:
3.1.1 去停用词
我们根据分词后词语所带的词性,对一些特征代表性不够强的词语进行过滤:
for(int i = 0;i < sbtmp.length();++i){
char cc = sbtmp.charAt(i);
if(cc == ' '){
sbtmp.deleteCharAt(i);
--i;
} else if(cc == '/'){
// 去词条件
Boolean isdel =
// 1.去标点
(i + 1 < sbtmp.length()&& sbtmp.charAt(i + 1)== 'w')
// 2.疑问词
||(i + 2 < sbtmp.length()&& sbtmp.charAt(i + 1)== 'r'
&& sbtmp.charAt(i + 2)== 'y')
// 3.数字
||(i + 1 < sbtmp.length()&& sbtmp.charAt(i + 1)== 'm')
// 4.连词
||(i + 1 < sbtmp.length()&& sbtmp.charAt(i + 1)== 'c')
// 5.副词
||(i + 1 < sbtmp.length()&& sbtmp.charAt(i + 1)== 'd')
// 6.叹词
||(i + 1 < sbtmp.length()&& sbtmp.charAt(i + 1)== 'e')
// 7.拟声词
||(i + 1 < sbtmp.length()&& sbtmp.charAt(i + 1)== 'o')
// 8.介词
||(i + 1 < sbtmp.length()&& sbtmp.charAt(i + 1)== 'p')
// 9.量词
||(i + 1 < sbtmp.length()&& sbtmp.charAt(i + 1)== 'q')
// 10.助词
||(i + 1 < sbtmp.length()&& sbtmp.charAt(i + 1)== 'u')
// 11.纯动词
||(i + 2 < sbtmp.length()&& sbtmp.charAt(i + 1)== 'v'
&& sbtmp.charAt(i + 2)== ' ');
// 去词
if(sbtmp.charAt(i + 1)!= 'n' && sbtmp.charAt(i + 1)!= 'i' && sbtmp.charAt(i + 1)!= 'j'
&& sbtmp.charAt(i + 1)!= 'h'
&&!(i + 2 < sbtmp.length()&& sbtmp.charAt(i + 2)== 'n')){
while(i + 1 < sbtmp.length()&& sbtmp.charAt(i + 1)!= ' '){
sbtmp.deleteCharAt(i + 1);
}
while(i >= 0 && sbtmp.charAt(i)!= ','){
sbtmp.deleteCharAt(i);
--i;
}
}
// 若无需去词,把‘/’转为‘,’,并去除随后的词性标志
else {
sbtmp.setCharAt(i, ',');
while(sbtmp.charAt(i + 1)!= ' '){
sbtmp.deleteCharAt(i + 1);
}
}
}
}
for(int i = 1;i < sbtmp.length()1)== ',' || sbtmp.charAt(i + 1)== ',')){
sbtmp.deleteCharAt(i);
--i;
}
// 去中间单个字
else if(sbtmp.charAt(i1);
sbtmp.deleteCharAt(i1] == Y[j1][j1][j];
//删除X第i个字符
t1 = t1 < dp[i][j1];
//删除Y第j个字符
t1 = t1 < dp[i1] ? t1 : dp[i1];//最后字符改相同
dp[i][j] = t1 + 1;
这里我们所使用的优化方案为:
对整个训练集和测试集的搜索词列做分词后的词频统计表
对每个用户的搜索词列分词后的各个词与词频统计表各词(排除前者自身)进行编辑距离计算。得到词频统计表中编辑距离与该词编辑距离最小词,在这些词中在选择一个词频最高的词将该词替代。4.7 额外增加数据量
在大数据时代背景下,只要数据量足够的大,反而我们所选用的不同的算法模型对最终的预测准确率的影响会变小,获取更多数据会使模型更完善更准确。我们这里用不同方案所得到的分词结果,人为的增加训练集的数据。如将10万条记录的训练集进行NLPIR分词得到结果,与进行”结巴”提取关键词得到的结果拼接,就将训练集记录人为的翻倍了。后续的分类实验中证明了,使用该方案,在模型相同的情况下,相比原来会有1%左右的准确率的提升。
5.聚类与降维
2009年结束的Nexfix竞赛表明,很多参数团队用到的高等矩阵因子分解对模型提高预测准确略非常有帮助。模型使用矩阵因子分解方法从特征矩阵中抽取一组潜在的属性,并通过这些属性来描述用户。20世纪80年代后期,利用潜在的”语义”属性的思想被成功的应用于信息检索领域。Deerwesteret al.在1990年提出使用奇异值分解(SVD)方法发现文档中的潜在的属性。[2]而本课题在实验中会使用到LDA方法。
5.1 LDA
隐含狄利克雷分配(LDA,Latent Dirichlet Allocation)是一种主题模型(Topic Model,即从所收集的文档中推测主题)。甚至可以说LDA模型现在已经成为了主题建模中的一个标准,是实践中最成功的主题模型之一。那么何谓“主题”呢?,就是诸如一篇文章、一段话、一个句子所表达的中心思想。不过从统计模型的角度来说,我们是用一个特定的词频分布来刻画主题的,并认为一篇文章、一段话、一个句子是从一个概率模型中生成的。也就是说 在主题模型中,主题表现为一系列相关的单词,是这些单词的条件概率。形象来说,主题就是一个桶,里面装了出现概率较高的单词(参见下面的图),这些单词与这个主题有很强的相关性。这里写图片描述
LDA可以用来识别大规模文档集或语料库中潜藏的主题信息。它采用了词袋的方法,这种方法将每一篇文档视为一个词频向量,从而将文本信息转化为了易于建模的数字信息。但是词袋方法没有考虑词与词之间的顺序,这简化了问题的复杂性,同时也为模型的改进提供了契机。每一篇文档代表了一些主题所构成的一个概率分布,而每一个主题又代表了很多单词所构成的一个概率分布。
LDA可以被认为是如下的一个聚类过程:
各个主题(Topics)对应于各类的“质心”,每一篇文档被视为数据集中的一个样本。
主题和文档都被认为存在一个向量空间中,这个向量空间中的每个特征向量都是词频(词袋模型)
与采用传统聚类方法中采用距离公式来衡量不同的是,LDA使用一个基于统计模型的方程,而这个统计模型揭示出这些文档都是怎么产生的。5.1.1 模型训练
Spark API 参数介绍:
K:主题数量(或者说聚簇中心数量)
maxIterations:EM算法的最大迭代次数,设置足够大的迭代次数非常重要,前期的迭代返回一些无用的(极其相似的)话题,但是继续迭代多次后结果明显改善。我们注意到这对EM算法尤其有效。,至少需要设置20次的迭代,50-100次是更合理的设置,取决于数据集。
docConcentration(Dirichlet分布的参数α):文档在主题上分布的先验参数(超参数α)。当前必须大于1,值越大,推断出的分布越平滑。默认为-1,自动设置。topicConcentration(Dirichlet分布的参数β):主题在单词上的先验分布参数。当前必须大于1,值越大,推断出的分布越平滑。默认为-1,自动设置。checkpointInterval:检查点间隔。maxIterations很大的时候,检查点可以帮助减少shuffle文件大小并且可以帮助故障恢复。
val lda=new LDA()
.setK(20)
.setOptimizer(“online”)
.setCheckpointInterval(10)
.setMaxIter(100)
val model=lda.fit(dataset_lpa)
5.1.2 模型评价
生成的model不仅存储了推断的主题,还包括模型的评价方法。模型的评价指标:logLikelihood,logPerplexity。logLikelihood越大越好,logPerplexity越小越好
val ll = model.logLikelihood(dataset_lpa)
val lp = model.logPerplexity(dataset_lpa)
用评价方法,在online 方法下,对setMaxIter进行调参:
for(i<-Array(5,10,20,40,60,120,200,500)){
val lda=new LDA()
.setK(3)
.setTopicConcentration(3)
.setDocConcentration(3)
.setOptimizer(“online”)
.setCheckpointInterval(10)
.setMaxIter(i)
val model=lda.fit(dataset_lpa)
val ll = model.logLikelihood(dataset_lpa)
val lp = model.logPerplexity(dataset_lpa)
println(s“$i $ll”)
println(s“$i $lp”)}
可以看到,logPerplexity在减小,LogLikelihood在增加,最大迭代次数需要设置50次以上,才能收敛:
5.1.3 对语料的主题进行聚类
val topicsProb=model.transform(dataset_lpa)
topicsProb.select(“label”, “topicDistribution”)show(false)
/**
+-----++
|label|topicDistribution
|
+-----++
|0.0 |[0.***,0.***147,0.***77] |
|1.0 |[0.***3,0.***623,0.***]
|
|2.0 |[0.***7,0.***417,0.***]
|
...*/
label是文档序号,文档中各主题的权重,我们可以将该DataFrame带入后续的分类器中,进行训练。
5.1.4 其他聚类与降维
Spark在基于RDD的MLlib中还提供了SVD、PCA的降维方法,而基于DataFrame的聚类方法还包括k-means、Bisecting k-means和Gaussian Mixture,其中Gaussian Mixture提供的API类似与LDA,可以直接为我们返回文档中各主题的权重,以便于后续的分类。但是由于LDA在主题聚类上的典型性,我们的课题实验只试验了LDA的方案