首页 > 其他分享 >什么是自然语处理,自然语言处理主要有什么用

什么是自然语处理,自然语言处理主要有什么用

时间:2023-04-18 15:36:21浏览次数:21  
标签:表示 文本 模型 处理 什么 自然语言 分词 向量


一.什么是NLP

NLP,中文叫自然语言处理,简单来说,是一门让计算机理解、分析以及生成自然语言的学科,大概的研究过程是:研制出可以表示语言能力的模型——提出各种方法来不断提高语言模型的能力——根据语言模型来设计各种应用系统——不断地完善语言模型。

NLP理解自然语言目前有两种处理方式:

1.基于规则来理解自然语言,即通过制定一些系列的规则来设计一个程序,然后通过这个程序来解决自然语言问题。输入是规则,输出是程序;

2.基于统计机器学习来理解自然语言,即用大量的数据通过机器学习算法来训练一个模型,然后通过这个模型来解决自然语言问题。输入是数据和想要的结果,输出是模型。

接下来简单介绍NLP常见的任务或应用。

二.NLP能做什么:

1.分词

中文可以分为字、词、短语、句子、段落、文档这几个层面,如果要表达一个意思,很多时候通过一个字是无法表达的一个含义的,至少一个词才能更好表达一个含义,所以一般情况是以“词”为基本单位,用“词”组合来表示“短语、、句子、段落、文档”,至于计算机的输入是短语或句子或段落还是文档就要看具体的场景。由于中文不像英文那样词与词之间用空格隔开,计算机无法用区分一个文本有哪些词,所以要进行分词。目前分词常用的方法有两种:

(1)基于规则:Heuristic(启发式)、关键字表

(2)基于机器学习/统计方法:HMM(隐马尔科夫模型)、CRF(条件随机场)

(注:在这里就不具体介绍方法的原理和实现过程了,大家感兴趣,可以自行百度了解)

现状分词这项技术非常成熟了,分词的准确率已经达到了可用的程度,也有很多第三方的库供我们使用,比如jieba,所以一般在实际运用中我们会采用“jieba+自定义词典”的方式进行分词。

2.词编码

现在把“我喜欢你”这个文本通过分词分成“我”、“喜欢”、“你”三个词,此时把这三词作为计算机的输入,计算机是无法理解的,所以我们把这些词转换成计算机能理解的方式,即词编码,现在普遍是将词表示为词向量,来作为机器学习的输入和表示空间。目前有两种表示空间:

(1)离散表示:

A.One-hot表示

假设我们的语料库是:

我喜欢你你对我有感觉吗

词典{“我”:1,“喜欢”:2,“你”:3,“对“:4,“有”:5,“感觉”:6,“吗”:7}。一共有七个维度。

所以用One-hot表示:

“我”:[1,0,0,0,0,0,0]

“喜欢”:[0,1,0,0,0,0,0]

········

“吗”:[0,0,0,0,0,0,1]

即一个词用一个维度表示

B.bagofword:即将所有词的向量直接加和作为一个文档的向量。

所以“我喜欢你”就表示为:“[1,1,1,0,0,0,0]”。

C.Bi-gram和N-gram(语言模型):考虑了词的顺序,用词组合表示一个词向量。

这三种方式背后的思想是:不同的词都代表着不同的维度,即一个“单位”(词或词组合等)为一个维度。

(2)分布式表示:word2vec,表示一个共现矩阵向量。其背后的思想是“一个词可以用其附近的词来表示”。

离散式或分布式的表示空间都有它们各自的优缺点,感兴趣的读者可以自行查资料了解,在这里不阐述了。这里有一个问题,当语料库越大时,包含的词就越多,那词向量的维度就越大,这样在空间储存和计算量都会指数增大,所以工程师在处理词向量时,一般都会进行降维,降维就意味着部分信息会丢失,从而影响最终的效果,所以作为产品经理,跟进项目开发时,也需要了解工程师降维的合理性。

3.自动文摘

自动文摘是指在原始文本中自动摘要出关键的文本或知识。为什么需要自动文摘?有两个主要的原因:(1)信息过载,我们需要在大量的文本中抽出最有用、最有价值的文本;(2)人工摘要的成本非常高。目前自动文摘有两种解决思路:第一种是extractive(抽取式),从原始文本中找到一些关键的句子,组成一篇摘要;另一种方式是abstractive(摘要式),计算机先理解原始文本的内容,再用自己的意思将其表达出来。自动文摘技术目前在新闻领域运用的最广,在信息过载的时代,用该技术帮助用户用最短的时间了解最多、最有价值的新闻。此外,如何在非结构的数据中提取结构化的知识也将是问答机器人的一大方向。

4.实体识别

实体识别是指在一个文本中,识别出具体特定类别的实体,例如人名、地名、数值、专有名词等。它在信息检索、自动问答、知识图谱等领域运用的比较多。实体识别的目的就是告诉计算机这个词是属于某类实体,有助于识别出用户意图。比如百度的知识图谱:

