首页 > 编程知识 正文

自然语言处理技术有哪些,自然语言处理原理与技术实现

时间:2023-05-06 10:29:54 阅读:142256 作者:222

原文

这位作者也是翻译的外语,是英语原文的链接

引言自然语言处理(NLP )是艺术与科学的结合,旨在从文本数据中提取信息。 在它的帮助下,我们从文本中提取了适合计算机算法的信息。 从自动翻译、文本分类到情绪分析,自然语言处理已成为所有数据科学家的必备技能之一。

典型的10个NLP任务如下。

词干提取词形复元词量化词性标注命名实体消歧命名实体识别情感分析文本语义相似分析语言识别文本总结详细展开。 1 .什么是词干提取什么是词干提取? 词干提取是指从词中去除变化和派生形式,转换为词干和原型形式的过程。 提取词干的目标是,即使词干不是词典的词干,也将相关词恢复为同一词干。 例如英语:

beautiful和beautifully的词干相同,为beautiGood,better和best的词干分别为good、better和best。 相关论文: Martin Porter的波特词干算法原文

关联算法: Porter2双词干算法的Python实现

程序实现: Porter2算法提取词干的代码:

#! pipinstallstemmingfromstemming.porter2importstemstem (' casually ' )2.什么是词形还原词形还原? 词形复原是指将一组单词复原为语源或词典的词目形式的过程。 还原过程考虑了POS的问题,即句子中的词的含义、词对相邻句子的含义等。 例如,在英语中:

beautiful和beautifully分别恢复为beautiful和beautifully。 good、better和best分别还原为good、good和good相关论文1:一文,详细讨论了词形还原的不同方法。 如果想知道传统的词形还原的结构的话是必读的。

相关论文2:这篇论文非常好,讨论了利用深度学习对变化丰富的语言进行词形恢复时面临的问题。

数据集:此处是指向Treebank-3数据集的链接。 您可以使用它创建自己的词形恢复工具。

程序的安装: spacy中的英语词形复原代码如下所示

#! pipinstallspacy # python-mspacydownloadenimportspacynlp=spacy.load (en ) ) doc=' goodbetterbest ' fortokeninnlp ) ) DOD 这个技术很实用。 因为电脑不能处理自然语言。 字矢量化可以捕捉自然语言与实数的本质关系。 单词向量化可以使单词或短语表示为确定维度的向量,例如,向量的长度可以是100。

例如,Man一词可以用五维向量表示。

[导出外链图像失败。 源站可能有防盗链机制。 我们建议您保存并直接上传图片。 (img-brz0VdBI-1630544238308 ) ) 3359 github.com/smile light/images/raw/master /常见10种

这里的各个数字表示某个特定方向上的语言水平。

