前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >NLP 点滴 :文本相似度 (中)

NLP 点滴 :文本相似度 (中)

原创
作者头像
肖力涛
修改于 2017-08-23 01:49:46
修改于 2017-08-23 01:49:46
3.5K00
代码可运行
举报
文章被收录于专栏:肖力涛的专栏肖力涛的专栏
运行总次数:0
代码可运行

《NLP 点滴 :文本相似度 (上)》

背景知识

自然语言处理领域中,有两大理论方向,一种是基于统计的经验主义方法,另一种是基于规则的理性主义方法[15]。而随着计算机性能的提升,以及互联网发展而得到的海量语料库,目前NLP的研究更多是基于统计的经验主义方法。所以在本文讨论的语义相似性中,也是从统计学的角度出发进行总结。

统计语言模型

对于统计语言模型而言,最基础的理论便是贝叶斯理论(Bayes’ theorem PS.关于贝叶斯理论强烈推荐:数学之美番外篇:平凡而又神奇的贝叶斯方法,一篇深入浅出的好文。另外推荐下自己师兄参与翻译的作品《贝叶斯方法——概率编程与贝叶斯推断》很全面的贝叶斯理论+实践书籍)。对于大规模语料库,我们可以通过词频的方式来获取概率,例如100个句子中,出现了1次”Okay”,那么

而同样的对于句子”An apple ate the chicken”我们可以认为其概率为0,因为这不符合我们说话的逻辑。 统计语言模型是用来计算一个句子的概率,其通常基于一个语料库D来构建。如何表示一个句子的概率呢?我们用来表示一个基元(通常就是指词语,也可以是字或短语),那么对于一个由N个词组成的句子W可以表示为

那么其联合概率

就可以认为是该句子的概率,根据贝叶斯公式的链式法则可以得到:

其中条件概率

便是语言模型的参数,如果我们把这些全部算出来,那么一个句子的概率我们就能很轻易的得出。但是很明显,这个参数的量是巨大的是无法计算的。这时我们可以将

映射到某个等价类

,从而降低参数数目。

ps.语料库我们用C表示,而词典D一般为语料中出现的所有不重复词

n-gram模型

既然每个单词依赖的单词过多,从而造成了参数过多的问题,那么我们就简单点,假设每个单词只与其前n-1个单词有关,这便是n-1阶Markov假设,也就是n-gram模型的基本思想。 那么对于句子W的概率我们可以简化如下:

那么对于最简单的一阶情况也称unigram或uni-gram或monogram(二阶bigram 三阶trigram)就简单表示为

为了在句首和句尾能够统一,我们一般会在句首加一个BOS标记,句尾加一个EOS标记,那么对于句子”Mark wrote a book”,其概率可以表示如下:

为了预估条件概率,根据大数定理,简单统计语料库中

出现的频率,并进行归一化。我们用c来表示频率,那么可表示如下:

其中分母在unigram中就可以简单认为是词语

出现的次数。

在n-gram模型中还有一个很重要的问题就是平滑化,因为再大的语料库都不可能涵盖所有情况,考虑两个问题:

那么

就是0吗?

那么

就是1吗?

这显然是不合理的,这就需要进行平滑,这里不展开讨论。 根据最大似然,我们可以得到:

其中C表示语料库,

表示词语的上下文,而这里对于n-gram模型

,取对数后的对数似然函数为:

从上式我们可以看出

可以看做是

关于

的函数,即:

其中

为待定参数集,通过语料库训练得到参数集后,F便确定了,我们不需要再存储概率

,可以直接计算得到,而语言模型中很关键的就在于F的构造

词向量

为了从使得计算机从语义层面理解人类语言,首先要做的就是将语言数学化,如何进行表示呢?人们便提出了词向量的概念,即用一个向量来表示一个词。

One-hot Representation

一种最简单词向量就是利用词频向量将高维的语义空间抽象成数学符号表示,向量长度为词典

的大小

,这种表示方式非常直观,但是容易造成维度灾难,并且还是不能刻画语义的信息。

词语表示

对于词语而言,用一个向量来表示一个词,最直观简单的方式就是将每个词变为一个很长的向量,向量长度

便是词典的长度,其中绝大部分为0,只有一个维度为1代表了当前词。 假设语料库:“冲突容易引发战争”,那么词典为

  • D=[冲突,容易,引发,战争]
  • 冲突=[1,0,0,0]
  • 战争=[0,0,0,1]

