什么是自然语言处理(NLP)?

你有没有和聊天机器人互动过?或者你是否向虚拟助手,例如Siri、Alexa或你车上的车载娱乐系统发出过某些请求?你使用过在线翻译吗?相信我们绝大多数人都与这些人工智能互动过,人类不断思考到底用哪种方式可以得到我们最想要的答案呢?

仔细想想人类语言和情绪上的复杂和不可捉摸性,机器能够和人类交流已经够神奇了吧?

而这神奇的源头要归功于一个叫:自然语言处理(NLP)的东西。


那究竟什么是自然语言处理 (NLP)?自然语言处理是教会计算机如何以人类的方式理解问题并让其给出适当回应的技术。借助NLP,机器可以学习阅读、解密和解释人类的书面和口头语言,并创建以类似人类的方式描述、概括或解释输入(结构化数据)的叙述。NLP是你经常与之交互的诸多AI解决方案的驱动力,并促成了人类与机器之间的理解。

如今,由于数据访问的巨大进步和计算机技术的提高,NLP变得越来越受欢迎。

为什么NLP难以实施?

NLP 具有挑战性。计算机的基础语言是数百万个 1 和 0 的集合,即“是”和“否”的二进制组合。计算机不会像人类那样在语境中思考,它们只会从逻辑上进行思考。当你对支持AI的计算机说话时,这台机器必须以某种方式理解和解释你所说的内容,计算出一个适当的响应,并将该响应转换为人类(或自然)语言,而这一切仅在几毫秒之内就能完成。很难想象实现这一壮举所需的处理能力水平,而计算机一直在这样做。

同样,自然语言的复杂性也不应该被低估。人类以无数种方式表达自己。全世界有数百种语言和方言,而且每种语言,无论是书面的还是口头的,都有自己的语法规则和俚语,并且各不相同。每个人的书写和说话方式也大相径庭。例如,有些人可能讲话口齿不清,或者在书写中使用缩写词。为了使计算机理解所有这些差异,它必须事先遇到过这些差异。它必须接受类似数据的培训。另一个挑战是,训练数据库与预期的应用程序应属于同一个领域。例如,在医疗环境中收集的对话不同于客户所处领域内会发生的对话,这种情况使得数据收集更具挑战性,因为从正确的领域收集数据很困难,但这又是必需的。

这些因素都导致了NLP实施中的困难。你必须访问大量的自然语言数据,以便计算机可以进行广泛的交互。为这些交互提供服务并弥合二进制语言与自然语言之间的差距,计算能力至关重要。所以NLP直到最近才成为了机器学习中的重要组成部分。

NLP技术

NLP 将语言分解为较短的语段,以便理解语段之间的关系以及各语段怎样结合起来产生意义。语言成分有两类:句法(单词在句子中按照语法意义进行排列)和语义(文本所传达的含义)。每一类中都有核心的NLP 技术:

1. 句法分析
以下是机器用于分析句法的一些标准方法:
• 分割:将一句话分解为较小的语段。
• 词形还原:将一个词缩小至词基,并将具有相似词基的词组合在一起。
• 词性标注:指出每个词的词性。
• 提取词干:删除词的前缀和后缀以获得词根。
请注意,这里只选取了诸多语法分析方法中的一部分。

2. 语义分析
以下是机器用于分析语义的两种流行方法:
• 命名实体识别:确定预设组(例如人物和地点)并将其分类
• 词义消歧:根据语境确定词义。
机器可以结合使用上述技术来获取给定文本中的句法和语义。

自然语言处理能做什么?


NLP 的应用场景有很多。它使机器能够执行原本由人类执行的重复性任务,从而帮助扩大与语言相关的任务的规模。许多行业都在使用NLP,其中较为常见的包括:

社交媒体分析:NLP可以跟踪与品牌、产品或特定主题有关的情绪,并确定客户如何做出选择。它还可以通过检测政治偏见来过滤虚假新闻。
(TTS)文本转语音应用程序: 文本转语音应用程序通过更多方式提供信息以提高包容性,并为呼叫中心、视频游戏和语言教育领域提供更丰富的交互体验。
个人助手和聊天机器人:NLP使 AI 能够与人们就日常问题和事务进行交流,为人类腾出更多时间来进行更高层次的战略性工作。
搜索结果查询:NLP在电子商务领域特别有用,它可以帮助确定关键搜索词,从而获得更相关的搜索结果。
语言翻译:NLP广泛应用于各种语言和方言的翻译。
信息提取:例如,用于医疗行业进行患者病历处理时,通过NLP进行数据提取对于快速提取关键信息至关重要。

以上只是NLP的一些常见应用场景,还有更多场景我们就不一一道来了。这充分说明了自然语言处理方面已经取得了惊人的进步。NLP的变革力量将继续为我们与技术的交互增添光彩。随着人机通信差距的进一步缩小,我们必将看到这一领域的更多突破。

NLP专家Phoebe Liu的见解

