![](https://img-blog.csdnimg.cn/20190903215725363.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
自然语言处理 NLP
是杰夫呀
记录学习的点点滴滴。
展开
-
百度NLP工具LAC初体验:分词,词性标注,命名实体识别
输入:from LAC import LAC# 装载LAC模型lac = LAC(mode='lac')# 单个样本输入,输入为Unicode编码的字符串text = u"LAC是个优秀的分词工具"lac_result = lac.run(text)print(lac_result)# 批量样本输入, 输入为多个句子组成的list,平均速率更快texts = [u"LAC是个优秀的分词工具", u"百度是一家高科技公司"]lac_result = lac.run(texts)原创 2020-12-07 15:29:18 · 5788 阅读 · 0 评论 -
jieba 计算2个句子的文本相似度(Python实现)
余弦相似度,又称为余弦相似性,是通过计算两个向量的夹角余弦值来评估他们的相似度。余弦相似度将向量根据坐标值,绘制到向量空间中,如最常见的二维空间。github 参考链接:https://github.com/ZhanPwBibiBibi/CHlikelihood# -*- coding: utf-8 -*-import jiebaimport numpy as npimport redef get_word_vector(s1,s2): """ :pa..原创 2020-07-21 16:42:40 · 6261 阅读 · 0 评论 -
依存分析:中文依存句法分析简介
一、句法分析句法分析是自然语言处理中的关键技术之一,其基本任务是确定句子的句法结构或者句子中词汇之间的依存关系。主要包括两方面的内容,一是确定语言的语法体系,即对语言中合法的句子的语法结构给与形式化的定义;另一方面是句法分析技术,即根据给定的语法体系,自动推导出句子的句法结构,分析句子所包含的句法单位和这些句法单位之间的关系。绘制依存句法结构图,可以使用这个工具:http://nlp.nju.edu.cn/tanggc/tools/DependencyViewer.html。下面的图也都是用这个工原创 2020-07-17 15:06:25 · 1583 阅读 · 1 评论 -
Transformer 的优点和关键优势
本文不是一篇全文解读,仅谈一谈该模型的关键优势,了解我们在构建深度学习模型时使用 Transformer 模型的适用条件是什么。什么是 Transformer?Transformer 是 Google 的研究者于 2017 年在《Attention Is All You Need》一文中提出的一种用于 seq2seq 任务的模型,它没有 RNN 的循环结构或 CNN 的卷积结构,在机器翻译等任务中取得了一定提升。动机RNN、LSTM 和 GRU 网络已在序列模型、语言建模、机器翻译等应用原创 2020-07-17 11:13:05 · 28441 阅读 · 1 评论 -
glove.840B.300d glove词向量词嵌入文件国内服务器下载
问题描述进行NLP处理时,需要下载glove 预训练的词向量。默认下载是从国外服务器获取数据,下载数度特别慢,几乎为0。解决方法mxnet已经收集了stanfordnlp的glove词向量。可以使用mxnet的国内服务器进行下载,从而实现加速下载。服务器地址:https://apache-mxnet.s3.cn-north-1.amazonaws.com.cn下载地址:链接:1.glove.840B.300d.zip: https://apache-mxnet.s3.cn-n..原创 2020-07-13 10:54:50 · 4841 阅读 · 5 评论 -
信息抽取(Information Extraction:NER(命名实体识别),关系抽取)
信息/数据抽取是指从非结构化或半结构化文档中提取结构化信息的技术。信息抽取有两部分:命名实体识别(目标是识别和分类真实世界里的知名实体)和关系提取(目标是提取实体之间的语义关系)。概率模型/分类器可以帮助实现这些任务。信息抽取的定义为:从自然语言文本中抽取指定类型的实体、关系、事件等事实信息,并形成结构化数据输出的文本处理技术信息抽取是从文本数据中抽取特定信息的一种技术。文本数据是由一些具体的单位构成的,例如句子、段落、篇章,文本信息正是由一些小的具体的单位构成的,例如字、词、词组、句子、段落或.原创 2020-05-13 14:52:50 · 4805 阅读 · 0 评论 -
自然语言理解(NLU)难在哪儿?
文章作者:刘知远 清华大学 副教授自然语言理解本质是结构预测要搞清楚自然语言理解难在哪儿,先看自然语言理解任务的本质是什么。作为人工智能关注的三大信息类型(语音、视觉、语言)之一,自然语言文本是典型的无结构数据,由语言符号(如汉字)序列构成。要实现对自然语言的表意的理解,需要建立对该无结构文本背后的语义结构的预测。因此,自然语言理解的众多任务,包括并不限于中文分词、词性标注、命名实体识...原创 2020-02-24 16:26:29 · 1890 阅读 · 0 评论 -
自然语言处理NLP 中文分词原理和工具总结
中文分词是中文文本处理的一个基础步骤,也是中文人机自然语言交互的基础模块。不同于英文的是,中文句子中没有词的界限,因此在进行中文自然语言处理时,通常需要先进行分词,分词效果将直接影响词性、句法树等模块的效果。当然分词只是一个工具,场景不同,要求也不同。在人机自然语言交互中,成熟的中文分词算法能够达到更好的自然语言处理效果,帮助计算机理解复杂的中文语言。竹间智能在构建中文自然语言对话系统时,结合...原创 2019-10-29 16:31:38 · 2439 阅读 · 0 评论 -
NLP中的Attention注意力机制和Transformer详解
话说自公元二零一三年,深度学习网络一枝独秀,自机器学习王国脱颖而出,带动了人工智能领域的发展。其中它最主要的两大家,卷积网络(CNN)和循环网络(RNN),因其独特的性质,分别在计算机视觉和自然语言处理领域得到广泛使用。然而这两大家却都还是上世纪就被提出来了,本世纪虽有创新,却也逃脱不了这两大家的干系。前有 RNN 的变种树状的递归网络 (Recursive Neural Network),后...原创 2019-10-28 23:35:51 · 4193 阅读 · 0 评论 -
NLP 如何评估词向量
目前词向量的评估一般分为两大类:extrinsic evaluation和 intrinsic evaluation。即内部评估和外部评估。内部评估内部评估直接衡量单词之间的句法和语义关系。这些任务通常涉及一组预先选择的查询术语和语义相关的目标词汇,我们将其称为query inventory。similarity 相关性度量当前绝大部分工作(比如以各种方式改进 word embed...原创 2019-10-28 15:39:59 · 1373 阅读 · 0 评论 -
编辑距离(Edit Distance) 一文读懂(Python实现)
在NLP任务中经常会碰到比较两个字符串的相似度,比如拼写纠错和指代判断。用户很可能在搜索时输入错别字,比如“微信”输成了“为信”,但是搜索引擎返回的结果纠正为“微信”的搜索结果,如图1-1。另外比如“北京大学校长”和“北大校长”,“北京故宫博物院”和“北京故宫”都是指的同一个人或事物。上述问题,可以利用两个词或短语的编辑距离大小来解决。图1-1 搜索词“为信”的百度结果编辑距...原创 2019-10-20 19:44:11 · 14233 阅读 · 4 评论 -
Python 离线安装gensim所需要的16个依赖包清单
numpy scipy six smart_open boto requests boto3 certifi chardet urllib3 idna s3transfer jmespath botocore docutils python-dateutil原创 2019-10-20 17:49:01 · 1535 阅读 · 0 评论 -
jieba分词原理 ‖ 基于前缀词典及动态规划的分词实现
jieba分词原理 ‖ 基于前缀词典及动态规划的分词实现 jieba分词原理 ‖ 基于汉字成词能力的HMM模型识别未登录词实现 jieba分词原理 ‖ 词性标注 jieba分词原理 ‖ 关键词抽取1 简介jieba分词主要是基于统计词典,构造一个前缀词典;然后利用前缀词典对输入句子进行切分,得到所有的切分可能,根据切分位置,构造一个有向无环图;通过动态规划算法,计算得到最大概率路径,也...原创 2019-09-10 11:02:03 · 2465 阅读 · 4 评论 -
NLP自然语言处理简介
作者:刘知远。清华大学计算机系副教授、博士生导师。主要研究方向为表示学习、知识图谱和社会计算。2011年获得清华大学博士学位,已在ACL、IJCAI、AAAI等人工智能领域的著名国际期刊和会议发表相关论文60余篇,Google Scholar统计引用超过2700次。承担多项国家自然科学基金。曾获清华大学优秀博士学位论文、中国人工智能学会优秀博士学位论文、清华大学优秀博士后、中文信息学会青年创新奖...原创 2019-09-05 23:53:22 · 5898 阅读 · 0 评论 -
NLP分词中的2750个停用词和9995个同义词
停用词:在信息检索中,为节省存储空间和提高搜索效率,在处理自然语言数据(或文本)之前或之后会自动过滤掉某些字或词,这些字或词即被称为Stop Words(停用词)。这些停用词都是人工输入、非自动化生成的,生成后的停用词会形成一个停用词表。但是,并没有一个明确的停用词表能够适用于所有的工具,甚至有一些工具是明确地避免使用停用词来支持短语搜索的。对于一个给定的目的,任何一类的词语都可以被选...原创 2019-09-04 00:19:31 · 2062 阅读 · 0 评论 -
NLP的词向量 之 Word2vec
1. 词嵌入(Word Embedding)自然语言是一套用来表达含义的复杂系统。在这套系统中,词是表义的基本单元。顾名思义,词向量是⽤来表示词的向量,也可被认为是词的特征向量或表征。把词映射为实数域向量的技术也叫词嵌⼊(word embedding)。近年来,词嵌⼊已逐渐成为⾃然语⾔处理的基础知识。词向量指的是一个词的向量表示。如果你希望计算机能够进行一些复杂点的文本语义学习,你必须得将...原创 2019-09-04 00:04:03 · 1655 阅读 · 0 评论 -
NLP自然语言处理中的文本相似度
1. 背景介绍CSDN 及各类技术博客上有很多文本相似度方面的文章,但它们的侧重点是代码,目标受众是开发人员,代码基础薄弱的话看起来会比较吃力。本文侧重讲述逻辑和使用场景,尝试将算法通俗化,尽量多举例,降低理解门槛。希望读完本文,大家可以对文本相似度有一个完整而深刻的理解,最好能在非代码维度上超过开发人员(达到了这种水平,输出的需求自然会得到开发同学最大的尊重和认同)。文本相似度,顾名...原创 2019-09-03 22:28:40 · 10829 阅读 · 3 评论 -
jieba分词原理 ‖ 基于汉字成词能力的HMM模型识别未登录词实现
jieba分词原理 ‖ 基于前缀词典及动态规划的分词实现 jieba分词原理 ‖ 基于汉字成词能力的HMM模型识别未登录词实现 jieba分词原理 ‖ 词性标注 jieba分词原理 ‖ 关键词抽取1 算法简介博主已经介绍了基于前缀词典和动态规划方法实现分词,但是如果没有前缀词典或者有些词不在前缀词典中,jieba分词一样可以分词,那么jieba分词是如何对未登录词进行分词呢?这就是本文...原创 2019-09-10 13:52:30 · 2302 阅读 · 0 评论 -
jieba分词原理 ‖ 词性标注
jieba分词原理 ‖ 基于前缀词典及动态规划的分词实现 jieba分词原理 ‖ 基于汉字成词能力的HMM模型识别未登录词实现 jieba分词原理 ‖ 词性标注 jieba分词原理 ‖ 关键词抽取1 简介词性(part-of-speech)是词汇基本的语法范畴,通常也称为词类,主要用来描述一个词在上下文的作用。例如,描述一个概念的词就是名词,在下文引用这个名词的词就是代词。有的词性经常...原创 2019-09-10 16:49:48 · 12591 阅读 · 7 评论 -
jieba分词原理 ‖ 关键词抽取
jieba分词原理 ‖ 基于前缀词典及动态规划的分词实现 jieba分词原理 ‖ 基于汉字成词能力的HMM模型识别未登录词实现 jieba分词原理 ‖ 词性标注 jieba分词原理 ‖ 关键词抽取1 简介关键词抽取就是从文本里面把跟这篇文档意义最相关的一些词抽取出来。这个可以追溯到文献检索初期,当时还不支持全文搜索的时候,关键词就可以作为搜索这篇论文的词语。因此,目前依然可以在论文中看...原创 2019-09-11 21:47:37 · 2299 阅读 · 0 评论 -
Python 替换同义词(jieba 实现)
输入:年假到底放几天?期望输出:年休假究竟放几天?1. 同义词synonymWords文件格式:每行第一列为期望词,后几个为待替换的同义词。词和词之间用 tab 键分隔。年休假 年假 年休究竟 到底2. Python 实现代码:# encoding=utf-8import jiebadef replaceSynonymWords(string1...原创 2019-09-26 16:32:01 · 5894 阅读 · 0 评论 -
PySpark 统计所有词频并排序返回 DataFrame
上一篇文章已经实现了PySpark 统计词频并返回排名TOP N:https://blog.csdn.net/sinat_26811377/article/details/101208346发现有两个小缺点需要改一下,因此对代码做了修改。1. 统计所有词频。而不仅仅是统计TOP N的词频。2. 返回的结果保存为DataFrame。而不是用list。最终实现结果如下。输入文本(l...原创 2019-09-27 13:51:51 · 2162 阅读 · 0 评论 -
PySpark 统计词频并返回排名TOP N
输入:txt文本文件输出结果:[('技术', 48), ('百度', 45), ('模型', 38), ('语义', 31), ('分析', 30), ('情感', 25), ('NLP', 20), ('自然语言', 20), ('方法', 19), ('中', 18), ('用户', 17), ('观点', 16), ('计算', 16), ('主题', ...原创 2019-09-29 14:55:19 · 1511 阅读 · 0 评论 -
Python 利用Word2Vec计算词语相似度(gensim实现)
使用 gensim 训练中文词向量,计算词语之间的相似度。输入:语料库,txt文件。输出:余弦相似度。实现代码:# -*- coding: utf-8 -*-import loggingfrom gensim import modelsfrom gensim.models import word2vecdef main(): logging.basicCo...原创 2019-09-29 18:51:24 · 15907 阅读 · 6 评论 -
Python 中文分词并去除停用词
import jieba# 创建停用词listdef stopwordslist(filepath): stopwords = [line.strip() for line in open(filepath, 'r', encoding='utf-8').readlines()] return stopwords# 对句子进行分词def seg_senten...原创 2019-09-29 14:42:43 · 29169 阅读 · 7 评论 -
基于规则的中文分词方法
前记目前,常见的中文分词方法可以分为三类:基于字典、词库匹配的分词方法(基于规则)。这种方法是将待分的句子与一个充分大的词典中的词语进行匹配。常用的有:正向最大匹配,逆向最大匹配,最少切分法。实际应用中,将机械分词作为初分手段,利用语言信息提高切分准确率。优先识别具有明显特征的词,以这些词为断点,将原字符串分为较小字符串再机械匹配,以减少匹配错误率,或将分词与词类标注结合。 基于词频度统...原创 2019-09-30 10:31:23 · 3555 阅读 · 0 评论