每个词都是含有一个1的n维向量(

),这种方式我们压缩存储下,就是给每个词语分配一个ID,通常实际变成我们最简单的就是用hash值表示一个词语。这种方式可以用在SVM、最大熵和CRF等等算法中,完成NLP的大多数场景。例如,我们可以直接将 但是缺点很明显,就是我们用这种方式依旧无法度量两个词的语义相似性,任意两个词之间都是孤立的,比如上面的冲突和战争是近义词,但是却没有任何关联性。

文档表示

同样文档也可以用词频向量的形式来表示,一般我们会利用tf-idf作为每一个词的特征值,之后会挑选每篇文档比较重要的部分词来表示一篇文档,拿游戏来说,如下: [王者荣耀, 阴阳师, 梦幻西游]

  • doc1:[tf-idf(王者荣耀), tf-idf(阴阳师), tf-idf(梦幻西游)]
  • doc2:[tf-idf(王者荣耀), tf-idf(阴阳师), tf-idf(梦幻西游)]

然后我们就可以利用K-means等聚类算法进行聚类分析,当然对于每篇文档,一般我们只会选取部分词汇,因为如果词汇过多可能造成NLP中常见的维度“灾难”。这种方式在大多数NLP场景中都是适用的,但是由于这种表示往往是建立在高维空间,为了避免维度灾难就要损失一定的语义信息,这也是这种方法的弊端。

Distributed representation

另外一种词向量的表示Distributed representation最早由 Hinton在 1986年提出。它是一种低维实数向量,这种向量一般长成这个样子:

[0.792, −0.177, −0.107, 0.109, −0.542, …]

维度以 50 维和 100 维比较常见,当然了,这种向量的表示不是唯一的。

Distributed representation的关键点在于,将高维空间中的词汇映射到一个低维的向量空间中,并且让相关或者相似的词,在距离上更接近(看到这里大家有没有想到普通hash以及simhash的区别呢?),这里引用一张图片(来自[13]):

图中是英语和西班牙语通过训练分别得到他们的词向量空间,之后利用PCA主成分分析进行降维表示在二维坐标图中的。我们可以清晰的看出,对于两种语系的一二三四五,在空间距离上竟是如此的相似,这就是Distributed representation词向量表示的意义所在。

这种采用低维空间表示法,不但解决了维数灾难问题,并且挖掘了word之间的关联属性,从而提高了向量语义上的准确度,下面我们讨论的语言模型都是基于这种词向量表示方式。

PS. 有时候也会出现Word Represention或 Word Embedding(所谓词嵌入)的说法。另外我们这里说的词向量是在词粒度进行分析,当然我们也可以在字粒度的字向量、句子粒度的句向量以及文档粒度的文档向量进行表示分析。

主题模型

在长文本的篇章处理中,主题模型是一种经典的模型,经常会用在自然语言处理、推荐算法等应用场景中。本节从LDA的演变过程对LDA进行阐述,然后就LDA在长文本相似性的判断聚类上做简要说明。

LSA

首先对于一篇文档Document,词语空间的一个词频向量

如下:

其中每个维度表示某一词语term在该文档中出现的次数,最终对于大量的训练样本,我们可以得到训练样本的矩阵X,如下图:

LSA的基本思想,便是利用最基本的SVD奇异值分解,将高维语义空间映射到低维空间,其流程如下:

这样对于训练样本中词表的每一个term我们便得到了一个低维空间的向量表示。但LSA的显著问题便是值考虑词频,并不区分同一词语的不同含义

PLSA

LSA基于最基本的SVD分解,但缺乏严谨的数理统计逻辑,于是Hofmann提出了PLSA,其中P便是Probabilistic,其基本的假设是每个文档所表示的词频空间向量w服从多项式分布(Multinomial distribution

简单扯两句多项式分布:

  • 伯努利分布Bernoulli distribution)我们从接触概率论开始便知道,即所谓的投硬币,其离散分布如下:

但是吊吊的数学家们总喜欢做一些优雅的让人看不懂的事情,所以也可以写作如下公式:

其中k为0或者1

如果进行次投硬币实验,计算出现m次正面朝上的概率 伯努利分布是二项分布中n=1时的特殊情况

  • Categorical分布(Categorical distribution),如果我们将投硬币改成掷骰子,那么原来一维向量x就会变成一个六维向量,其中每一维度为1表示出现该面,0表示没出现,用数学表示即对于随机变量X有k中情况,其中第