Phoebe Liu 是澳鹏的高级数据科学家之一,曾担任 O’Reilly 和KDD大会的演讲嘉宾,因为在对话机器人方面的研究接受过BBC和半岛电视台纪录片系列的专访,并获得 2018年机器人电影节最佳影片奖。Phoebe 分享了关于自然语言处理的三个见解:

  1. 要做最成功的项目,首先要了解业务问题和需求。这能帮助你确定如何收集数据,由谁来标注训练数据库,以及在数据采集过程中是否需要该领域的专家或语言学专家的参与。对解决方案中的问题和NLP的作用采用清晰、明确的定义。
  2. 通过用户测试来确保用户满意度。对于自动语音识别项目(ASR),要由带有不同口音的讲话者用不同的方式阐述同一个事物。对于聊天机器人和智能语音AI中的自然语言理解(NLU),在测试时用户要像和另一个人聊天一样自然地交互。在真实场景中进行用户测试的次数越多,用户与NLP系统之间的交互就越顺畅。
  3. ML模型不是魔法。当NLP无法产生 100% 准确结果时,要设计“备用”方法。NLP是一个尚在发展的领域,需要有该领域的专业知识和高品质的训练数据集才能正确实施。在NLP达不到要求的关键时刻,要确保有备份计划并管理NLP输出(考虑使用“人机协同”(human-in-the-loop)。


Siri: 恭喜你读完了文章,知道为什么我懂你在说什么了吗?下次我不开心的时候可以也给我唱首歌吗?

什么是自然语言处理(NLP)?相关推荐

  1. 【组队学习】【29期】9. 基于transformers的自然语言处理(NLP)入门

    9. 基于transformers的自然语言处理(NLP)入门 航路开辟者:多多.erenup.张帆.张贤.李泺秋.蔡杰.hlzhang 领航员:张红旭.袁一涵 航海士:多多.张红旭.袁一涵.童鸣 基 ...

  2. 【组队学习】【28期】基于transformers的自然语言处理(NLP)入门

    基于transformers的自然语言处理(NLP)入门 论坛版块: http://datawhale.club/c/team-learning/39-category/39 开源内容: https: ...

  3. 自然语言处理(NLP)之用深度学习实现命名实体识别(NER)

    几乎所有的NLP都依赖一个强大的语料库,本项目实现NER的语料库如下(文件名为train.txt,一共42000行,这里只展示前15行,可以在文章最后的Github地址下载该语料库): played ...

  4. 自然语言处理(NLP)之使用TF-IDF模型计算文本相似度

    自然语言处理(NLP)之使用TF-IDF模型计算文本相似度 所用数据集:ChnSentiCorp_htl_all.csv 语料库即存放稀疏向量的列表. 要注意的是,搜索文本text与被检索的文档共用一 ...

  5. 自然语言处理(NLP)之gensim中的TF-IDF的计算方法

    自然语言处理(NLP)之gensim中的TF-IDF的计算方法 step 1.  去掉所有文本中都会出现的词 texts = [['这是', '一个', '文本'], ['这是', '第二个', '文 ...

  6. 自然语言处理NLP之语义相似度、语言模型、doc2vec

    自然语言处理NLP之语义相似度.语言模型.doc2vec 目录 自然语言处理NLP之语义相似度.语言模型.doc2vec 语义相似度

  7. 自然语言处理NLP之BERT、BERT是什么、智能问答、阅读理解、分词、词性标注、数据增强、文本分类、BERT的知识表示本质

    自然语言处理NLP之BERT.BERT是什么.智能问答.阅读理解.分词.词性标注.数据增强.文本分类.BERT的知识表示本质 目录

  8. 自然语言处理NLP之文本蕴涵、智能问答、语音识别、对话系统、文本分类、情感计算

    自然语言处理NLP之文本蕴涵.智能问答.语音识别.对话系统.文本分类.情感计算 目录

  9. 自然语言处理NLP之文本摘要、机器翻译、OCR、信息检索、信息抽取、校对纠错

    自然语言处理NLP之文本摘要.机器翻译.OCR.信息检索.信息抽取.校对纠错 目录

  10. 自然语言处理NLP之自然语言生成、文本相似性、看图说话、说话生图、语音合成、自然语言可视化

    自然语言处理NLP之自然语言生成.文本相似性.看图说话.说话生图.语音合成.自然语言可视化 目录

最新文章

  1. 550 万华人在美人才现状:7 诺奖、300 院士,320 八大常春藤高校终身正教授......
  2. 【创业公司的机遇与挑战】如何在1年内从产品助理到产品高管?
  3. C#设置标记方法等为否决的不可用
  4. Java使用Redis实现分布式锁来防止重复提交问题
  5. python isodd奇偶_Python这些位运算的妙用,绝对让你大开眼界
  6. three.js两个点给线条加宽度_一台电视两个房间看?衣柜、客房会隐形?这是什么神奇设计!...
  7. 基于OpenVINO的多输入model optimizer(Tensorflow)
  8. java21天打卡-Day9 字符串
  9. Android系统进阶
  10. 如何评估一个ECG分析算法或设备
  11. mariadb修改默认字符集
  12. POJ 3267 The Cow Lexicon 动态规划
  13. JavaScript中怪异现象true和false
  14. 怎么看263邮箱的服务器信息,263邮箱真的不能用,刚刚上了一当,劝大家务必注意...
  15. 系统默认环境变量PATH设置
  16. 怎么在sqlyog设置表的外键
  17. Springboot启动报错[ main] o.s.boot.SpringApplication: Application run failed(佷有可能是版本问题)
  18. 史上最详细的自动驾驶汽车技术介绍【硬件+软件】
  19. 数字逻辑课程设计电子钟
  20. Github pages个人域名添加SSL

热门文章

  1. 麒麟桌面系统时间相关命令介绍
  2. 【山大智云】SeafileServer源码分析之CDC(基于内容长度可变分块)
  3. dds文件怎么在linux查看,Linux 环境编译 OpenDDS 全记录
  4. 运维排查篇 | 访问nginx出现403错误
  5. 生活随记 - 75公斤重 急需减肥
  6. 微信小程序—火车票查询
  7. Camunda 动态增加会签
  8. 计算机的任务管理器在哪,怎么打开任务管理器 多种方法详细教学
  9. 以太网没有有效的ip怎么解决
  10. python爬虫学习-scrapy爬取链家房源信息并存储(翻页)