求给定精度的简单交错序列部分和_算法面经-NLP部分

7a81d54cb3678a145118167d09af0550.png

概率/统计语言模型 (PLM, SLM)

  • 语言模型是一种对语言打分的方法;而概率语言模型把语言的“得分”通过概率来体现

具体来说,概率语言模型计算的是一个序列作为一句话可能的概率

Score("什么 是 语言 模型") --> 0.05   # 比较常见的说法,得分比较高
Score("什么 有 语言 模型") --> 0.01   # 不太常见的说法,得分比较低

以上过程可以形式化为、

90b1408963357161fbb5b4e180489155.png

根据贝叶斯公式,有

aa6091e2e5ced55e3967963437a90f09.png
  • 其中每个条件概率就是模型的参数;如果这个参数都是已知的,那么就能得到整个序列的概率了

可用的概率模型

  • 统计语言模型实际上是一个概率模型,所以常见的概率模型都可以用于求解这些参数
  • 常见的概率模型有:N-gram 模型、决策树、最大熵模型、隐马尔可夫模型、条件随机场、神经网络等
  • 目前常用于语言模型的是 N-gram 模型和神经语言模型(下面介绍)

N-gram 语言模型

朴素贝叶斯:

条件概率:朴素贝叶斯最核心的部分是贝叶斯法则,而贝叶斯法则的基石是条件概率。贝叶斯法则如下:

041f0b7c342ab1cfe5dce7a729d876df.png

这里的C表示类别,输入待判断数据,式子给出要求解的某一类的概率。我们的最终目的是比较各类别的概率值大小,而上面式子的分母是不变的,因此只要计算分子即可。仍以“坏蛋识别器”为例。我们用C0表示好人,C1表示坏人,