种情况出现的概率为

那么我们可以得到其离散概率分布如下:

其中如果

那么

为1,否则为0

  • 多项式分布Multinomial distribution):与二项分布类似,Categorical分布进行N次试验,便得到多项式分布:

同样我们可以写成吊吊的形式:

其中

gamma函数:当n>0,则

(ps.该形式与狄利克雷分布(Dirichlet distribution)的形式非常相似,因为多项式分布是狄利克雷分布的共轭先验)

OK简单梳理了下过去的知识,PLSA假设每篇文档的词频向量服从Categorical分布,那么对于整个训练样本的词频矩阵W则服从多项式分布。PLSA利用了aspect model,引入了潜在变量z(即所谓主题),使其变成一个混合模型(mixture model)。其图模型如下:

其中

表示文档集,Z便是PLSA中引入的隐含变量(主题/类别),

表示词表。

表示单词出现在文档

的概率,

表示文档

中出现主题下的单词的概率,

给定主题

出现单词

的概率。其中每个主题在所有词项上服从Multinomial分布,每个文档在所有主题上服从Multinmial分布。按照生成模型,整个文档的生成过程如下:

(1)

以的概率生成文档

(2)

以的概率选中主题

(3)

以的概率产生一个单词

那么对于单词

出现在文档

的联合概率分布,而

是隐含变量。

其中

分别对应了两组Multinomial分布,PLSA需要训练两组分布的参数

LDA

有了PLSA,那么LDA就相对简单了,其相当于贝叶斯(Bayes’ theorem PS.关于贝叶斯理论强烈推荐:数学之美番外篇:平凡而又神奇的贝叶斯方法,一篇深入浅出的好文)PLSA即: LDA=Bayesian pLSA

为什么这么说呢?我们站在贝叶斯理论的角度看上文提到的PLSA,基于上文的阐述,我们知道PLSA的假设是文档-词语的词频矩阵服从多项式分布(multinomial distribution),那么在贝叶斯理论中,相当于我们找到了似然函数,那么想要计算后验概率时,我们需要找到先验概率。

简单扯两句共轭先验:

根据贝叶斯理论我们有如下形式:

OK其中

我们可以成为似然函数即一件事情发生的似然性(最大似然估计),那么

相当于先验概率分布,一般

为一个常数,所以忽略。那么对于计算后验概率,我们需要找到似然函数和先验分布。

一般当我们已知似然函数的形式的时候,我们需要找到先验分布,那么对于所有满足[0,1]区间内的分布都符合这个条件,为了计算简单,我们采用与似然函数形式尽量一致的分布作为先验分布,这就是所谓的共轭先验。

在上文中介绍多项式分布时提到了Dirichlet分布,我们看多项式分布的形式如下:

那么我们需要找寻形式相似如下的分布:

而Dirichlet分布的形式如下:

看出来了吧,去掉左边的Beta分布不说,在右边的形式上Dirichlet分布和Multinomial分布是及其相似的,所以Dirichlet分布是Multinomial分布的共轭先验。

再回到LDA,根据之前分析的PLSA可知,每个文档中词的Topic分布服从Multinomial分布,其先验选取共轭先验即Dirichlet分布;每个Topic下词的分布服从Multinomial分布,其先验也同样选取共轭先验即Dirichlet分布。其图模型如下:

我们可以看出LDA中每篇文章的生成过程如下:

  1. 选择单词数N服从泊松分布,

,

  1. 选择

服从狄利克雷分布,

,

  1. 对于N个单词中的每个单词

a. 选择一个主题

,服从多项分布

, b. 以概率

生成单词

,其中

表示在主题

上的条件多项式概率。

在LDA中我们可以利用

来表示一篇文档。

应用

从之前LDA的阐述中,我们可以利用

来表示一篇文档,那么我们自然可以利用这个向量对文档进行语义层面的词语和文档的相似性分析从而达到聚类、推荐的效果。当然了LDA本身对于文档分析出的主题,以及每个主题下的词汇,就是对于文档词汇的一层低维聚类。 之前用过GitJava版的LDA实现,但是语料不是很大,对其性能并不能做出很好的评估。其地址如下:

