推荐系统 --- 数据工程 --- 用户画像 --- 概述

概述

  • 概念:勾画用户(用户背景、特征、性格标签、行为场景等)和联系用户需求与产品设计的,旨在通过从海量用户行为数据中炼银挖金,尽可能全面细致地抽出一个用户的信息全貌
  • 目标:将定性和定量方法结合在一起
    • 定性化的方法:通过对用户的生活情境、使用场景、用户心智进行分析来对用户的性质和特征做出抽象与概括
    • 定量化:对特征做精细的统计分析与计算,获得对于用户较为精准的认识,便于在数值排序的基础上实现核心用户的发掘与突出
  • ⽤户画像的关键因素
    • 第⼀个是维度
    • 第⼆个是量化
  • 用户画像数据来源
    • 用户注册等基本属性信息往往用户刻画相对静态的画像
    • 丰富的大量的用户行为日志,则是用户捕捉动态画像的重要数据来源
  • 用户画像特性
    • 静态属性:用户性别、年龄、年收入、兴趣爱好、活跃时间、所在城市
    • 动态性:除了基本属性,其他用户行为(比如说观影行为)则是随时间持续增加的。用户会受到周边环境、其他用户等的影响,从而改变其观影偏好。
    • 时空局部性
      • 时间上:用户画像对于时效性非常敏感,距离时间越远,推荐结果的精确性越低,参考价值越差
      • 空间上:不同领域有不同的侧重点。例如:营销领域的用户画像主要侧重用户的消费习惯,而视频推荐领域,用户画像则主要侧重用户的观影喜好