现在100个人中有60个好人,则P(C0)=0.6,那么P(xy|C0)怎么求呢?注意,这里的(xy)是多维的,因为有60个好人,每个人又有“性别”、“笑”、“纹身”等多个特征,这些构成Xy是标签向量,有60个0和40个1构成这里我们假设X的特征之间是独立的,互相不影响,这就是朴素贝叶斯中“朴素”的由来。在假设特征间独立的假设下,很容易得到P(x,y|C0=P(x0,y0|C0)P(x1,y1|C0)...P(xn,yn|C0)。然而,P(xn,yn|C0),n=0,1,...,n如何求呢?有两种情况,涉及到词集模型和词袋模型。接下来我们举个更合适的例子,那就是文本分类。

马尔可夫(Markov)假设——未来的事件,只取决于有限的历史

基于马尔可夫假设,N-gram 语言模型认为一个词出现的概率只与它前面的 n-1 个词相关。

7a13a2b5821cfa552dde91802a83fcfe.png

根据条件概率公式与大数定律,当语料的规模足够大时,有

4d6ef70caa55a0595f4e851c71966512.png

以 n=2 即 bi-gram 为例,有

a0064d0bf9d93ac758650e438f09d48a.png

假设词表的规模 N=200000(汉语的词汇量),模型参数与 `n· 的关系表

1d9c9b7a23b93c83ec342dd80e22899a.png

神经概率语言模型 (NPLM)

神经概率语言模型依然是一个概率语言模型,它通过神经网络来计算概率语言模型中每个参数

N-gram 神经语言模型

  • 【输入层】首先,将 context(w) 中的每个词映射为一个长为 m 的词向量,词向量在训练开始时是随机的,并参与训练;
  • 【投影层】将所有上下文词向量拼接为一个长向量,作为 w 的特征向量,该向量的维度为 m(n-1)
  • 【隐藏层】拼接后的向量会经过一个规模为 h 隐藏层,该隐层使用的激活函数为 tanh
  • 【输出层】最后会经过一个规模为 N 的 Softmax 输出层,从而得到词表中每个词作为下一个词的概率分布
其中 m, n, h 为超参数,N 为词表大小,视训练集规模而定,也可以人为设置阈值
  • 训练时,使用交叉熵作为损失函数
  • 当训练完成时,就得到了 N-gram 神经语言模型,以及副产品词向量
  • 整个模型可以概括为如下公式:

HMM模型

隐马尔可夫模型的三要素

初始状态概率矩阵、状态转移概率矩阵A、观测概率矩阵 B

7d1d8c12212cd1d54ed78f5834d4a7c8.png

马尔可夫链其实是指隐含状态链

隐马尔可夫模型的基本假设

  1. 齐次性假设:即假设隐藏的马尔科夫链在任意时刻t的状态只依赖于其前一时刻的状态,与其他时刻的状态及观测无关,也与时刻t无关;
  2. 观测独立性假设:即假设任意时刻的观测只依赖于该时刻的隐含状态链,与其他观测即状态无关。

https://www.zhihu.com/question/20962240/answer/33438846

三个经典的问题

1)解码问题。即给定模型参数λ=(A,B,Π)和观测序列O={o1,o2,...oT},求最可能出现的对应的隐状态序列,这个问题的求解需要用到基于动态规划的维特比算法。(首先,不管序列多长,要从序列长度为1算起,算序列长度为1时取到每个骰子的最大概率。然后,逐渐增加长度,每增加一次长度,重新算一遍在这个长度下最后一个位置取到每个骰子的最大概率。)

2) 预测问题。即给定模型λ=(A,B,Π) 和隐状态序列O={o1,o2,...oT},计算在模型λ下观测序列O出现的概率P(O|λ),并于实际观测概率比较。这个问题的求解需要用到前向后向算法。(其实就是将所有可能情况的概率进行加和计算。)

3)模型参数学习问题。即给定观测序列O={o1,o2,...oT},估计模型λ=(A,B,Π)的参数,使该模型下观测序列的条件概率P(O|λ)最大。这个问题的求解需要用到基于EM算法的鲍姆-韦尔奇算法

EM算法:

人人都懂EM算法

https://zhuanlan.zhihu.com/p/36331115

在HMM的参数学习问题求解中,大概就是:假设出3组输出概率参数(不准),然后针对相应的观测序列,分别预测出隐状态序列(维特比)。但是发现此时的隐状态不是完全正确的,所以要根据隐状态更新输出概率参数,然后再根据观测序列,预测隐状态。如此反复迭代最后基本不变就是预测对了。

有点类似:Kmeans聚类的过程

应用:序列标注。观测序列为可见句子序列,我们去求概率最大的标注序列(隐状态序列)


特征选择算法:

TF-IDF

字词的重要性随着它在文件中出现的次数成正比增加,但同时会随着它在语料库中出现的频率成反比下降。TF-IDF的主要思想是:如果某个单词在一篇文章中出现的频率TF高,并且在其他文章中很少出现,则认为此词或者短语具有很好的类别区分能力,适合用来分类。

词频(TF)表示词条(关键字)在文本中出现的频率

逆文档频率 (IDF)

8655dae8f63d9a6a96efab1d6af485c9.png

MI互信息

互信息 是事件A和事件B发生相关联而提供的信息量,在处理分类问题提取特征的时候就可以用互信息来衡量某个特征和特定类别的相关性,如果信息量越大,那么特征和这个类别的相关性越大。

IG信息增益

通过某个特征词的缺失与存在的两种情况下,语料中前后信息量的增加,衡量某个特征词的重要性。

CHI卡方检验

卡方检验最基本的思想是 观察实际值和理论值的偏差来确定理论的正确性。 通常先假设两个变量确实是独 立的,然后观察实际值与理论值的偏差程度,如果偏差足够小,那么就认为这两个变量确实是独立的,否则偏差很大,那么就认为这两个变量是相关的。

在文本特征属性选择阶段,一般用“词t与类别c不相关”作出假设,计算出的卡方值越大,说明假设偏离就 越大,假设越不正确。

文本特征属性选择过程为:计算每个词与类别c的卡方值,然后排序取前K大的即可。

卡方检验也有缺陷,会对低频词有所偏袒,这就是著名的‘低频词缺陷’。它统计文档中是否出现词t,却不管t在该文档中出现了几次,这会使得他对低频词有所偏袒(因为它夸大了低频词的作用)。

https://blog.csdn.net/weixin_33809981/article/details/86057120


CRF

随机场的定义:由概率图模型到CRF

在这一小节,我们将依次介绍随机场、马尔科夫随机场、条件随机场、线性链条件随机场的概念。

(1)随机场是一个图模型,是由若干个结点(随机变量)和边(依赖关系)组成的图模型,当给每一个结点按照某种分布随机赋予一个值之后,其全体就叫做随机场。

(2)马尔科夫随机场是随机场的特例,它假设随机场中任意一个结点的赋值,仅仅和它的邻结点的取值有关,和不相邻的结点的取值无关。

(3)条件随机场CRF是马尔科夫随机场的特例,它假设模型中只有X(输入变量,观测值)和Y(输出变量,状态值)两种变量。输出变量Y构成马尔可夫随机场,输入变量X不具有马尔科夫性。

(4)线性链条件随机场,是状态序列是线性链的条件随机场。

注1:马尔科夫性:随机过程中某事件的发生只取决于它的上一事件,是“无记忆”过程。

CRF的定义

https://www.zhihu.com/question/35866596/answer/236886066

https://mp.weixin.qq.com/s/cbHS35EGOy3bFKhBnTJUNA

条件随机场CRF是在给定【观测值X,状态值集合(特征函数){1,0}】的条件下,获取【Y(状态值)】的条件概率分布模型。在NLP领域,线性链条件随机场被广泛用于标注任务(NER、分词等)。CRF的思路是构建多个特征函数集并加权,对状态序列进行预测。HMM的表现形式使他无法使用多个复杂特征。

为了建一个条件随机场,我们首先要定义一个特征函数集,每个特征函数都以整个句子s,当前位置i,位置i和i-1的标签为输入。然后为每一个特征函数赋予一个权重,然后针对每一个标注序列l,对所有的特征函数加权求和,必要的话,可以把求和的值转化为一个概率值。

CRF的优缺点(重要)

4.1 CRF相对于HMM的优点

有效规避HMM的两个假设,能够获取长文本的远距离依赖、序列的位置信息。

(1)规避了马尔科夫性,能够获取长文本的远距离依赖的信息。

(2)规避了齐次性,模型能够获取序列的位置信息,并且序列的位置信息会影响预测出的状态序列。

(3)规避了观测独立性,观测值之间的相关性信息能够被提取。

(4)不是单向图,而是无向图,能够充分提取上下文信息作为特征。

(5)改善了标记偏置LabelBias问题,因为CRF相对于HMM能够更多地获取序列的全局概率信息。

(6)CRF的思路是利用多个特征,对状态序列进行预测。HMM的表现形式使他无法使用多个复杂特征。

4.2 条件随机场CRF的缺点

(1)CRF训练代价大、复杂度高。在海量数据的情况下,业界多用神经网络。

(2)每个特征的权重固定,特征函数只有0和1两个取值。

(3)需要人为构造特征函数,特征工程对CRF模型的影响很大。

(4)转移特征函数的自变量只涉及两个相邻位置,而CRF定义中的马尔科夫性,应该涉及三个相邻位置。


词向量的发展及预训练模型

什么是词向量/词嵌入

  • 数学模型需要数值型输入,但是自然语言词语是人类的抽象总结,是符号形式的,所以需要把他们转换成数值形式,或者说——嵌入到一个数学空间里,这种嵌入方式,就叫词嵌入(word embedding),而 Word2vec,就是词嵌入( word embedding) 的一种。
  • 如果用一句比较简单的话来总结,word2vec是用一个一层的神经网络把one-hot形式的稀疏词向量映射称为一个n维(n一般为几百)的稠密向量的过程。为了加快模型训练速度,其中的tricks包括Hierarchical softmax,negative sampling, Huffman Tree等。

word2vec

  • word2vec算法基于Distributional的假设:语言的统计特征隐藏着语义的信息“一个词的含义可以由它的上下文推断得出“。

https://blog.csdn.net/bitcarmanlee/article/details/82291968

word2vec里面有两个重要的模型-CBOW模型(Continuous Bag-of-Words Model)与Skip-gram模型。在Tomas Mikolov的paper中给出了示意图。

19497ac915533bf3a07774ee8ce8f5eb.png

CBOW就是根据某个词前后的C个词,来计算中间词词出现的概率。Skip-Gram Model相反,是根据某个词,然后分别计算它前后出现某几个词的各个概率。

CBOW的训练过程

1ae37b9592634ea9287f7f52b95ea91f.png

在上图中,

1、Input layer:上下文单词的one hot。假设整个词库corpus大小为V,则单词向量空间的维度为V。上下文单词窗口的大小为C。

2、假设最终词向量的维度大小为N,则图中的权值共享矩阵为W。W的大小为 V * N,并且初始化。

3、假设语料中有一句话”我爱你”。如果我们现在关注”爱”这个词,令C=2,则其上下文为”我”,”你”。模型把”我” “你”的onehot形式作为输入。易知其大小为1*V。C个1*V大小的向量分别跟同一个V * N大小的权值共享矩阵W相乘,得到的是C个1*N大小的隐层hidden layer。

4.C个1*N大小的hidden layer取平均,得到一个1*N大小的向量,即图中的Hidden layer。

5.输出权重矩阵W’为N*V,并进行相应的初始化工作。

6.将得到的Hidden layer向量 1*N与W’相乘,并且用softmax处理,得到1*V的向量,此向量的每一维代表corpus中的一个单词。概率中最大的index所代表的单词为预测出的中间词。

7.与groud truth中的one hot比较,求loss function的的极小值。

tricks

1.hierarchical softmax

    • 最后预测输出向量时候,大小是1*V的向量,本质上是个多分类的问题。通过hierarchical softmax的技巧,把V分类的问题变成了log(V)次二分类。层 Softmax 实际上是把一个超大的多分类问题转化成一系列二分类问题。本质是把 N 分类问题变成 log(N)次二分类。

79bf01044601a45568d636bcb4cbe108.png

为什么层次 SoftMax 能加速

        • Softmax 大部分的计算量在于分母部分,它需要求出所有分量的和
        • 而层次 SoftMax 每次只需要计算两个分量,因此极大的提升了速度
  1. negative sampling

本质上是对训练集进行了采样,从而减小了训练集的大小。

不同于原本每个训练样本更新所有的权重,负采样每次让一个训练样本仅仅更新一部分的权重,这样就好降低梯度下降过程中的计算量。

例如:当我们用训练样本(input word:"fox", output word:"quick")来训练我们的神经网络时,“fox”和“quick”都是经过one-hot编码的。如果我们的vocabulary大小为10000时,在输出层,我们希望“quick”单词那个位置输出1,其余都是0。这些其余我们期望输出0的位置所对应的单词我们成为“negative” word。当使用负采样时,我们将随机选择一小部分的negative words(比如选5个negative words)来更新对应的权重。我们也会对我们的positive word进行权重更新(上面的例子指的是"quick")。

在论文中,作者指出对于小规模数据集,选择5-20个negative words会比较好,对于大规模数据集可以仅选择2-5个negative words。

低频词的处理

  • 对于低频词,会设置阈值(默认 5),对于出现频次低于该阈值的词会直接舍弃,同时训练集中也会被删除

高频词的处理

  • 高频词提供的信息相对较少,为了提高低频词的词向量质量,有必要对高频词进行限制
  • 高频词对应的词向量在训练时,不会发生明显的变化,因此在训练是可以减少对这些词的训练,从而提升速度

GloVe

  • GloVe 模型的是基于共现矩阵构建的
  • GloVe 认为共现矩阵可以通过一些统计信息得到词之间的关系,这些关系可以一定程度上表达词的含义

GloVe 的基本思想:

  • 假设词向量已知,如果这些词向量通过某个函数(目标函数)可以拟合共现矩阵中的统计信息,那么可以认为这些词向量也拥有了共现矩阵中蕴含的语义。
  • 模型的训练过程就是拟合词向量的过程。

GloVe 与 Word2Vec 的区别

  • Word2Vec 本质上是一个神经网络;
    Glove 也利用了反向传播来更新词向量,但是结构要更简单,所以 GloVe 的速度更快。
  • Glove 认为 Word2Vec 对高频词的处理还不够,导致速度慢;GloVe 认为共现矩阵可以解决这个问题
  • 从效果上看,虽然 GloVe 的训练速度更快,但是词向量的性能在通用性上要弱一些:
    在一些任务上表现优于 Word2Vec,但是在更多的任务上要比 Word2Vec 差。

FastText

FastText 是从 Word2Vec 的 CBOW 模型演化而来的;

从网络的角度来看,两者的模型基本一致;区别仅在于两者的输入和目标函数不同;

  • 不同点:

CBOW 的输入是中心词两侧skip_window内的上下文词;FastText 除了上下文词外,还包括这些词的字符级 N-gram 特征。

ELMO

之前的做法的缺点是对于每一个单词都有唯一的一个embedding表示, 而对于多义词显然这种做法不符合直觉, 而单词的意思又和上下文相关, ELMo的做法是我们只预训练language model,而word embedding是通过输入的句子实时输出的, 这样单词的意思就是上下文相关的了,这样就很大程度上缓解了歧义的发生。

在此之前的 Word Embedding 本质上是个静态的方式,所谓静态指的是训练好之后每个单词的表达就固定住了,以后使用的时候,不论新句子上下文单词是什么,这个单词的 Word Embedding 不会跟着上下文场景的变化而改变,所以对于比如 Bank 这个词,它事先学好的 Word Embedding 中混合了几种语义,在应用中来了个新句子,即使从上下文中(比如句子包含 money 等词)明显可以看出它代表的是「银行」的含义,但是对应的 Word Embedding 内容也不会变,它还是混合了多种语义。这是为何说它是静态的,这也是问题所在。

预训练结构:

81dc555820668081fd674c5671718c04.png

使用方式:Feature-based Pre-Training

0545380a8f4d56eaecb34ccb8103a3b6.png

缺点:

7448e66d88185a4ac077938669954277.png

BERT

Attention is all you need:

"Scaled Dot-Product Attention"(按比例缩放的点乘注意力机制):在论文中的解释是为了使得梯度更稳定,因为该分值不经过放缩会很大,导致softamx不够“soft",较大的分数经过softmax函数变换后过于接近1,较小的太接近0,而不是均匀分布在[0,1]区间)。

Multi-Head Attention:把Scaled Dot-Product Attention这个过程重复做 h 次,(参数不共享),结果拼接起来就行了。而且多个head之间做attention可以并行,所以此处效率会很高。

Positional Encoding:为了获得序列的位置信息,在输入词向量时附加了sin/cos位置编码向量。

Self Attention在计算过程中会直接将句子中任意两个单词的联系通过一个计算步骤直接联系起来,所以远距离依赖特征之间的距离被极大缩短。

BERT

8e7c7c5d384d9008a1e1f6700b1cb257.png

9cde713603723d9ef78781ffb957f77a.png

Masked Language Model

随机mask语料中15%的token,然后将masked token 位置输出的最终隐层向量送入softmax,来预测masked token。

但这种方法有两个缺点。首先,预训练和finetuning之间不匹配,因为在finetuning期间从未看到[MASK]token。为了解决这个问题,谷歌并不总是用实际的[MASK]token替换被“masked”的词汇。相反,训练数据生成器随机选择15%的token。例如在这个句子“my dog is hairy”中,它选择的token是“hairy”。然后,执行以下过程。

sentence-level representation

句子级负采样

句子级别的连续性预测任务,即预测输入BERT的两端文本是否为连续的文本。训练的时候, 即首先给定的一个句子(相当于word2vec中给定context),它下一个句子即为正例(相当于word2vec中的正确词),随机采样一个句子作为负例(相当于word2vec中随机采样的词),然后在该sentence-level上来做二分类(即判断句子是当前句子的下一句还是噪声)。

BERT应用于阅读理解

BERT首先在问题前面添加special classification token[CLS]标记,然后问题和段落连在一起,中间使用special tokens[SEP]分开。序列通过token Embedding、segment embedding 和 positional embedding输入到BERT。最后,通过全连接层和softmax函数将BERT的最终隐藏状态转换为答案跨度的概率。

input:
[CLS]question[SEP]context[SEP]

补充:注意力机制的原理

e72c47c882116fffb442bcc5e7c24939.png

我们可以这样来看待Attention机制(参考上图):将Source中的构成元素想象成是由一系列的<Key,Value>数据对构成,此时给定Target中的某个元素Query,通过计算Query和各个Key的相似性或者相关性,得到每个Key对应Value的权重系数,然后对Value进行加权求和,即得到了最终的Attention数值。所以本质上Attention机制是对Source中元素的Value值进行加权求和,而Query和Key用来计算对应Value的权重系数。

1627940c859d2b2fd476fde41338b89b.png

至于Attention机制的具体计算过程,如果对目前大多数方法进行抽象的话,可以将其归纳为3个过程:第一个过程是根据Query和Key计算两者的相似性或者相关性,第二个阶段对第一阶段的原始分值进行softmax归一化处理,第三个过程根据权重系数对Value进行加权求和。

Self Attention模型

上图中,Source中的Key和Value合二为一这种特殊情况下的注意力计算机制。

优点:

  • 之前都是捕获源端与目标端的注意力关联,而Self Attention可以捕获同一个句子中单词之间的内部特征。
  • 引入Self Attention后会更容易捕获句子中长距离的相互依赖的特征,因为如果是RNN或者LSTM,需要依次序序列计算,对于远距离的相互依赖的特征,要经过若干时间步步骤的信息累积才能将两者联系起来,而距离越远,有效捕获的可能性越小。但是Self Attention在计算过程中会直接将句子中任意两个单词的联系通过一个计算步骤直接联系起来,所以远距离依赖特征之间的距离被极大缩短,有利于有效地利用这些特征。
  • 除此外,Self Attention对于增加计算的并行性也有直接帮助作用。这是为何Self Attention逐渐被广泛使用的主要原因。

机器阅读理解

CMRC2017

本届阅读理解方向主要面向“儿童读物”领域。与传统的新闻领域不同的是儿童读物领域的内容与新闻领域相差较大,篇章中包含较多拟人化的动植物且文本之间的风格相差较大,更具有挑战性。

例子:

1 ||| 有 一 隻 狐狸 很 自大 , 大家 都 不 喜歡 他 。

2 ||| 有 一 天 , 狐狸 走 在 夕陽 下 , 遇到 了 老虎 , 看見 自己 的 影子 比 老虎 大 。

3 ||| 狐狸 大 吼 了 一 聲 : 「 讓開 !

4 ||| 瘦小 的 老虎 。

5 ||| 」 老虎 張牙舞爪 的 說 : 「 你 活 得 不 耐煩 了 。

6 ||| 」 狐狸抖 一 抖 身子 , 不 客氣 的 說 : 「 我 的 影子 比 你 的 大 一 倍 。

7 ||| 」 老虎 看 一 看 影子 , 覺 得 很 生氣 , 向 狐狸 大 吼 一 聲 。

8 ||| 狐狸面 呲牙咧嘴 繼續 說 : 「 我 的 影子 比 你 的 大 , 我 也 一定 比 你 大 。

9 ||| 」 老虎 聽 了 非常 生氣 , 大 吼 一 聲 , 一 口 就 把 狐狸 吃 了 。

<qid_0> ||| 狐狸 说 自己 的 什么 比 老虎 大 一 倍 ?

抽取式阅读理解做法:

抽取式QA是要在文档中定位问题的答案。模型输入是【Passage,Question】,模型输出是【start_idx,end_idx】∈ [ 0, len(passage) ]。

QA模型主要包括 Embeeding层、Encoder编码层层、Interaction交互层、Answer作答层。

92c40c86caee7bace400c44a8fa32553.png

评价机制:

本次比赛采用与CoQA比赛一致的宏平均(macro-average F1)进行评估。 对于每个问题,需要与N个标准回答计算得到N个F1,并取最大值作为其F1值。整个数据集的F1值为所有数据F1的平均值。计算公式如下:

dffc72034286c3d368d70e030a247440.png

其中,InterSec计算预测回答与标准回答的交集(以字为单位),Countref表示标准回答数目(3个),max部分取预测回答与每个标准回答(除当前标准回答外,目的是与评估人类水平的方法一致)F1值的最大值。最终得分为刑事和民事测试集宏平均F1值的平均值。

BIDAF

原文中最大的特点就是利用双向注意力流(Bi-Directional Attention Flow,BiDAF)得到了一个问题感知的上下文表征。

edee214a53467b6e8a00ebe47c3d8279.png

AOA

24376f5632263b7654666b1c90ab1771.png

答案排序策略:


问答系统:

https://zhuanlan.zhihu.com/p/61914325

搜索引擎的构建

SOLR

全文搜索引擎是目前广泛应用的主流搜索引擎。它的工作原理是计算机索引程序通过扫描文章中的每一个词,

对每一个词建立一个索引,指明该词在文章中出现的次数和位置,当用户查询时,

检索程序就根据事先建立的索引进行查找,并将查找的结果反馈给用户的检索方式。这个过程类似于通过字典中的检索字表查字的过程。

总结:Lucene全文检索就是对文档中全部内容进行分词、然后对所有单词建立倒排索引的过

实体关系抽取Todo


数据挖掘领域十大经典算法


数据挖掘领域十大经典算法之—C4.5算法(超详细附代码)

数据挖掘领域十大经典算法之—K-Means算法(超详细附代码)

数据挖掘领域十大经典算法之—Apriori算法

数据挖掘领域十大经典算法之—EM算法

数据挖掘领域十大经典算法之—PageRank算法

数据挖掘领域十大经典算法之—AdaBoost算法(超详细附代码)

数据挖掘领域十大经典算法之—K-邻近算法/kNN(超详细附代码)

数据挖掘领域十大经典算法之—朴素贝叶斯算法(超详细附代码)

数据挖掘领域十大经典算法之—CART算法(超详细附代码)

————————————————

版权声明:本文为CSDN博主「fuqiuai」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。

原文链接:https://blog.csdn.net/fuqiuai/article/details/79484421

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值