首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

非主流自然语言处理——遗忘算法系列(四):改进TF-IDF权重公式

,可以得到:     按前面权重公式定义,上面的公式可以理解为:一个句子出现概率对数等于句子中各词权重之和。     ...三、与TF-IDF关系   词频、逆文档频率(TF-IDF)自然语言处理中,应用十分广泛,也是提取关键词常用方法,公式如下:   从形式上看,该公式与我们定义权重公式很像,而且用途也近似,那么它们之间有没有关系呢...我们知道,IDF是按文档为单位统计,无论文档长短,统一都按一篇计数,感觉这个统计粒度还是比较,有没有办法将文本长短,这个明显相关因素也考虑进去呢,让这个公式更加精细些?   ...时间复杂最快可达O(1)级,比如词库以Hash表存储。   关于TF-IDF更完整介绍及主流用法,建议参看阮一峰老师博文《TF-IDF与余弦相似应用(一):自动提取关键词》。...3、相似计算         相似计算,我们将在下一篇文中单独介绍。 五、演示程序   在演示程序显示词库结果时,是按本文所介绍权重公式排序

1.4K90

论文赏析基于DIORA无监督隐式句法树归纳

介绍 无监督句法分析是现在比较热门,也有很多东西可做方向。有监督已经做得非常好了,感觉做不下去了,所以做一做无监督试试。...可以看出WSJ-40效果还是不错,但是WSJ-10上面没有一个神经网络方法能超过之前传统方法(CCM和PRLG),说明句子长度过短,神经网络学习能力还有待提高。...无监督短语分割 这个任务就是看模型识别出了句子中有多少个短语,其实包含在刚刚句法树结构中了。数据集还是用PTB,结果如下: ?...短语相似 短语相似任务是这样,首先用DIORA算出每个短语表示,然后两两短语之间算cos相似,对于一个短语,如果与它最相似的K个短语label和它一样,那么这个短语就预测对了。...短语相似结果 其中ELMo分为三种设置,CI表示只输入短语每个单词然后取平均得到短语表示,SI表示输入一整个短语,最后一个就是输入整个句子了。

54720
您找到你想要的搜索结果了吗?
是的
没有找到

文本相似总结

