中文分词算法大致分为基于词典规则与基于机器学习两大派别,不过在实践中多采用结合词典规则和机器学习的混合分词。由于中文文本是由连续的汉字所组成,因此不能使用类似英文以空格作为分隔符进行分词的方式,中文分词需要考虑语义以及上下文语境。本文主要介绍基于词典规则的中文分词。
问题句子相似度计算,即给定客服里用户描述的两句话,用算法来判断是否表示了相同的语义。 项目地址:https://github.com/yanqiangmiffy/sentence-similarity
导读 本文首先简单介绍了自然语言处理和科研过程中重要的四部曲——调研、思考、编程和写作,然后对中文分词问题进行了说明,介绍了中文分词存在的难点如消歧、颗粒度问题、分词标准等。接着,本文总结了调研文献中的分词方法,包括基于词典的最大匹配法以及其相应的改进方法、基于字标注的分词方法等,同时也介绍了当前中文分词的研究进展和方向,如统计与词典相结合、基于深度学习的分词方法等。而后,本文具体介绍了如何基于词典的双向最大匹配法以及基于字标注的平均感知机进行分词的实验,对实验结果进行了分析并给出了几种改进模型的思路。最后
前言 中文分词算法是指将一个汉字序列切分成一个一个单独的词,与英文以空格作为天然的分隔符不同,中文字符在语义识别时,需要把数个字符组合成词,才能表达出真正的含义。分词算法是文本挖掘的基础,通常应用于自然语言处理、搜索引擎、智能推荐等领域。 一、分词算法分类 中文分词算法大概分为三大类: 第一类是基于字符串匹配,即扫描字符串,如果发现字符串的子串和词典中的词相同,就算匹配,比如机械分词方法。这类分词通常会加入一些启发式规则,比如“正向/反向最大匹配”,“长词优先”等。 第二类是基于统计以及机器学习的分词方法,
前言 中文分词算法是指将一个汉字序列切分成一个一个单独的词,与英文以空格作为天然的分隔符不同,中文字符在语义识别时,需要把数个字符组合成词,才能表达出真正的含义。分词算法是文本挖掘的基础,通常应用于自然语言处理、搜索引擎、智能推荐等领域。 一、分词算法分类 中文分词算法大概分为三大类。 第一类是基于字符串匹配,即扫描字符串,如果发现字符串的子串和词典中的词相同,就算匹配,比如机械分词方法。这类分词通常会加入一些启发式规则,比如“正向/反向最大匹配”,“长词优先”等。 第二类是基于统计以及机器学习的分词方法,
语音合成(text to speech),简称TTS。将文字转化为语音的一种技术,类似于人类的嘴巴,通过不同的音色说出想表达的内容。将计算机自己产生的、或外部输入的文字信息转变为可以听得懂的、流利的汉语口语输出的技术。
机器之心整理 参与:蒋思源 近日,Hai Liang Wang 和胡小夕在 GitHub 开放了一个中文近义词工具包 Synonyms,它可用于如文本对齐、推荐算法、相似度计算、语义偏移、关键字提取、概念提取、自动摘要、搜索引擎等很多 NLP 任务。该工具包目前能搜索近义词和比较语句相似度等任务,且词汇量达到了 125,792。机器之心也尝试使用 Synonyms 搜索一段中文的近义词,并有非常不错的反馈。 项目地址:https://github.com/huyingxi/Synonyms 该中文近义词工具
计算与推断思维 一、数据科学 二、因果和实验 三、Python 编程 四、数据类型 五、表格 六、可视化 七、函数和表格 八、随机性 九、经验分布 十、假设检验 十一、估计 十二、为什么均值重要 十三、预测 十四、回归的推断 十五、分类 十六、比较两个样本 十七、更新预测 利用 Python 进行数据分析 · 第 2 版 第 1 章 准备工作 第 2 章 Python 语法基础,IPython 和 Jupyter 笔记本 第 3 章 Python 的数据结构、函数和文件 第 4 章 NumPy 基础:数
语音合成(Text To Speech,TTS)技术将文本转化为声音,目前广泛应用于语音助手、智能音箱、地图导航等场景。TTS的实现涉及到语言学、语音学的诸多复杂知识,因合成技术的区别,不同的TTS系统在准确性、自然度、清晰度、还原度等方面也有着不一样的表现,如何从多维度综合评价TTS系统质量成了TTS测试人员的一大挑战。针对TTS前端、后端的存在的问题,选取TTS评测指标,制定各指标评测方法,形成了一套系统的TTS评测方案。
导语 | 在自然语言处理领域,文本表示学习技术可以帮助我们将现实世界转化为计算机可以处理的数据,以求更精准地建立学习模型。而在中文搜索场景下,同音词、易混词、错别字等文本的召回和相似度匹配一直存在着棘手的问题,本文通过图计算的角度来进行中文词向量的训练,并取得了积极的效果,希望与大家一同分享交流。
今年和去年前后相继出现了多个关于句子相似度判定的比赛,即得定两个句子,用算法判断是否表示了相同的语义或者意思。其中第4、5这个2个比赛数据集格式比较像,2、3 的数据集格式比较像,本仓库基于2、3数据集做实验
人工智能目前的三个主要细分领域为图像、语音和文本,老师分享的是达观数据所专注的文本智能处理领域。文本智能处理,亦即自然语言处理,试图让机器来理解人类的语言,而语言是人类认知发展过程中产生的高层次抽象实体,不像图像、语音可以直接转化为计算机可理解的对象,它的主要应用主要是在智能问答,机器翻译,文本分类,文本摘要,标签提取,情感分析,主题模型等等方面。
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
Json是一种轻量级的数据交换格式,具有数据格式简单,读写方便易懂等很多优点。用它来进行前后端的数据传输,大大的简化了服务器和客户端的开发工作量。
TTS的实现涉及到语言学、语音学的诸多复杂知识,因合成技术的区别,不同的TTS系统在准确性、自然度、清晰度、还原度等方面也有着不一样的表现,如何从多维度综合评价TTS系统质量成了TTS测试人员的一大挑战。
python有4个内建的数据结构–list(列表)、tuple(元组)、dictionary(字典)以及set(集合),它们可以统称为容器。
数据处理中有时要用到onehot编码,如果使用pandas自带的get_dummies方法,训练集产生的onehot编码特征会跟测试集、预测集不一样,正确的方式是使用sklearn自带的OneHotEncoder。
本节我们来尝试使用 TensorFlow 搭建一个双向 LSTM (Bi-LSTM) 深度学习模型来处理序列标注(分词)问题,主要目的是学习 Bi-LSTM 的用法。 Bi-LSTM 我们知道 RNN 是可以学习到文本上下文之间的联系的,输入是上文,输出是下文,但这样的结果是模型可以根据上文推出下文,而如果输入下文,想要推出上文就没有那么简单了,为了弥补这个缺陷,我们可以让模型从两个方向来学习,这就构成了双向 RNN。在某些任务中,双向 RNN 的表现比单向 RNN 要好,本文要实现的文本分词就是其中之一。
过去几年里,机器学习语言处理模型的发展十分迅速,已经不再局限于实验阶段,而是可以应用于某些先进的电子产品中。
谈谈中文分词 --- 统计语言模型在中文处理中的一个应用 上回我们谈到利用统计语言模型进行语言处理,由于模型是建立在词的基础上的,对于中日韩等语言,首先需要进行分词。例如把句子 “中国航天官员应邀到美国与太空总署官员开会。” 分成一串词: 中国 / 航天 / 官员 / 应邀 / 到 / 美国 / 与 / 太空 / 总署 / 官员 / 开会。 最容易想到的,也是最简单的分词办法就是查字典。这种方法最早是由北京航天航空大学的梁南元教授提出的。 用 “查字典” 法,其实就是我们把一个句子从左
TF-IDF (Term Frequency-nversDocument Frequency)是一种常用于信息处理和数据挖掘的加权技术。该技术采用一种统计方法,根据字词的在文本中出现的次数和在整个语料中出现的文档频率来计算一个字词在整个语料中的重要程度。它的优点是能过滤掉一些常见的却无关紧要本的词语,同时保留影响整个文本的重要字词。计算方法如下面公式所示:
链接:https://www.zhihu.com/question/356132676/answer/901244271
语言是人类特有的技能,语言的运用使我们能和其他人交流思想、传播知识,创造文化,从而促进我们思想的进步与人类自身发展进程。语言本身具有多文化特性,为更好地理解语言复杂的语言结构和语言神经科学基础,我们需要将语言能力分解为两部分:
为了建立一个基于内容的推荐系统,收集了西雅图152家酒店的酒店描述。正在考虑其他一些训练这种高质量清洁数据集的方法。
用可视化的方式演示了如何用Bert来做一个句子分类的应用,每一步都有非常详细的图解,特别的清楚。
在前不久InfoQ主办的Qcon全球软件开发大会上,达观数据创始人陈运文博士受邀出席发表了《文本智能处理的深度学习技术》的演讲。深度学习在人工智能领域已经成为热门的技术,特别是在图像和声音领域相比传统的算法大大提升了识别率。在文本智能处理中深度学习有怎样的具体实践方法?以下内容根据陈运文博士现场分享整理所得。 人工智能目前的三个主要细分领域为图像、语音和文本,达观数据所专注的是文本智能处理领域。文本智能处理,亦即自然语言处理,试图让机器来理解人类的语言,而语言是人类认知发展过程中产生的高层次抽象实体,不像图
导读:Python本身的数据分析功能并不强,需要安装一些第三方扩展库来增强其相应的功能。本文将对NumPy、SciPy、Matplotlib、pandas、StatsModels、scikit-learn、Keras、Gensim等库的安装和使用进行简单的介绍。
特征工程是通过对原始数据的处理和加工,将原始数据属性通过处理转换为数据特征的过程,属性是数据本身具有的维度,特征是数据中所呈现出来的某一种重要的特性,通常是通过属性的计算,组合或转换得到的。比如主成分分析就是将大量的数据属性转换为少数几个特征的过程。某种程度而言,好的数据以及特征往往是一个性能优秀模型的基础
针对有两个及两个以上连续字组成的词,随机mask字割裂了连续字之间的相关性,使模型不太容易学习到词的语义信息。比如一句话:‘北京是中国的首都,是一座美丽的城市’,在bert的随机mask LM任务中,可能是把‘京’mask掉在再做预测,这样就把‘北京’两个字的语义割裂了。
NLP(自然语言处理)是一组用于处理文本问题的技术。这个页面将帮助你从加载和清理IMDB电影评论来起步,然后应用一个简单的词袋模型,来获得令人惊讶的准确预测,评论是点赞还是点踩。
Python 近几年在数据科学行业获得了人们的极大青睐,各种资源也层出不穷。数据科学解决方案公司 ActiveWizards 近日根据他们自己的应用开发经验,总结了数据科学家和工程师将在 2017 年最常使用的 Python 库。 核心库 1)NumPy 地址:http://www.numpy.org 当使用 Python 开始处理科学任务时,不可避免地需要求助 Python 的 SciPy Stack,它是专门为 Python 中的科学计算而设计的软件的集合(不要与 SciPy 混淆,它只是这个 sta
Python 近几年在数据科学行业获得了人们的极大青睐,各种资源也层出不穷。数据科学解决方案公司 ActiveWizards 近日根据他们自己的应用开发经验,总结了数据科学家和工程师将在 2017 年最常使用的 Python 库。
选自Medium 作者:Igor Bobriakov 机器之心编译 参与:朱朝阳、吴攀 Python 近几年在数据科学行业获得了人们的极大青睐,各种资源也层出不穷。数据科学解决方案公司 ActiveWizards 近日根据他们自己的应用开发经验,总结了数据科学家和工程师将在 2017 年最常使用的 Python 库。 核心库 1)NumPy 地址:http://www.numpy.org 当使用 Python 开始处理科学任务时,不可避免地需要求助 Python 的 SciPy Stack,它是专门为 P
每个人一生中都会遇到一件事情,在事情出现之前不会关心,但是事情一旦来临就发现它极其重要,并且需要在很短的时间内做出重大决定,那就是给自己的新生宝宝起个名字。 因为要在孩子出生后两周内起个名字(需要办理出生证明了),估计很多人都像我一样,刚开始是很慌乱的,虽然感觉汉字非常的多随便找个字做名字都行,后来才发现真不是随便的事情,怎么想都发现不合适,于是到处翻词典、网上搜、翻唐诗宋词、诗经、甚至武侠小说,然而想了很久得到的名字,往往却受到家属的意见和反对,比如不顺口、和亲戚重名重音等问题,这样就陷入了重复寻找和否
序列标注是NLP中一项重要的任务,它主要包括分词,词性标注,命名实体识别等子任务。通过对预训练后的BERT模型进 行finetune,并与CRF进行结合,可以很好地解决序列标注问题。上篇文章对BERT官方源码进行了介绍,本篇文章将介绍 如何通过BERT解决序列标注问题。同时本篇文章将BERT+CRF模型与其他模型进行了对比,并且对BERT在序列标注上任务上存在的问题进行了分析。
中文分词算法是指将一个汉字序列切分成一个一个单独的词,与英文以空格作为天然的分隔符不同,中文字符在语义识别时,需要把数个字符组合成词,才能表达出真正的含义。分词算法是文本挖掘的基础,通常应用于自然语言处理、搜索引擎、智能推荐等领域。
text2vec, chinese text to vetor.(文本向量化表示工具,包括词向量化、句子向量化)
PEP 是 Python Enhancement Proposals 的缩写,直译过来就是「Python增强建议书」也可叫做「Python改进建议书」,说的直白点就是Python相关的一些文档,主要用来传递某些信息,这些信息包括某个通知亦或是某个新的规范。关于更深层次的概念,大家有兴趣的可以自行去了解。
Tokenizer是一个用于向量化文本,或将文本转换为序列(即单个字词以及对应下标构成的列表,从1算起)的类。是用来文本预处理的第一步:分词。结合简单形象的例子会更加好理解些。
在今年的ACL 2020上,来自创新工场大湾区人工智能研究院的两篇论文中的模型,刷新了这一领域的成绩。
原文链接:https://zhuanlan.zhihu.com/p/52155493
在 Python 中,可以使用 pandas 和 numpy 等库对类似索引元素上的记录进行分组,这些库提供了多个函数来执行分组。基于相似索引元素的记录分组用于数据分析和操作。在本文中,我们将了解并实现各种方法对相似索引元素上的记录进行分组。
前2篇分别系统性介绍了numpy和matplotlib的入门基本知识,今天本文自然是要对pandas进行入门详细介绍,通过本文你将系统性了解pandas为何会有数据分析界"瑞士军刀"的盛誉。
在知乎中自然语言处理话题下有一个非常有意思的话题 "NLP 任务中有哪些巧妙的idea?" ,目前已经有1188+关注,40000+浏览量,今天就为大家分享下获得最高点赞的答案,复旦大学邱锡鹏教授的回答:
在做情感分析的时候,有时候需要对文本进行分词,做词频统计。上图是某个店铺的留言数据,对于第26条,只是为了说明“东西很好,很好用!”,但是为了凑字数留言,就写成了如图所示。但是我们在进行词频统计的时候,只统计“东西很好,很好用!”一次就够了,因此,就需要用到“数据的句内去重”。
提取数据,特别是从网络中提取数据是数据科学家的重要任务之一。Wget 是一个免费的工具,用于以非交互式方式从 Web 上下载文件。它支持 HTTP、HTTPS 和 FTP 协议,通过 HTTP 代理进行检索。由于它是非交互式的,即使用户没有登录,它也可以在后台工作。所以,如果你想下载一个网站或一个页面上的所有图片,wget 会帮助你。
作者:深度沉迷学习 Python爱好者社区专栏作者 简书地址:https://www.jianshu.com/u/d76c6535dbc5 Python语言: 简要概括一下Python语言在数据分析
提供真正的数组,相比Python内置列表来说速度更快,NumPy也是Scipy、Matplotlib、Pandas等库的依赖库,内置函数处理数据速度是C语言级别的,因此使用中应尽量使用内置函数。
领取专属 10元无门槛券
手把手带您无忧上云