首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

利用 Python、SciKit 和文本分类来实现行为分析(1)简介

利用 Python、SciKit 和文本分类来实现行为分析(1)简介

简介几乎所有人都会购物。从基本的必需品(比如食品)到娱乐产品(比如音乐专辑),我们会购买各种各样的物品。当购物时,我们不仅会寻找在生活中用到的东西,也会在表达我们对某些社会群体的兴趣。我们的在线行为和决策塑造了我们自己的行为特征。
当购买产品时,该产品具有多个属性,这使得它类似或不同于其他产品。例如,一个产品的价格、大小或类型都是它的不同特征。除了这些数值或枚举类的结构化属性之外,还有非结构化的文本属性。例如,产品描述或客户评论的文本也构成了其明显的特征。
对于从这些非结构化文本属性中提取有意义的东西而言,文本分析和其他自然语言处理(NLP)技术非常有帮助,而这对行为分析等任务又很有价值。
本文将介绍如何使用文本分类来构建行为描述模型。文中将展示如何使用 SciKit 这个强大的基于 Python                的机器学习包来实现模型构造和评估,还会对模拟的客户及其产品购买历史记录应用该模型。在这种特定的场景中,将会构造一个模型,向客户分配一些音乐听众感兴趣的特色内容,比如狂欢、哥特或金属音乐。该分配是以每个客户的购买的具体产品和相应的文本产品说明为基础的。
音乐行为描述场景请看下面的场景。您有一个包含许多客户个人资料的数据集。每个客户个人资料都包括客户已经购买的所有产品的一个简洁的、基于自然语言的描述列表。下面是一款靴子的示例产品描述。
描述:这一款男装搭扣靴子是一双哥特式靴子,具有暗波纹亚文化气息,靴子的铆钉头带来了业内的最新时尚​​。这款靴子采用了合成的人造皮革鞋面,鞋带正面使用的是交叉扣,这种交叉一直延续到了鞋统,鞋底是橡胶大底,底部采用了花纹底,而前帮则采用了战斗风格,内侧配有拉链,方便穿鞋和脱鞋。鞋统                    13.5 英寸,腿部开口周长约 16 英寸。(鞋码为 9.5。)风格:男装搭扣靴子。
我们的目标是根据这些产品描述,将每位当前用户和未来用户分类到某个行为配置文件中。
如下所示,负责人使用产品示例来建立行为特征、行为模型、客户特征,以及最终的客户行为特征。
图 1. 构建客户行为特征的高层次方法第一步是假设负责人的作用,并向系统提供对每个行为特征的理解。实现此操作的一种方法是手动将每个产品的示例放入系统。示例有助于定义行为特征。本次讨论将用户划分到以下音乐行为描述之一:
  • 朋克
  • 哥特
  • 嘻哈
  • 金属
  • 狂欢
向定义为朋克的产品提供示例,比如朋克专辑和乐队的描述,例如,Sex Pistols 的 "Never Mind the                Bollocks"。其他项目可能包括与发型或鞋类相关的产品,比如鸡冠头和 Doc Marten 皮靴。
库、软件和数据的建立这篇文章中所使用的全部数据和源代码都可以从  下载。在下载并解压 tar 文件后,需要确保您拥有 Python,(机器学习和文本分析包),以及所有的依赖关系(比如                numpy、scipy,等等)。如果使用的是 Mac,那么  可能是您最好的选择。
在解压 tar 文件后,您会注意到两个包含简介数据的                     文件。产品描述是通过读取种子语料(或文档的正文)来人工生成的。在生成产品描述的过程中,会考虑到词语在产品描述中出现的频率。 是一个人工的产品描述。
备注:下面的描述并不是一个真正的自然语言描述,但在实际情况中可能会出现这种描述。
清单 1. 人工的产品描述
1
2
3
4
5
customer single clothes for his size them 1978 course group
rhymes have master record-breaking group few starts heard
blue ending company that the band the music packaged
master kilmister not trousers got cult albums heart
commentary cut 20.85 tour...




这个分析包括两个数据文件:
  • customers.yaml:包括一个客户列表。对于每个客户,包括一个产品描述列表,以及目标标签,或正确的                    行为描述。正确的行为描述是指您知道的那个行为描述是正确的。例如,在实际的场景中,将会检查哥特用户的特征数据,以便验证这些购买行为表明该用户是一个哥特用户。
  • behavioral_profiles.yaml:包含描述文件(朋克、哥特等)的列表,以及定义该描述文件的产品描述的样本集。
您可以通过运行命令 python bpro.py -g 生成自己的模拟文件。
备注:必须先在种子目录中填充一些内容,定义感兴趣的流派。进入种子目录,打开任何文件,并了解相关说明。您可以操纵                bpro.py 文件中的参数,以改变产品描述长度、噪声量、训练示例的数量或其他参数。
返回列表