这种方式通常用作去重,比如如果我们有一份非常庞大样本集合,要去做去重,大家通常做法就是写hive sql或者spark sql时候distinct一下,在做后续自然语言处理任务,通过这种方式可以去除掉一些真...词袋方法 1和2由于相差字数比较多,可能不是以一种hash方式去做能识别多出。但是细心朋友回发现,它们之间重合率非常高,通过分词后比对也是可以识别的。...这边补充一下,百Familia就集成这两种方式去算相似,异常好用。 TWE 用过LDA的人应该知道:LDA 产生主题往往被高频词占据,这种现象导致低频词实际应用中作用非常有限。...neutral三分类预测 FastSent,用上下文词来预测目标句子词,然后把目标句和作为目标句向量 句向量来补充词向量衡量一个句子相似会有明显提升,我日常做baseline就是wordembedding...supervised method 有监督方式大概有两种思路: fasttext/infersent这种用有监督方式生成词向量或者句向量方式,再计算句词向量之间cosine相似 直接求解(Universal

1K10

文本相似算法小结

分词 + 杰卡德系数 首先是最简单粗暴算法。为了对比两个东西相似,我们很容易就想到可以看他们之间有多少相似的内容,又有多少不同内容,再进一步可以想到集合交并集概念。...不过因为公式太简单,能涵盖到维度太少,所以需要比较高准度场合并不适用。当然如果要判断文本不存在语义等复杂问题要考虑,量又比较大的话,还是个非常不错选择。...因此句子1对应向量就是[1, 2, 2, 1, 1, 1, 0],句子2对应向量就是[1, 2, 2, 1, 1, 2, 1] 于是,计算两个文本相似问题,变成了计算两个向量相似问题。...下面再给出两种比较常见向量化手段: 词袋模型 NLP里比较常用手段(如word2vec)。核心想法是把一篇文章想象成词组合,没有顺序和语义之分,文章就是一个装满了词袋子。...汉明距离 这个计算图片相似时候会用到(可见本博客相关文章),汉明距离只是简单计算两个序列中,有多少位是不一样,一般用于哈希对比。 3.

5K100

使用 HuggingFace Transformers创建自己搜索引擎

该工具将葡萄酒评论和用户输入转换为向量,并计算用户输入和葡萄酒评论之间余弦相似,以找到最相似的结果。 余弦相似比较文档相似一种常用方法,因为它适用于词频等对分析非常重要数据。...它反映了单个矢量维度相对比较,而不是绝对比较。在这篇文章中,我不会深入研究余弦相似背后数学,但是要理解它是一个内积空间中两个非零向量之间相似性度量。 ?...使用pandas read_sql函数使用原始SQL生成一个df。数据集中有16列和100228行。 ?...如果你不想使用distilBERT,可以使用所有的HuggingFace模型来寻找句子相似。这个模型是未知,这意味着它不区分大小写。关于模型详细信息,请查阅官方文件。...使用pip安装: pip install nmslib 如前所述,我们希望使用余弦相似作为度量,用于比较用户输入和葡萄酒描述。我们需要找到最接近搜索向量向量。

3.7K40

句子相似计算 | NLP基础

这里就先介绍几种利用词向量信息,计算句子level相似方法: 直接使用词向量平均值表示短语 前面我们说过利用词向量对词和词之间相似进行计算已经比较完善,准确率也很高。...那么如果对一句话中每个词词向量求平均值,那么这个向量也应该能表示句子意思。出于这个思路就有了这一种句子相似比较方法。...Word Mover’s Distance 另一种计算句子之间相似方法叫做Word Mover‘ Distance 。...该方法思路是记录一句话中每个词与另一句话中距离最短词,并将该距离作为两句话之间相似度量(词与词之间距离仍使用词向量计算),下面这幅图比较解释了这种方法思路。 ?...进行句子相似计算可以使用上面介绍InferSent或者Google sentence encoder作为编码网络来进行相似预测。 ?

3.3K10

用机器学习打造聊天机器人(三) 设计篇

默认采用Levenshtein distance算法句子相似比较上过于简单了,它只关心一句话变成另一句话需要最小修改步骤有多少,认为步骤越少,两句话越相近,所以它并不会考虑句子中每个词具体含义...策略:改为使用词向量进行比较,具体在下面的智能策略中有介绍。...ok,我们再来聊聊如何提升chatterbot智能: 1、采用余弦相似算法代替Levenshtein distance算法 Levenshtein distance算法只是单纯计算一个句子变成另一个句子需要经过最小编辑步骤...而余弦相似是指比较两个向量之间余弦相似,向量当然分别是输入句子句向量和数据库中所有问题句子句向量,而句子转为向量方式是采用word2vec,该方法在后续讲原理部分会具体介绍,这里我们只需要知道词向量模型可以将词转为对应向量...,或者“爱情片什么时间段上映比较合适?”等。整个过程主要是采用词向量模型构造问题句子特征向量,通过贝叶斯算法进行意图分类,以及 采用余弦相似算法计算问题和答案匹配分数。

1.1K30

Kaggle文本语义相似计算Top5解决方案分享

句子相似计算,即给定客服里用户描述两句话,用算法来判断是否表示了相同语义。...句子相似判定 今年和去年前后相继出现了多个关于句子相似判定比赛,即得定两个句子,用算法判断是否表示了相同语义或者意思。...:非同义问句 对于例子a,比较简单方法就可以判定同义;对于例子b,包含了错别字、同义词、词序变换等问题,两个句子乍一看并不类似,想正确判断比较有挑战;对于例子c,两句> 话很类似,仅仅有一处细微差别...文本相似性/相关性度量是NLP和信息检索中非常基础任务,搜索引擎,QA系统中有举足轻重地位,一般文本相似性匹配,从大方法来讲,传统方法和深度学习方法。...第四名HouJP学长,亮点就是深度模型分数很高,不愧是中科院IR大佬。 第五名解法也是建模上挖掘了大量特征。 第七名亮点就是这个人比较懒,花了大量时间深度模型上。

3.9K20

阿里+中科院提出:将角度margin引入到对比学习目标函数中并建模句子间不同相似程度

,但直接使用它们句子表征往往会导致语义文本相似任务上表现不佳。...此外,目前优化目标只是从两两角度对句子关系进行建模,试图将语义相似句子拉得更近,将语义不相似句子推得更远。但是,相关句子之间存在着不同程度语义相似,如图1(d),sb比sc与sa更加相似。...,同batch内其他样本作为负样本: 采用是预先相似,为温度超参 但是,这种损失函数没有足够判别能力和对噪声鲁棒性 作者使用两个特征之间预先相似角度表示: 余弦相似越大,角度越小...句子三元组蕴含关系建模 之前损失函数如NT-Xent loss,只考虑成对间句子关系,要么相似,要么不相似。但是,句子相似有着不同程度相似。...由于与更加相似,使用三元组损失函数来建模这种关系 最终目标函数为: 实验 对7个语义文本相似(STS)任务进行了实验: 几个监督迁移任务上进行了实验,对于每个任务,SentEval句子嵌入基础上训练逻辑回归分类器

84720

用机器学习打造聊天机器人(三) 设计篇

默认采用Levenshtein distance算法句子相似比较上过于简单了,它只关心一句话变成另一句话需要最小修改步骤有多少,认为步骤越少,两句话越相近,所以它并不会考虑句子中每个词具体含义...策略:改为使用词向量进行比较,具体在下面的智能策略中有介绍。...ok,我们再来聊聊如何提升chatterbot智能: 1、采用余弦相似算法代替Levenshtein distance算法 Levenshtein distance算法只是单纯计算一个句子变成另一个句子需要经过最小编辑步骤...而余弦相似是指比较两个向量之间余弦相似,向量当然分别是输入句子句向量和数据库中所有问题句子句向量,而句子转为向量方式是采用word2vec,该方法在后续讲原理部分会具体介绍,这里我们只需要知道词向量模型可以将词转为对应向量...,或者“爱情片什么时间段上映比较合适?”等。整个过程主要是采用词向量模型构造问题句子特征向量,通过贝叶斯算法进行意图分类,以及 采用余弦相似算法计算问题和答案匹配分数。

1.4K20

基于图深度学习自然语言处理方法和应用

传统图方法NLP任务应用 传统NLP领域表征方法一般分为3种: 第一种采用词袋来表征文本,该方法依靠统计每个词句子或文档里频率,但是这种方式无法捕捉词语之间顺序或者无法捕捉词语之间语义信息...例如采用Random Walk算法和Graph Matching算法计算文本之间相似性。虽然传统方法表征成了图结构,但是对语言处理具有比较局限性。...动态图构建中最重要一个步骤是相似矩阵学习,其核心是计算任意两个节点特征向量相似。首先需要设置一个相似的kernel去定义这两个embedding相似。...Attention-based方式计算相似时,会有可学习参数来帮助计算每对节点对之间attention,它其实有两种方式来计算attention: 第一种是假设对所有的节点都共享可学习参数,...structure-aware相似矩阵计算其相似也有两种方式,计算相似时都将边界embedding算进去。

76202

文本自动摘要任务“不完全”心得总结

与网页不同,文档中,句子句子之间关系更加复杂。最后基于上述思想,得到一个需要用幂方法迭代来解决目标函数: ? 其中, ? 表示节点i和j之间边权重,即两个句子之间相似。...是其可以被改进点。设计合适句子相似算法,可以提升摘要抽取质量。TextRank4Zh中,默认句子相似计算方式如下: ? 该方法采用简单词元重合度匹配来计算两个句子相似。...显然,这种方法还是比较简单原始。改进地方很多,大致分为以下两个方面: 采用多样化句子相似计算。...我是这么做: 将等式第一部分,用TextRank学习到句子权重得分替换 ? 。TextRank权重得分是句子相似基础上通过无监督学习得到,比直接使用相似要更全面。...假设两个句子相似,即两个句子夹角很小,此时句子A句子B上投影应当是很大。(这个方法有点缺陷,即除了夹角外,向量之间欧式距离也有影响。) ?

1.6K20

【NLP】文本自动摘要任务心得总结

与网页不同,文档中,句子句子之间关系更加复杂。最后基于上述思想,得到一个需要用幂方法迭代来解决目标函数: ? 其中, ? 表示节点i和j之间边权重,即两个句子之间相似。...是其可以被改进点。设计合适句子相似算法,可以提升摘要抽取质量。TextRank4Zh中,默认句子相似计算方式如下: ? 该方法采用简单词元重合度匹配来计算两个句子相似。...显然,这种方法还是比较简单原始。改进地方很多,大致分为以下两个方面: 采用多样化句子相似计算。...我是这么做: 将等式第一部分,用TextRank学习到句子权重得分替换 ? 。TextRank权重得分是句子相似基础上通过无监督学习得到,比直接使用相似要更全面。...假设两个句子相似,即两个句子夹角很小,此时句子A句子B上投影应当是很大。(这个方法有点缺陷,即除了夹角外,向量之间欧式距离也有影响。) ?

4.2K33

Sentence-BERT: 一种能快速计算句子相似孪生网络

作者:光彩照人 学校:北京邮电大学 ‍ ‍一、背景介绍   BERT和RoBERTa文本语义相似句子回归任务上,已经达到了SOTA结果。...向量距离就比较近,从而可以用来进行相似计算(余弦相似、曼哈顿距离、欧式距离)。...该网络结构查找最相似句子对,从上述65小时大幅降低到5秒(计算余弦相似大概0.01s),精度能够依然保持不变。...三、评测-语义文本相似(Semantic Textual Similarity-STS) 评测时候,这里采用余弦相似比较两个句子向量相似。...实验结果显示,SBERT生成句子向量似乎能够很好捕获情感信息,MR、CR、SST上都有较大提升;BERT之前STS数据集上表现比较差,但是SentEval上却有了不错效果表现,这是因为STS

7.4K51

cips2016+学习笔记︱简述常见语言表示模型(词嵌入、句表示、篇章表示)

同时根据上面的内容,句向量表征RNN、CNN之间,到底哪个更好呢? 有一篇文章在这点上讲得比较清楚,会在下面的延伸三:《NLP 模型到底选 RNN 还是 CNN?》提到。...同时,我们通过了不同应用上进行了测试,试验结果表明该预处理已经诸多neural network中有所体现,进一步证实了对词向量进行预处理重要性。...博客里面也有code 详细可见:用docsim/doc2vec/LSH比较两个文档之间相似 ....延伸七:能够表征相似的:基于CNN短文本表达模型及相似计算全新优化模型 来源:LSF-SCNN:一种基于CNN短文本表达模型及相似计算全新优化模型 LSF-SCNN,即基于词汇语义特征跳跃卷积模型...entailment)等计算成对儿出现短文本相似任务中。