github: A Java implemention of LDA(Latent Dirichlet Allocation)

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
public static void main(String[] args)
{
    // 1. Load corpus from disk
    Corpus corpus = Corpus.load("data/mini");
    // 2. Create a LDA sampler
    LdaGibbsSampler ldaGibbsSampler = new LdaGibbsSampler(corpus.getDocument(), corpus.getVocabularySize());
    // 3. Train it
    ldaGibbsSampler.gibbs(10);
    // 4. The phi matrix is a LDA model, you can use LdaUtil to explain it.
    double[][] phi = ldaGibbsSampler.getPhi();
    Map<String, Double>[] topicMap = LdaUtil.translate(phi, corpus.getVocabulary(), 10);
    LdaUtil.explain(topicMap);
}

其采用吉布斯采样的方法对LDA进行求解。之后自己也准备尝试用spark进行实现,看是否能够对性能进行优化。

Word2Vec

谷歌的Tomas Mikolov团队开发了一种词典和术语表的自动生成技术,能够把一种语言转变成另一种语言。该技术利用数据挖掘来构建两种语言的结构模型,然后加以对比。每种语言词语之间的关系集合即“语言空间”,可以被表征为数学意义上的向量集合。在向量空间内,不同的语言享有许多共性,只要实现一个向量空间向另一个的映射和转换,语言翻译即可实现。该技术效果非常不错,对英语和西语间的翻译准确率高达90%。

什么是word2vec?你可以理解为word2vec就是将词表征为实数值向量的一种高效的算法模型,其利用神经网络(关于神经网络之前有简单进行整理:马里奥AI实现方式探索 ——神经网络+增强学习),可以通过训练,把对文本内容的处理简化为K维向量空间中的向量运算,而向量空间上的相似度可以用来表示文本语义上的相似。(PS. 这里往往人们会将word2vec和深度学习挂钩,但其实word2vec仅仅只是用了一个非常浅层的神经网络,跟深度学习的关系并不大。)

Word2vec输出的词向量可以被用来做很多NLP相关的工作,比如聚类、找同义词、词性分析等等。如果换个思路, 把词当做特征,那么Word2vec就可以把特征映射到K维向量空间,可以为文本数据寻求更加深层次的特征表示 。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
通俗理解LDA主题模型
0 前言 印象中,最开始听说“LDA”这个名词,是缘于rickjin在2013年3月写的一个LDA科普系列,叫LDA数学八卦,我当时一直想看来着,记得还打印过一次,但不知是因为这篇文档的前序铺垫太长(现在才意识到这些“铺垫”都是深刻理解LDA 的基础,但如果没有人帮助初学者提纲挈领、把握主次、理清思路,则很容易陷入LDA的细枝末节之中),还是因为其中的数学推导细节太多,导致一直没有完整看完过。 理解LDA,可以分为下述5个步骤: 一个函数:gamma函数 四个分布:二项分布、多项分布、beta分布、Dir
机器学习AI算法工程
2018/03/13
20.7K0
通俗理解LDA主题模型
基于LDA的文本主题聚类Python实现
LDA(Latent Dirichlet Allocation)是一种文档主题生成模型,也称为一个三层贝叶斯概率模型,包含词、主题和文档三层结构。所谓生成模型,就是说,我们认为一篇文章的每个词都是通过“以一定概率选择了某个主题,并从这个主题中以一定概率选择某个词语”这样一个过程得到。文档到主题服从多项式分布,主题到词服从多项式分布。
里克贝斯
2021/05/21
3.9K0
基于LDA的文本主题聚类Python实现
我是这样一步步理解--主题模型(Topic Model)、LDA(案例代码)
关于LDA有两种含义,一种是线性判别分析(Linear Discriminant Analysis),一种是概率主题模型:隐含狄利克雷分布(Latent Dirichlet Allocation,简称LDA),本文讲后者。
mantch
2019/07/30
3.5K0
我是这样一步步理解--主题模型(Topic Model)、LDA(案例代码)
技术干货 | 一文详解LDA主题模型
作者简介 夏琦,达观数据NLP组实习生,就读于东南大学和 Monash University,自然语言处理方向二年级研究生,师从知识图谱专家漆桂林教授。曾获第五届“蓝桥杯”江苏省一等奖、国家二等奖。 本篇博文将详细讲解LDA主题模型,从最底层数学推导的角度来详细讲解,只想了解LDA的读者,可以只看第一小节简介即可。PLSA和LDA非常相似,PLSA也是主题模型方面非常重要的一个模型,本篇也会有的放矢的讲解此模型。如果读者阅读起来比较吃力,可以定义一个菲波那切数列,第 f(n) = f(n-1) + f
达观数据
2018/03/30
3.4K0
技术干货 | 一文详解LDA主题模型
文本相似度算法小结
首先是最简单粗暴的算法。为了对比两个东西的相似度,我们很容易就想到可以看他们之间有多少相似的内容,又有多少不同的内容,再进一步可以想到集合的交并集概念。
Marky Lumin
2018/02/06
5.4K0
文本相似度算法小结
LDA主题模型 | 原理详解与代码实战
很久之前的LDA笔记整理,包括算法原理介绍以及简单demo实践,主要参考自July老师的<通俗理解LDA主题模型>。
NewBeeNLP
2020/08/26
9.1K0
LDA主题模型 | 原理详解与代码实战
技术干货:一文详解LDA主题模型
本文介绍了自然语言处理中的文本分类任务,以及常用的文本分类算法。包括朴素贝叶斯分类器、支持向量机、逻辑回归和神经网络等。还介绍了这些算法的具体实现步骤和优缺点,以及适用场景。
企鹅号小编
2017/12/27
1.5K0
技术干货:一文详解LDA主题模型
LDA详解:自然语言处理
      LDA,其实有两种含义,一种是统计学中的分析方法:线性判别分析(Linear Discriminant Analysis),一种概率主题模型:隐含狄利克雷分布(Latent Dirichlet Allocation,简称LDA),本文阐述后者。       LDA(Latent Dirichlet Allocation)是一种文档主题生成模型,也称为一个三层贝叶斯概率模型,包含词、主题和文档三层结构。一个模型:LDA(文档-主题,主题-词语)       所谓生成模型,就是说,我们认为一篇