[导出外链图像失败。 源站可能有防盗链机制。 我们建议您保存并直接上传图片。 (img-kNpXM4ch-1630544238311 ) 3359 github.com/smile light/images/raw/master /常见10种

相关博客:这篇文章详细描述了单词的量化

相关论文:这篇论文详细说明了词的矢量化。 深入理解语言的方向性是必读的。

相关工具:这是一个基于浏览器的单词向量可视化工具。

预训练字的向量:这里有facebook的预训练字的向量列表。 包括294种语言。

在这里可以下载google news的预训练字的向量。

#! pipinstallgensimfromgensim.models.keyedvectorsimportkeyedvectorsword _ vectors=keyed vectors.load _ word2vec _ formarm

sentence=[['first”,“sentence'],['second”,“sentence”] model=gens im.models.word2vec (sentence,min )

词性标注

什么事词性标注?简单来说,词性标注是对句子中的词语标注为名字、动词、形容词、副词等的过程。例如,对句子“Ashok killed the snake with a stick”,词性标注会识别:

Ashok 代词killed 动词the 限定词snake 名词with 连词a 限定词stick 名词. 标点

论文1:choi aptly的这篇《The Last Gist to theState-of-the-Art 》介绍了一种叫动态特征归纳的新方法。这是目前词性标注最先进的方法。

论文2:这篇文章介绍了通过隐马尔科夫模型做无监督词性标注学习的方法。

程序实现:这段代码可以在spacy上做词性标注

#!pip install spacy#!python -m spacy download en nlp=spacy.load('en')sentence="Ashok killed the snake with a stick"for token in nlp(sentence): print(token,token.pos_) 5. 命名实体消歧

什么是命名实体消岐?命名实体消岐是对句子中的提到的实体识别的过程。例如,对句子“Apple earned a revenue of 200 Billion USD in 2016”,命名实体消岐会推断出句子中的Apple是苹果公司而不是指一种水果。一般来说,命名实体要求有一个实体知识库,能够将句子中提到的实体和知识库联系起来。

论文1:Huang的这篇论文运用了基于深度神经网络和知识库的深层语义关联模型,在命名实体消岐上达到了领先水平。

论文2:Ganea and Hofmann的这篇文章运用了局部神经关注模型和词向量化,没有人为设置特征。

6. 命名实体识别

体识别是识别一个句子中有特定意义的实体并将其区分为人名,机构名,日期,地名,时间等类别的任务。例如,一个NER会将一个这样的句子:

“Ram of Apple Inc. travelled to Sydney on 5th October 2017”

返回如下的结果:

Ram
of
Apple ORG
Inc. ORG
travelled
to
Sydney GPE
on
5th DATE
October DATE
2017 DATE

这里,ORG代表机构组织名,GPE代表地名。

然而,当NER被用在不同于该NER被训练的数据领域时,即使是最先进的NER也往往表现不佳。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-IGZYUxW2-1630544238314)(https://github.com/smilelight/images/raw/master/%E5%B8%B8%E8%A7%8110%E7%A7%8D%E8%87%AA%E7%84%B6%E8%AF%AD%E8%A8%80%E5%A4%84%E7%90%86%E6%8A%80%E6%9C%AF/ner.png)]

论文:这篇优秀的论文使用双向LSTM(长短期记忆网络)神经网络结合监督学习和非监督学习方法,在4种语言领域实现了命名实体识别的最新成果。

程序实现:以下使用spacy执行命名实体识别。

import spacynlp=spacy.load('en')sentence="Ram of Apple Inc. travelled to Sydney on 5th October 2017"for token in nlp(sentence): print(token, token.ent_type_) 7. 情感分析

什么是情感分析?情感分析是一种广泛的主观分析,它使用自然语言处理技术来识别客户评论的语义情感,语句表达的情绪正负面以及通过语音分析或书面文字判断其表达的情感等等。例如:

“我不喜欢巧克力冰淇淋”—是对该冰淇淋的负面评价。

“我并不讨厌巧克力冰激凌”—可以被认为是一种中性的评价。

从使用LSTMs和Word嵌入来计算一个句子中的正负词数开始,有很多方法都可以用来进行情感分析。

博文1:本文重点对电影推文进行情感分析。

博文2:本文重点对印度金奈洪水期间的推文进行情感分析。

论文1:本文采用朴素贝叶斯的监督学习方法对IMDB评论进行分类。

论文2:本文利用LDA的无监督学习方法来识别用户生成评论的观点和情感。本文在解决注释评论短缺的问题上表现突出。

资料库:这是一个很好的包含相关研究论文和各种语言情感分析程序实现的资料库。

数据集1:多域情感数据集版本2.0

数据集2:Twitter情感分析数据集

竞赛:一个非常好的比赛,你可以检查你的模型在烂番茄电影评论的情感分析任务中的表现。

8. 语义文本相似度

什么是语义文本相似度分析?语义文本相似度分析是对两段文本的意义和本质之间的相似度进行分析的过程。注意,相似性与相关性是不同的。

例如:

汽车和公共汽车是相似的,但是汽车和燃料是相关的。

论文1:本文详细介绍了文本相似度测量的不同方法。是一篇可以一站式了解目前所有方法的必读文章。

论文2:本文介绍了用CNN神经网络去比对两个短文本。

论文3:本文利用Tree-LSTMs方法得到了文本的语义相关和语义分类的最新成果。

9. 语言识别

什么是语言识别?语言识别指的是将不同语言的文本区分出来。其利用语言的统计和语法属性来执行此任务。语言识别也可以被认为是文本分类的特殊情况。

博文:在这篇由fastText撰写的博文中介绍了一种新的工具,其可以在1MB的内存使用情况下识别170种语言。

论文1:本文讨论了285种语言的7种语言识别方法。

论文2:本文描述了如何使用深度神经网络来实现自动语言识别的最新成果。

10. 文本摘要

什么是文本摘要?文本摘要是通过识别文本的重点并使用这些要点创建摘要来缩短文本的过程。文本摘要的目的是在不改变文本含义的前提下最大限度地缩短文本。

论文1:本文描述了基于神经注意模型的抽象语句梗概方法。

论文2:本文描述了使用序列到序列的RNN在文本摘要中达到的最新结果。

资料库:Google Brain团队的这个资料库拥有使用为文本摘要定制的序列到序列模型的代码。该模型在Gigaword数据集上进行训练。

应用程序:Reddit的autotldr机器人使用文本摘要来梗概从文章到帖子的各种评论。这个功能在Reddit用户中非常有名。

程序实现:以下是如何用gensim包快速实现文本摘要。

from gensim.summarization import summarizesentence = "Automatic summarization is the process of shortening a text document with software, in order to create a summary with the major points of the original document. Technologies that can make a coherent summary take into account variables such as length, writing style and syntax.Automatic data summarization is part of machine learning and data mining. The main idea of summarization is to find a subset of data which contains the information of the entire set. Such techniques are widely used in industry today. Search engines are an example; others include summarization of documents, image collections and videos. Document summarization tries to create a representative summary or abstract of the entire document, by finding the most informative sentences, while in image summarization the system finds the most representative and important (i.e. salient) images. For surveillance videos, one might want to extract the important events from the uneventful context.There are two general approaches to automatic summarization: extraction and abstraction. Extractive methods work by selecting a subset of existing words, phrases, or sentences in the original text to form the summary. In contrast, abstractive methods build an internal semantic representation and then use natural language generation techniques to create a summary that is closer to what a human might express. Such a summary might include verbal innovations. Research to date has focused primarily on extractive methods, which are appropriate for image collection summarization and video summarization."summarize(sentence) 结束语

以上所有是最流行的NLP任务以及相关的博客、研究论文、资料库、应用等资源。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。