N-Gram(N元模型)是自然语言处理中一个非常重要的概念,通常在NLP中,人们基于一定的语料库,可以利用N-Gram来评估一个句子是否合理。N-Gram的另外一个作用是用来评估两个字符串之间的差异程度,这是模糊匹配中常用的一种手段。本文将从此开始,进而向读者展示N-Gram在自然语言处理中的各种Powerful的应用
N-Gram(有时也称为N元模型)是自然语言处理中一个非常重要的概念,通常在NLP中,人们基于一定的语料库,可以利用N-Gram来预计或者评估一个句子是否合理。另外一方面,N-Gram的另外一个作用是用来评估两个字符串之间的差异程度。这是模糊匹配中常用的一种手段。本文将从此开始,进而向读者展示N-Gram在自然语言处理中的各种powerful的应用。
如果让你来设计一个算法来分析以下段落,你会怎么做? Emma knocked on the door. No answer. She knocked again and waited. There was a large maple tree next to the house. Emma looked up the tree and saw a giant raven perched at the treetop. Under the afternoon sun, the raven gleamed ma
ChatGPT(GPT-3.5)和其他大型语言模型(Pi、Claude、Bard 等)凭何火爆全球?这些语言模型的运作原理是什么?为什么它们在所训练的任务上表现如此出色?
今天我们来看 Mikolov 大佬 2016 年的另一大巨作——fastText。2013 年大佬在 Google 开源了 Word2Vec,2016 年刚就职于 FaceBook 就开源了 fastText,全都掀起了轩然大波。
N-Gram是大词汇连续语音识别中常用的一种语言模型,对中文而言,我们称之为汉语语言模型(CLM, Chinese Language Model)。汉语语言模型利用上下文中相邻词间的搭配信息,可以实现到汉字的自动转换。
上一期我们介绍了使用 Python 数据清洗的相关方法,本篇文章我们介绍数据标准化的相关方法。
本文则针对中文拼写纠错进行一个简要的概述,主要分享基于n-gram语言模型和困惑集来做中文拼写纠错的方法。
有关这部分内容,他又可以分为有监督的和无监督的,前者已经有了一些参考的生成结果可以比对,后者完全没有任何参考文本,只能通过文本本身来评估生成质量。
从 2000 年开始学习和使用 Mathematica,《Mathematica 演示项目笔记》作者,发表Wolfram Demonstrations Projects 50 余篇。
从计算上看,知道一个词出现的概率需要知道其前面所有词的出现概率,这种方法太过复杂,因此这里引入了马尔可夫模型,即当前词的出现概率仅与前面几个词有关。由此产生了N-Gram模型。
在前面,我们已经介绍和比较了 word-level 和 character-level 的优缺点,并根据其特点,提出一种介于 word-level Model 和 Character-level 之间的 Model —— Subword Model。
· 理解递归神经网络及其不同实现,例如长短期记忆网络(LSTM)和门控循环单元(Gated Recurrent Unit,GRU),它们为大多数深度学习模型提供文本和序列化数据;
Fasttext是FaceBook开源的文本分类和词向量训练库。最初看其他教程看的我十分迷惑,咋的一会ngram是字符一会ngram又变成了单词,最后发现其实是两个模型,一个是文本分类模型[Ref2],表现不是最好的但胜在结构简单高效,另一个用于词向量训练[Ref1],创新在于把单词分解成字符结构,可以infer训练集外的单词。这里拿quora的词分类数据集尝试了下Fasttext在文本分类的效果, 代码详见 https://github.com/DSXiangLi/Embedding
语言模型通俗的将就是判断一句话是不是正常人说出来的。统计语言模型是所有 NLP的基础,被广泛应用与语音识别、机器翻译、分词、词性标注和信息检索等任务。传统的统计语言模型是表示语言基本单位(一般为句子)的概率分布函数,这个概率分布也是该语言的生成模型。通俗的讲,如果一句话没有在语料库中出现,可以模拟句子的生成的方式,生成句子在语料库中的概率。一般语言模型可以使用各个词语条件概率的形式表示:
在商品搜索场景中,需要根据用户输入关键字严格匹配商品数据,而普通的全文检索方式,诸如:match 或者match_pharse,不一定能达到搜索效果。
虽然Elasticsearch带有一些现成的分析器,然而在分析器上Elasticsearch真正的强大之处在于,你可以通过在一个适合你的特定数据的设置之中组合字符过滤器、分词器、词汇单元过滤器来创建自定义的分析器。
文本生成目前的一大瓶颈是如何客观,准确的评价机器生成文本的质量。一个好的评价指标(或者设置合理的损失函数)不仅能够高效的指导模型拟合数据分布,还能够客观的让人评估文本生成模型的质量,从而进一步推动text generation 商业化能力。
来源 | TowardsDataScience 译者 | Revolver 【磐创AI导读】:本文是对fasttext的一个详细介绍。欢迎大家点击上方蓝字关注我们的公众号:磐创AI。 fasttex
第1章 搜索引擎是如何工作的 搜索引擎的基础是应用于信息检索、数据库等领域的信息技术。 1-1 理解搜索引擎的构成 1-2 实现了快速全文搜索的索引结构 利用全扫描进行全文搜索 grep就是从头到尾扫
在AI盛起的当下,各类AI应用不断地出现在人们的视野中,AI正在重塑着各行各业。ChatGPT一直这股AI浪潮的引领者,在各类不断涌现的大模型中,目前还没有出现能与ChatGPT比肩的。笔者前前后后看了很多篇介绍GPT的文章,看到这篇文章时有种眼前一亮的感觉。一篇收获颇多的文章,翻译整理如下,感兴趣的请点赞收藏。
本文用识别由域名生成算法Domain Generation Algorithm: DGA生成的C&C域名作为例子,目的是给白帽安全专家们介绍一下机器学习在安全领域的应用,演示一下机器学习模型的一般流程。机器的力量可以用来辅助白帽专家们更有效率的工作。 本文用到的演示数据集和python演示代码请参见 https://github.com/phunterlau/dga_classifier 关于编码和行文风格过于仓促的问题,请不要在意这些细节,如果有相关问题可以微博上@phunter_lau,大家互相交流进步
ERINE是百度发布一个预训练模型,它通过引入三种级别的Knowledge Masking帮助模型学习语言知识,在多项任务上超越了BERT。在模型结构方面,它采用了Transformer的Encoder部分作为模型主干进行训练,如 图1 (图片来自网络)所示。
英语单词通常有其内部结构和形成⽅式。例如,我们可以从“dog”“dogs”和“dogcatcher”的字⾯上推测它们的关系。这些词都有同⼀个词根“dog”,但使⽤不同的后缀来改变词的含义。而且,这个关联可以推⼴⾄其他词汇。
版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
最近在Kaggle上微软发起了一个恶意代码分类的比赛,并提供了超过500G的数据(解压后)。有意思的是,取得第一名的队伍三个人都不是搞安全出身的,所采用的方法与我们常见的方法存在很大不同,展现了机器学习在安全领域的巨大潜力。在仔细读完他们的代码和相关的论文后,我简单的进行了一些总结与大家分享。 需要指出的是,(1)比赛的主题是恶意代码的分类,不是病毒查杀(2)比赛采用的方法是纯静态分析的方法,不涉及行为分析等动态分析方法。 因此这不意味着这个方法能够取代现有的方法,但是了解它能够为安全研究人员提供一个崭新的
举例梯度下降实例说明归一化的重要性,若两个特征的取值范围不一样,则在学习速率相同的情况下,范围小的特征更新速度会大于取值范围大的特征,需要较多的迭代才能找到最优解。若将两个特征归一化到相同的数值区间,两特征的更新速度变得更为一致,容易更快地通过梯度下降找到最优解。
上一期我们讲解了使用 Python 读取 CSV、PDF、Word 文档相关内容。
论文:A Robustly Optimized BERT Pretraining Approach.
统计语言模型工具有比较多的选择,目前使用比较好的有srilm及kenlm,其中kenlm比srilm晚出来,训练速度也更快,而且支持单机大数据的训练。现在介绍一下kenlm的使用方法。
在上一篇文章seq2seq与注意力机制中,我们提到编码器最终输出了一个背景向量\boldsymbol{c},该背景向量编码了输入序列\boldsymbol{x}_1,\boldsymbol{x}_2,...,\boldsymbol{x}_T的信息。假设训练数据中的输出序列是\boldsymbol{y}_1,\boldsymbol{y}_2,...,\boldsymbol{y}_{T'},输出序列的生成概率为
fastText是Facebook于2016年开源的一个词向量计算和文本分类工具,在学术上并没有太大创新。但是它的优点也非常明显,在文本分类任务中,fastText(浅层网络)往往能取得和深度网络相媲美的精度,却在训练时间上比深度网络快许多数量级。在标准的多核CPU上, 能够训练10亿词级别语料库的词向量在10分钟之内,能够分类有着30万多类别的50多万句子在1分钟之内。 本文首先会介绍一些预备知识,比如softmax、ngram等,然后简单介绍word2vec原理,之后来讲解fastText的原理,并
一个参数量为 13B 的模型竟然打败了顶流 GPT-4?就像下图所展示的,并且为了确保结果的有效性,这项测试还遵循了 OpenAI 的数据去污方法,更关键的是没有发现数据污染的证据。
相关论文下载:cw2vec: (Learning Chinese Word Embeddings with Stroke n-gram Information) 与2016年facebook提出的论文(Enriching Word Vectors with Subword Information)直通车
当我使用 GPT 模型编写我的前几行代码时是 2021 年,那一刻我意识到文本生成已经到了一个拐点。在此之前,我在研究生院从头开始编写语言模型,并且我有使用其他文本生成系统的经验,所以我知道让它们产生有用的结果是多么困难。作为我在 Azure OpenAI 服务中发布 GPT-3 的公告工作的一部分,我很幸运能够及早使用 GPT-3,并且我尝试了它以准备它的发布。我让 GPT-3 总结了一份长文档,并尝试了少量提示。我可以看到结果比以前的模型先进得多,这让我对这项技术感到兴奋,并渴望了解它是如何实施的。而现在后续的 GPT-3.5、ChatGPT 和 GPT-4 模型正在迅速获得广泛采用,该领域的更多人也对它们的工作原理感到好奇。虽然其内部运作的细节是专有且复杂的,但所有 GPT 模型都共享一些不太难理解的基本思想。我这篇文章的目标是解释一般语言模型的核心概念,特别是 GPT 模型,并针对数据科学家和机器学习工程师进行解释。
本文主要由以下四部分组成:文本基本处理,文本语义分析,图片语义分析,语义分析小结。先讲述文本处理的基本方法,这构成了语义分析的基础。接着分文本和图片两节讲述各自语义分析的一些方法,值得注意的是,虽说分为两节,但文本和图片在语义分析方法上有很多共通与关联。最后我们简单介绍下语义分析在广点通“用户广告匹配”上的应用,并展望一下未来的语义分析方法
之前介绍的模型都是基于词向量的, 那么能不能换一个角度来表示语言。说英文的时候, 每个单词都是由音节构成的, 而人们听到了连续的音节就可以理解其中的含义, 而音节显然比词粒度更细。
Wechat & NUS《A Distributed System for Large-scale n-gram Language Models at Tencent》分布式语言模型,支持大型n-gram LM解码的系统。本文是对原VLDB2019论文的简要翻译。
word2vec, n-gram 等 word-embedding 方法选择用vector表示single word 而不考虑词根词缀之间的关系
发现网络上流传的关于困惑度(perplexity)大多数都是利用了N-gram或者主题模型的例子来阐述的。但是现在这个年代来学习这个指标的人多半都是想研究神经网络的,而两者的对困惑度的计算方法又很不同,这就不能不让人对“困惑度”感到“困惑”了。本人虽然才疏学浅,还是斗胆在这里尝试写一篇文章,试图用简洁的方式来梳理清楚其中的困惑。
Google Ngram viewer是一个有趣和有用的工具,它使用谷歌从书本中扫描来的海量的数据宝藏,绘制出单词使用量随时间的变化。
n-gram[1] 是文本文档中 n 个连续项目的集合,其中可能包括单词、数字、符号和标点符号。 N-gram 模型在许多与单词序列相关的文本分析应用中非常有用,例如情感分析、文本分类和文本生成。 N-gram 建模是用于将文本从非结构化格式转换为结构化格式的众多技术之一。 n-gram 的替代方法是词嵌入技术,例如 word2vec。N-grams 广泛用于文本挖掘和自然语言处理任务。
fastText模型是类似CBOW的三层结构,关于这个结构的介绍,很多博客都讲了,这里我不多赘述,我主要叙述一下其中的部分细节
另外Elasticsearch入门,我强烈推荐ElasticSearch新手搭建手册和这篇优秀的REST API设计指南 给你,这两个指南都是非常想尽的入门手册。
敏锐的读者会注意,目前为止本书介绍的所有查询都是针对整个词的操作。为了能匹配,只能查找倒排索引中存在的词,最小的单元为单个词。
无重复字符的最长字串是一道字符串处理算法的题目,在日常编程中,处理字符串是常见任务。用Python来实现leetcode这道算法题,该题目会涉及到一个概念“滑动窗口”。
在牵涉到语句生成尤其是机器翻译的应用领域,如何衡量生成语句与参考语句之间的相似性是一个很重要的问题,而在2002年Kishore Papineni et al.就提出了一个经典的衡量标准Bleu,如今这篇文献已经引用量过万,因此是NLP领域必读文章之一。
【新智元导读】 台大李宏毅老师的深度学习课程以其深入浅出和全面性而受到大家的欢迎。是不可多得的、较为全面的系统的深度学习中文教材。目前,他们在网上贴出了2017年的最新课程《机器学习及其深层与结构化》,包括 TensorFlow 介绍、深度学习模型的基础架构、用于反向传播的计算图、深度学习语言模型、深度学习芯片等等。我们第一时间带来课程设置和相关资源。 2017年台大李宏毅中文深度学习课程来了。课程名称是“机器学习及其深层与结构化(NTUEE Machine Learning and having it D
领取专属 10元无门槛券
手把手带您无忧上云