学到老
2018/03/16
1.6K0
NLP 点滴 :文本相似度 (下)
本文介绍了自然语言处理中的文本相似度计算方法和模型,包括余弦相似度、Jaccard相似度、编辑距离、基于词向量的方法、概率语言模型等。这些方法在文本分类、聚类、机器翻译等任务中都有广泛应用。
肖力涛
2017/08/24
3.4K1
NLP 点滴 :文本相似度 (下)
Kaggle知识点:文本相似度计算方法
文本相似度是指衡量两个文本的相似程度,相似程度的评价有很多角度:单纯的字面相似度(例如:我和他 v.s. 我和她),语义的相似度(例如:爸爸 v.s. 父亲)和风格的相似度(例如:我喜欢你 v.s. 我好喜欢你耶)等等。
Coggle数据科学
2021/02/23
2.9K0
Kaggle知识点:文本相似度计算方法
15分钟入门NLP神器—Gensim
作为自然语言处理爱好者,大家都应该听说过或使用过大名鼎鼎的Gensim吧,这是一款具备多种功能的神器。 Gensim是一款开源的第三方Python工具包,用于从原始的非结构化的文本中,无监督地学习到文本隐层的主题向量表达。 它支持包括TF-IDF,LSA,LDA,和word2vec在内的多种主题模型算法, 支持流式训练,并提供了诸如相似度计算,信息检索等一些常用任务的API接口
机器学习算法工程师
2018/07/27
1.9K0
python文本相似度计算
两篇中文文本,如何计算相似度?相似度是数学上的概念,自然语言肯定无法完成,所有要把文本转化为向量。两个向量计算相似度就很简单了,欧式距离、余弦相似度等等各种方法,只需要中学水平的数学知识。
周小董
2019/03/25
5.1K0
python文本相似度计算
技术干货 | 如何做好文本关键词提取?从三种算法说起
在自然语言处理领域,处理海量的文本文件最关键的是要把用户最关心的问题提取出来。而无论是对于长文本还是短文本,往往可以通过几个关键词窥探整个文本的主题思想。与此同时,不管是基于文本的推荐还是基于文本的搜索,对于文本关键词的依赖也很大,关键词提取的准确程度直接关系到推荐系统或者搜索系统的最终效果。因此,关键词提取在文本挖掘领域是一个很重要的部分。 关于文本的关键词提取方法分为有监督、半监督和无监督三种: 1 有监督的关键词抽取算法 它是建关键词抽取算法看作是二分类问题,判断文档中的词或者短语是或者不是关键词
达观数据
2018/04/02
5.6K0
技术干货 | 如何做好文本关键词提取?从三种算法说起
Word2Vec,LDA 知识普及
Word2vec,Word2vec,是为一群用来产生词向量的相关模型。这些模型为浅而双层的神经网络,用来训练以重新建构语言学之词文本。网络以词表现,并且需猜测相邻位置的输入词,在word2vec中词袋模型假设下,词的顺序是不重要的。训练完成之后,word2vec模型可用来映射每个词到一个向量,可用来表示词对词之间的关系,该向量为神经网络之隐藏层。
热心的社会主义接班人
2018/10/22
6750
自然语言处理技术(NLP)在推荐系统中的应用
个性化推荐是大数据时代不可或缺的技术,在电商、信息分发、计算广告、互联网金融等领域都起着重要的作用。具体来讲,个性化推荐在流量高效利用、信息高效分发、提升用户体验、长尾物品挖掘等方面均起着核心作用。在推荐系统中经常需要处理各种文本类数据,例如商品描述、新闻资讯、用户留言等等。具体来讲,我们需要使用文本数据完成以下任务: 候选商品召回。候选商品召回是推荐流程的第一步,用来生成待推荐的物品集合。这部分的核心操作是根据各种不同的推荐算法来获取到对应的物品集合。而文本类数据就是很重要的一类召回算法,具有不依赖用户
CSDN技术头条
2018/02/13
3.7K0
自然语言处理技术(NLP)在推荐系统中的应用
Notes | 文本大数据信息提取方法
本文为刊载于《经济学(季刊)》2019 年第 4 期上《文本大数据分析在经济学和金融学中的应用:一个文献综述》[1]的阅读笔记。原论文详细综述了文本大数据信息提取方法、文本分析方法在经济学和金融学中的应用,是了解文本分析方法在经济学研究中应用的好材料。本篇笔记聚焦论文的第二部分,即文本大数据信息提取方法,旨在为文本分析方法的学习和日后研究运用提供基本认识。
PyStaData
2020/07/21
2.8K0
Notes | 文本大数据信息提取方法
【AI in 美团】深度学习在文本领域的应用
AI(人工智能)技术已经广泛应用于美团的众多业务,从美团App到大众点评App,从外卖到打车出行,从旅游到婚庆亲子,美团数百名最优秀的算法工程师正致力于将AI技术应用于搜索、推荐、广告、风控、智能调度、语音识别、机器人、无人配送等多个领域,帮助美团3.2亿消费者和400多万商户改善服务和体验,帮大家吃得更好,生活更好。
美团技术团队
2018/08/01
7360
【AI in 美团】深度学习在文本领域的应用
机器学习概念总结笔记(四)
作者:许敏 系列推荐 机器学习概念总结笔记(一) 机器学习概念总结笔记(二) 机器学习概念总结笔记(三) 21)KMeans 聚类分析是一种静态数据分析方法,常被用于机器学习,模式识别,数据挖掘等领域
serena
2017/10/09
2.2K0
机器学习概念总结笔记(四)
教程 | 一文读懂如何用LSA、PSLA、LDA和lda2vec进行主题建模
在自然语言理解任务中,我们可以通过一系列的层次来提取含义——从单词、句子、段落,再到文档。在文档层面,理解文本最有效的方式之一就是分析其主题。在文档集合中学习、识别和提取这些主题的过程被称为主题建模。
机器之心
2018/07/30
1.7K0
教程 | 一文读懂如何用LSA、PSLA、LDA和lda2vec进行主题建模
神策杯 2018高校算法大师赛(个人、top2、top6)方案总结
神策数据推荐系统是基于神策分析平台的智能推荐系统。它针对客户需求和业务特点,并基于神策分析采集的用户行为数据使用机器学习算法来进行咨询、视频、商品等进行个性化推荐,为客户提供不同场景下的智能应用,如优化产品体验,提升点击率等核心的业务指标。 神策推荐系统是一个完整的学习闭环。采集的基础数据,通过机器学习的算法模型形成应用。效果实时验证,从而指导添加数据源,算法优化反馈形成一个全流程、实时、自动、可快速迭代的推荐闭环。
致Great
2021/01/13
1.4K0
相关推荐
通俗理解LDA主题模型
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验