1.1K20

Enhanced-RCNN: 一种高效比较句子相似方法 |​WWW 2020

,往往准确率不佳,于是,就有人提出了交互型句子相似比较方法,通过一些复杂注意力机制来去捕捉两个句子编码向量之间交互信息,从而更好进行句子相似建模。...通常,基于交互型句子相似比较方法预测准确率会比基于表示型方法高出不少。...我们经典交互型句子相似比较方法 ESIM 基础上,提出了一种新型计算句子相似方法 Enhanced-RCNN,来更好捕捉待比较两个文本自身以及相互之间信息。...在线对话时,通过检索找到跟用户相似的问题(同时匹配标问和扩展问法),将检索结果输入给句子相似模型进行打分排序,最终将相似较高结果返回给用户。...本论文中,我们提出了一种高效比较句子相似方法 Enhanced-RCNN,这是我们经典文本匹配模型 ESIM基础上改进模型,该模型 Quora Question Pair 和 Ant Financial

87810

从BERT得到最强句子Embedding打开方式!

进一步,由于将 embedding 正则化到单位超球面时,两个向量点积等价于它们cosine 相似,我们便可以将BERT句子表示相似简化为文本表示相似,即 。...另外,考虑到训练中,当 c 与 w 同时出现时,它们对应向量表示也会更接近。换句话说,context-context 相似可以通过 context-words 之间相似推出或加强。...计算句子之间cosine similarity 作为模型预测相似。 计算Spearman系数。...实验结果: 上图汇报了sentence embeddings余弦相似同多个数据集上真实标签之间Spearman等级相关性得分(),其中flow-target 表示完整目标数据集(train+validation...文章同样还在无监督问答任务证明模型有效性,并将BERT-flow得到语义相似同词法相似(通过编辑距离来衡量)进行对比,结果同样证明模型引入流可逆映射后减弱了语义相似性与词法相似之间联系!

3.2K20

ESimCSE:无监督句子表示对比学习增强样本构建方法

如表 1 所示,我们观察到:当长度差为≤3 时,7 个数据集平均相似更大,验证了我们“长度偏置”假设。数据集比较细节参见表 4。 ▲ 表1....预测相似和真实相似差异 为了缓解这一问题,对于每一对互为正例句子,我们期望不改变句子语义情况下改变句子长度。...我们使用从英语维基百科中随机抽取 100 万个句子来进行训练,并利用文本相似任务来衡量句子表示能力, 7 个标准语义文本相似(STS)数据集上进行了实验。...▲ 表4 改进点之间消融实验 我们进一步探讨了 ESimCSE 上句子相似性与长度差之间关系,并与 SimCSE 进行了比较。...如表 5 所示: ▲ 表5 ESimCSE和SimCSE多个数据集上偏置(bias)对比 结果表明:ESimCSE 显著降低了>3 和≤3 之间平均相似差距,从 1.84 降低到 0.71,有效缓解了我们引言中提到长度偏差问题

1.5K10

COLING22 | ESimCSE:无监督句子表示对比学习增强样本构建方法

如表 1 所示,我们观察到:当长度差为≤3 时,7 个数据集平均相似更大,验证了我们“长度偏置”假设。数据集比较细节参见表 4。 ▲ 表1....预测相似和真实相似差异 为了缓解这一问题,对于每一对互为正例句子,我们期望不改变句子语义情况下改变句子长度。...我们使用从英语维基百科中随机抽取 100 万个句子来进行训练,并利用文本相似任务来衡量句子表示能力, 7 个标准语义文本相似(STS)数据集上进行了实验。...▲ 表4 改进点之间消融实验 我们进一步探讨了 ESimCSE 上句子相似性与长度差之间关系,并与 SimCSE 进行了比较。...如表 5 所示: ▲ 表5 ESimCSE和SimCSE多个数据集上偏置(bias)对比 结果表明:ESimCSE 显著降低了>3 和≤3 之间平均相似差距,从 1.84 降低到 0.71,有效缓解了我们引言中提到长度偏差问题

99630

大型语言模型:SBERT — 句子BERT

然后,输出被聚合并传递到一个简单回归模型以获得最终标签。 交叉编码器架构 可以使用 BERT 来计算一对文档之间相似。考虑一个大集合中找到最相似的一对句子目标。...❞ 回归目标函数 在这个公式中,获得向量 u 和 v 后,它们之间相似得分直接通过选定相似度度量来计算。将预测相似得分与真实值进行比较,并使用 MSE 损失函数更新模型。...默认情况下,作者选择余弦相似作为相似度度量。 推理过程中,可以通过以下两种方式之一使用该架构: 通过给定句子对,可以计算相似得分。推理工作流程与训练完全相同。...对于给定句子,可以提取其句子嵌入(应用池化层之后)以供以后使用。当我们得到大量句子集合并旨在计算它们之间成对相似分数时,这特别有用。...之后,我们可以直接计算所有向量之间所选相似度度量(毫无疑问,它仍然需要二次比较次数,但同时我们避免了像以前那样使用 BERT 进行二次推理计算)。

49920
领券