⽤户画像构建的⽅法

  • 思路
    • 第⼀类就是查户⼝
      • 直接使⽤原始数据作为⽤户画像的内容,如注册资料等⼈⼝统计学信息,或者购买历史,阅读历史等,除了数据清洗等⼯作,数据本身并没有做任何抽象和归纳。这就跟查户⼝⼀样,没什么技术含量,但通常对于⽤户冷启动等场景⾮常有⽤
    • 第⼆类就是堆数据
      • ⽅法就是堆积历史数据,做统计⼯作,这是最常⻅的⽤户画像数据,常⻅的兴趣标签,就是这⼀类,就是从历史⾏为数据中去挖掘出标签,然后在标签维度上做数据统计,⽤统计结果作为量化结果。这⼀类数据贡献了常⻅的酷炫⽤户画像。
    • 第三类就是⿊盒⼦
      • 就是⽤机器学习⽅法,学习出⼈类⽆法直观理解的稠密向量,也最不被⾮技术⼈员重视,但实际上在推荐系统中承担的作⽤⾮常⼤
  • 算法
    • 结构化⽂本
      • 从物品端的⽂本信息,我们可以利⽤成熟的 NLP 算法分析得到的信息有下⾯⼏种。
        • 关键词提取:最基础的标签来源,也为其他⽂本分析提供基础数据,常⽤ TF-IDF 和 TextRank。
          • TF-IDF
          • TextRank 是 PageRank 的私⽣⼦之⼀,著名的 PageRank 算法是 Google⽤来衡量⽹⻚重要性的算法,TextRank 算法的思想也与之类似,可以概括为:
            • ⽂本中,设定⼀个窗⼝宽度,⽐如 K 个词,统计窗⼝内的词和词的共现关系,将其看成⽆向图。图就是⽹络,由存在连接关系的节点构成,所谓⽆向图,就是节点之间的连接关系不考虑从谁出发,有关系就对了;
            • 所有词初始化的重要性都是 1;
            • 每个节点把⾃⼰的权重平均分配给“和⾃⼰有连接“的其他节点;
            • 每个节点将所有其他节点分给⾃⼰的权重求和,作为⾃⼰的新权重;
            • 如此反复迭代第 3、4 两步,直到所有的节点权重收敛为⽌。
        • 实体识别:⼈物、位置和地点、著作、影视剧、历史事件和热点事件等,常⽤基于词典的⽅法结合 CRF 模型。
          • CRF模型
        • 内容分类:将⽂本按照分类体系分类,⽤分类来表达较粗粒度的结构化信息。
          • 短⽂本分类⽅⾯经典的算法是 SVM ,在⼯具上现在最常⽤的是 Facebook 开源的 FastText。
        • ⽂本 :在⽆⼈制定分类体系的前提下,⽆监督地将⽂本划分成多个类簇也很常⻅,别看不是标签,类簇编号也是⽤户画像的常⻅构成。
          • 命名实体识别(也常常被简称为 NER,Named-Entity Recognition)在 NLP技术中常常被认为是序列标注问题,和分词、词性标注属于同⼀类问题。
          • 所谓序列标注问题,就是给你⼀个字符序列,从左往右遍历每个字符,⼀边遍历⼀边对每⼀个字符分类,分类的体系因序列标注问题不同⽽不同:
            • 分词问题:对每⼀个字符分类为“词开始”“词中间”“词结束”三类之⼀;
            • 词性标注:对每⼀个分好的词,分类为定义的词性集合的之⼀;
            • 实体识别:对每⼀个分好的词,识别为定义的命名实体集合之⼀。
          • 算法
            • 对于序列标注问题,通常的算法就是隐⻢尔科夫模型(HMM)或者条件随机场(CRF),我们在推荐系统中主要是挖掘出想要的结构化结果,对其中原理有兴趣再去深⼊了解。
            • 实体识别还有⽐较实⽤化的⾮模型做法:词典法。提前准备好各种实体的词典,使⽤ trie-tree 数据结构存储,拿着分好的词去词典⾥找,找到了某个词就认为是提前定义好的实体了。
        • 主题模型:从⼤量已有⽂本中学习主题向量,然后再预测新的⽂本在各个主题上的概率分布情况,也很实⽤,其实这也是⼀种聚类思想,主题向量也不是标签形式,也是⽤户画像的常⽤构成。
          • 传统聚类⽅法在⽂本中的应⽤,今天逐渐被主题模型取代,同样是⽆监督模型,以 LDA 为代表的主题模型能够更准确地抓住主题,并且能够得到软聚类的效果,也就是说可以让⼀条⽂本属于多个类簇。
        • 嵌⼊:“嵌⼊”也叫作 Embedding,从词到篇章,⽆不可以学习这种嵌⼊表达。嵌⼊表达是为了挖掘出字⾯意思之下的语义信息,并且⽤有限的维度表达出来。
          • Word2Vec
    • 标签选择
      • ⽤户在产品上看到了很多我们⽤各种逻辑和理由展示给他的物品,他只从中消费了⼀部分物品。现在问题就是,到底是那些特性吸引了他消费呢?
        • ⼀种简单粗暴的办法是直接把⽤户产⽣过⾏为的物品标签累积在⼀起
        • 我们把⽤户对物品的⾏为,消费或者没有消费看成是⼀个分类问题。⽤户⽤实际⾏动帮我们标注了若⼲数据,那么挑选出他实际感兴趣的特性就变成了特征选择问题。
          • 思路
            • 把物品的结构化内容看成⽂档;
            • 把⽤户对物品的⾏为看成是类别;
            • 每个⽤户看⻅过的物品就是⼀个⽂本集合
            • 在这个⽂本集合上使⽤特征选择算法选出每个⽤户关⼼的东⻄。
          • 算法
            • 卡方检验
              • 卡⽅检验本质上在检验“词和某个类别 C 相互独⽴”这个假设是否成⽴,和这个假设偏离越⼤,就越说明这个词和类别 C 暗中有⼀腿,那当然这个词就是关键词了。
            • 信息增益

用户画像应用领域

  • 搜索引擎
    • Kaltix算法
      • 将具有类似兴趣爱好的人归为一组,为属于不同组的用户给出不同排序的结果
      • 利用IP、位置等信息进行基于规则的过滤
  • 推荐系统
  • 其他业务定制与优化
    • 金融信贷业务

你可能感兴趣的:(人工智能垂直领域,人工智能,big,data,数据挖掘)