“周星驰多大了”识别出的实体是“周星驰”(明星实体),关系是“年龄”,搜索系统可以知道用户提问的是某个明星的年龄,然后结合数据“周星驰出生时间1962年6月22日”以及当前日期来推算出周星驰的年龄,并把结果直接把这个结果显示给用户,而不是显示候选答案的链接。

此外,NLP常见的任务还有:主题识别、机器翻译、文本分类、文本生成、情感分析、关键字提取、文本相似度等,以后有时间再为大家做简单介绍。
 

标签:表示,文本,模型,处理,什么,自然语言,分词,向量
From: https://blog.51cto.com/u_13973070/6203458

相关文章

  • 自然语言处理发展,主要存在哪些难点?
    1.语言不规范,灵活性高自然语言并不规范,虽然可以找一些基本规则,但是自然语言太灵活了,同一个意思可以用多种方式来表达,不管是基于规则来理解自然语言还是通过机器学习来学习数据内在的特征都显得比较困难。2.错别字在处理文本时,我们会发现有大量的错别字,怎么样让计算机理解这些错别字......
  • 大数据的安全防护,带来了哪些全新的挑战,建设数据防护体系的思路是什么?
    大数据时代,数据的产生、流通和应用更加普遍和密集。然而,新的技术、新的需求和新的应用场景给数据安全防护带来了全新的挑战。一是新技术带来的挑战。分布式计算存储架构、数据深度发掘及可视化等新型技术能够大大提升数据资源的存储规模和处理能力,但也为数据安全保护带来......
  • 什么是数据科学,如何才能成为一名数据科学家?
    数据科学家的年薪是多少,这都不是我们的目标,也不是成功的标志,这是一种价值的标志。怎么样才能有价值?我们要有能力,谁都想要你,不是因为你是他的亲戚或者学生,他想要你这才是价值,我们要的是价值,而不是所谓的成功。什么是数据科学?数据科学有很多很多定义,最基本的定义就是computerscience,......
  • 设计异常处理类Cexception,并基于异常处理类设计并实现日期类Date
    定义一个异常类Cexception解决日期类实现中的自定义异常处理。设计的日期类应包含以下内容:① 有三个成员数据:年、月、日;② 有设置日期的成员函数;③ 有用格式"月/日/年"输出日期的成员函数;④ 要求在日期设置及有参构造函数中添加异常处理。classCexception:de......
  • 图像处理Photoshop 2023(ps2023)v24.2中文mac版
    Photoshop2023(ps2023)图像处理v24.2中文版,我们对它进行了改进。新的设置菜单将提供更好的操作。增强了对图像处理功能的支持。新增了“使用Photoshop在多个平台间移动图像”功能。新的编辑界面更简单了。→→↓↓载Photoshop2023Mac版 1.全新的设置菜单对新版本的设......
  • Mybatis 批量更新(foreach成多条sql) 为什么比 java 中反复执行单条插入语句效率高?
    使用MyBatis的批量更新功能可能比逐行更新更高效。使用批量更新可以将多个更新操作合并为一个批处理操作,并将所有操作发送给数据库一次(只需建立一次连接),从而减少了数据库的IO操作和网络开销,提高了系统的性能。mybatis批量更新的方法:https://cloud.tencent.com/developer/arti......
  • 为什么html页面不能显示标签el-checkbox的多选框,只有名称值
    问题描述我引入了el-checkbox之后,发现浏览器页面只是显示里面的文字,并没有显示出来我想要看到的相应样式问题解决经过一定的百度查证可知,使用Element-UI组件时,我们需要用div标签将其包裹起来;然后使用script标签定义一下div里面的id属性,然后才能够引用到这个el-标签,让其中的样......
  • 什么是小程序沙箱?如何实现隔离和限制?
    随着Web技术的不断发展,前端沙箱也在不断的演进和发展。未来,前端沙箱将更加智能化和自适应,可以根据代码的特征和行为动态调整运行环境,从而提高运行效率和安全性。名词解释:沙箱也称作:“沙盒/沙盘”。沙箱是一种安全机制,为运行中的程序提供隔离环境。通常是作为一些来源不可信、具......
  • 指标梳理对成功实施BI项目有什么意义
    指标梳理体系在实施BI或数据分析系统项目很重要的一点是搭建业务指标体系,“指标体系”是指由一系列具有强弱关联的的单一指标所组成的一个有机整体,可以从各个维度客观的反映业务现状的总体或样本的特征。举个例子,就好比太阳系,他也是个体系,有恒星、行星、卫星等组成的整体。......
  • 什么是存算分离架构?
    随着硬件技术的快速进步,尤其是网络和存储设备的性能迅速提升,以及云计算厂商推动软硬件协同加速的云存储服务,越来越多的企业开始基于云存储来构建数据存储服务,或数据湖,因此就需要单独再建设一个独立的计算层来提供数据分析服务,这也就是存算分离架构(DisaggregatedStorageandCompu......