简单来说就是分析用户喜欢看的文章类型,得到用户的兴趣偏好,在这样的基础上,对用户进行内容的个性化推荐和push推送,来有效促进app的活跃并拉长用户生命周期。
这件事情简单来说其实就是两步走:
一是,给文章进行分类,也就是我们俗称的给文章打标签。
二是,给用户打标签,也就是用户阅读了哪些类型的文章,相应的就会获取到自己的兴趣偏好标签。
那么在实际操作中真的如此简单吗?看似简单的两个环节,究竟是如何实现的呢?
一般情况下有三种方式获取样本:
一是人工对文章进行标注,优点是准确,缺点是效率低,对于算法要求大量样本的要求,成本非常高。
而另一种方式则是通过一些开源网站提供的关键词进行模型训练,比如可以从搜狗词库获取,优点是成本低,但缺点也很明显,由于不同的分类体系对部分分类的理解不一致,导致分类并不够准确,后期需要耗费大量的人力进行矫正。
第三种方式是和一些资讯类app进行合作,获取他们的文章以及分类作为样本,例如目前做的比较好的如今日头条、uc等都是不错的选择。
获取样本以后,就是算法模型的训练及其检验了。算法模型的训练原理,即通过对样本文章进行分词,抽取实体,建立特征工程,将每一个特征词作为向量,拟合出一个函数,这样,当有新的文章时,该文章通过分词,并通过模型计算出结果。但模型并不是能够有样本一次性就能准确的,模型还需要进行测试和矫正。
APP开发
通过了测试的模型也并不是一劳永逸的,仍然可能在后期出现一些分类不准确的问题,这可能是样本造成的,也可能是算法模型造成的。这需要我们找出这些异常的文章及其分类,并矫正分类,再次作为训练样本投喂给模型,进行模型的矫正。一方面,我们可以对转化率比较低的分类的文章进行人工抽检,确定问题是否出在算法。另外,在这里,由于每一篇文章的标签都被赋予了一个值,我们可以为这些值设置一个阈值,当最高值低于某个阈值,这些文章及其标签将被召回,由人工进行标注和矫正,并在此投入样本库中。
文章标签的计算,由于文章具有多种标签的可能,并非一些二分类非此即彼的结果,因此我们采用的方式是,通过相似性算法,模型计算出文章的标签,并赋值,值越高则说明和这类标签越接近,并被打上相应标签。