https://www.toutiao.com/a6702972895204737544/

图片来源:pexels.com

20世纪初,瑞士语言学教授费尔迪南·德·索绪尔(Ferdinand de Saussure)的逝世使“语言为科学”的理念几乎被世人遗忘。1906年至1911年,索绪尔教授于日内瓦大学开设了三门课程。在这5年间,他构建并悉心传授了将语言描述为“系统”的方法。在语言学中,语义表态(sound)是可以随着上下文变化而改变的语言含义。

索绪尔教授认为语言含义是在语言内部(语言各部分之间的关系和差异)产生的,即语言间的关系和差异才是决定“语言含义”的关键要素。共享式的语言系统使通信成为可能。索绪尔教授将社会视为能够为理性的、“扩展的”思维提供基础条件并影响个人决定和行动的“共享式”群体规范体系(现代计算机语言基于这一观点构建了相关运用)。

索绪尔教授于1913年去世,但他的两位同事阿尔伯特·塞切哈耶(Albert Sechehaye)和查尔斯·巴利(Charles Bally)认识到其理念的重要性。他们分别收集并归纳了索绪尔教授的手稿笔记和索绪尔教授的学生课堂笔记。感谢两人的努力,《普通语言学教程》(Cours deLinguistique Générale)终于在1916年得以出版。这本书为运用于语言学、计算机科学以及其他领域的结构主义理论奠定了基础。

图片来源:pexels.com

艾伦·图灵(Alan Turing)在1950年发表的论文中提出了图灵测试用以评判一部机器是否能够“思考”。他认为,如果一台机器可以通过使用如打字机这类的输出设备成功参与对话,并且表现出与人类无明显的差异的表达能力,那么这台机器可以被认定为具有“思考”能力。在此之后不久,于1952年提出的霍奇金-赫胥黎模型(theHodgkin-Huxley model)展示了大脑如何使用神经元形成一个电力网。这些发展历程激发了人工智能、自然语言处理(NLP)和计算机发展的理念。

自然语言处理

作为AI的其中一个研究领域,NLP 旨在帮助计算机理解、解释和运用人类语言。NLP 使计算机能够运用人类语言与人交流。通过使用 NLP 技术,计算机还具备了阅读文本、听取语音和解释输入文本的能力。为了拉近人类和计算机通信之间的距离, NLP 借鉴了包括计算语言学和计算机科学在内的多个相关学科技术。

一般来说,NPL将语句分解为单词、句点等更短、更基本的“标记”(token),并尝试理解标记间的关系。其他更高级的NLP功能会参与此过程,例如:

· 文本内容分类:包括文本内容警示、重复率检测、文本搜索和索引在内的语言文本归纳总结。

· 探寻文本主题并建模获取文本集合的主题和含义,并进一步分析文本。

· 上下文提取:自动从文本中提取结构化数据。

· 褒贬义分析:识别字符数较多的文本的大体情绪或主观意见,可用于意见挖掘。

· 文本到语音和语音到文本的转换:将语音命令转换为文本,反之亦然。

· 自动文摘:自动创建摘要,浓缩文本内容。

· 机器翻译:自动将一种语言的文本或语音翻译成另一种语言。

NLP 研究的发展和停滞

1957年,诺姆·乔姆斯基(Noam Chomsky)出版了《句法结构》一书。在这本书中,他颠覆性地提出如果想要计算机理解一种语言就必须改变句子结构的语言概念。为创造一台能够在思维和交流方面模仿人类大脑的计算机(AI),乔姆斯创建了“短语结构语法(Phase-Structure Grammar)”,这可将自然语言的句子有条不紊地翻译成计算机可使用的格式。

1958年,约翰·麦卡锡(John McCarthy)发布了至今仍在使用的计算机语言编程语言——LISP(Locator/IdentifierSeparation Protocol,定位符/标识符分离协议)。1964年,基于反射技术实现了使用打字机“说话”的机器人心理学家ELIZA。“她”不能理解咨询人的语音文本,仅仅通过遵循简单的语法规则将文本语序重新排列的处理过程生成回应语句。同年,美国国家研究委员会(the U.S. National Research Council,简称 RC)成立了自动语言处理咨询委员会(the Automatic Language Processing AdvisoryCommittee,简称ALPAC)。该委员会的任务是评估 NLP 研究的进展。

1966年,NRC 和 ALPAC 停止对 NPL 和机器翻译研究的资助,导致了 AI 和 NLP 的第一次研究停滞。即使经过长达12年的研究(耗资2000万美元啊!),机器翻译的成本仍然比人工翻译要高,而且没有电脑能够进行基本对话。1966年,AI 和 NLP 的研究被许多人(不是所有人!有些人的眼睛还是雪亮的!)认为是死胡同。

NLP 研究的正式回归

直到1980年,在经历了近14年的苦苦等待后,被坚实拥护者保护在怀中的 NLP 和AI 研究的羸弱花苞得以绚烂绽放。从某些方面而言,AI 研究的停滞为新研究阶段的新想法埋下了伏笔——摒弃早期的机器翻译理念,加速生成新研究阶段如专家系统在内的全新理念。在早期的 NLP 研究中,语言学和统计学结合的研究方法很受欢迎,但是之后纯统计学的研究方法抢走了“人气王”称号。20世纪80年代 NLP 研究进行了深刻的重新定位,用简单的近似逼近代替了深入分析,研究的评价过程也变得更加严格。

图片来源:pexels.com

直到20世纪80年代,大多数 NLP 系统都采用复杂的“手写”规则。但在20世纪80年代末,计算能力稳步增长和机器学习算法的普及促使 NLP 发生了一场革命性变化。虽然早期的一些机器学习算法(以决策树为代表)生成的系统与手写规则系统类似,然而,统计模型成为了越来越多的研究的宠儿。这些统计模型能够进行软性地、概率性地决策。在上世纪80年代,IBM 成功开发了几个复杂统计模型。

90年代,用于分析自然语言处理的统计模型收获了空前的人气。纯统计模型的 NLP 方法能够及时处理流量巨大的网络文本。N-Grams以数字方式识别和跟踪语言数据集合。1997年引入LSTM(Long Short-Term Memory)递归神经网络(recurrent neural net,简称 RNN)模型,并于2007年在语音和文本处理领域充分发挥优势,在 NLP 研究中占领一席之地。目前,神经网络模型被认为是 NLP 的文本理解和语音生成研究和开发的前沿方向。

2000年至今

2001年,约书亚·本西奥(Yoshio Bengion)和他的团队提出了基于前馈神经网络(feed-forward neural network)实现的第一个神经元“语言”模型。前馈神经网络是不使用连接形成循环的人工神经网络。在这种类型的网络中,数据只能单方向移动:从输入节点移动到其他隐藏节点,然后再移动到输出节点。前馈神经网络与递归神经网络不同,它没有周期或循环。

在2011年,苹果的Siri系统成为世界上第一批成功用于普通消费者群体的NLP/AI助手之一。Siri的自动语音识别模块将用户的输入语音转换成数字符号解释的概念。然后,语音命令系统将这些概念与预定义命令相匹配,并启用相应的操作。例如,如果Siri问:“您想知道您的账户余额吗?”,它能理解肯定和否定回复并采取相应操作。

通过使用机器学习技术,用户的说话模式不必与预定义的表达完全匹配。原本,为了让 NLP 系统正确地理解语音含义,这些语音需要与预定义表达极其相似。但是,使用反馈环路可以显著提高 NLP 引擎的理解准确性,并增加系统的词汇库。一个训练有素的系统能够理解“从哪里可以得到大数据相关的帮助?”“在哪里可以找到大数据专家?”和“我需要大数据相关的帮助”这几个问题所需要的答案本质上是相同的,并能够提供恰当的回应。

对话管理器与 NLP 的结合使得开发一个“像人类一样”能够通过来回提问、暗示和回答进行交谈的系统成为可能。然而,现代 AI 的表达方式仍然不像真正的人类那样自然,无法通过图灵测试。(AI:臣妾办不到啊!)

活着不容易!几度被扼杀又雄起的NLP简史相关推荐

  1. 语言模型 python实现uni-gram和bi-gram 使用ppl困惑度对比模型效果 山东大学2019 NLP实验1

    语言模型 实验目的 实验内容 数据集 Example: 实验环境 实验思路 train test 代码实现 一元语法 train test 二元语法 Train test 测试结果 实验目的 理解并实 ...

  2. “读芯术”精华文章汇总:专业知识

    学习资源 & 学习方法 1. 17门AI课程,为你前途加分 2. 超级大汇总!200多个最好的机器学习.NLP和Python教程 3. 从理论到学习时间表:教你正月30天速成Python 4. ...

  3. android 進度條_Android ProgressBar 反向進度條/進度條從右到左走

    最近的項目,有個需求需要使用條狀圖顯示比例,並且右對齊,見下圖: 我想到了使用進度條,這樣不就不需要在代碼動態繪制條狀了,省了很多活. 那麼進度條怎樣從右向左顯示呢? 方案一: 將ProgressBa ...

  4. python余弦相似度文本分类_Jaccard与cosine文本相似度的异同

    工作过程中,常常其他业务的同学问到:某两个词的相似度是多少?某两个句子的相似度是多少?某两个文档之间的相似度是多少?在本文中,我们讨论一下jaccard与cosine在文本相似度上的差异,以及他们适用 ...

  5. jaccard相似度_Jaccard与cosine文本相似度的异同

    工作过程中,常常其他业务的同学问到:某两个词的相似度是多少?某两个句子的相似度是多少?某两个文档之间的相似度是多少?在本文中,我们讨论一下jaccard与cosine在文本相似度上的差异,以及他们适用 ...

  6. 基于深度学习的短文本相似度学习与行业测评

    文本相似度计算作为NLP的热点研究方向之一,在搜索推荐.智能客服.闲聊等领域得到的广泛的应用.在不同的应用领域,也存在着一定的差异,例如在搜索领域大多是计算query与document的相似度:而在智 ...

  7. NLP 中文形近字相似度算法开源实现

    项目简介 nlp-hanzi-similar 为汉字提供相似性的计算. 创作目的 有一个小伙伴说自己在做语言认知科学方向的课题研究,看了我以前写的 NLP 中文形近字相似度计算思路 就想问下有没有源码 ...

  8. java 如何计算两个汉字的相似度?如何获得一个汉字的相似汉字?

    计算汉字相似度 情景 有时候我们希望计算两个汉字的相似度,比如文本的 OCR 等场景.用于识别纠正. 实现 引入 maven <dependency><groupId>com. ...

  9. 基于Erlang语言的视频相似推荐系统 | 深度

    作者丨gongyouliu 来源 | 转载自大数据与人工智能(ID:ai-big-data) [导语]:作者在上一篇文章<基于内容的推荐算法>中介绍了基于内容的推荐算法的实现原理.在本篇文 ...

最新文章

  1. Python 学习日记 第八天
  2. HDU2020 绝对值排序
  3. clion安装glfw_MacOS上使用Clion配置Vulkan开发环境
  4. 微信小程序 - 五星评分(含半分)
  5. python从零开始学习网站-7天从零开始学Python
  6. jQuery图片垂直滚动焦点图
  7. 如何自己写一个CNV分析软件?
  8. Learun,一款专注于业务,不用写代码的框架
  9. C语言学习有感day01
  10. html 如何关闭自动填充,如何禁止浏览器自动填充
  11. 关于u8的三种备份方式
  12. 知识点 - 后缀数组
  13. 魅族,一家被节操羁绊着的公司
  14. Excel获取字体颜色信息的函数操作FgColor函数
  15. python:Base16, Base32, Base64, Base85 数据编码
  16. 猿团宣布加入中国信息无障碍产品联盟,致力信息无障碍化公益事业
  17. Spark中RDD、DataFrame和DataSet的区别与联系
  18. Vs2017 开发 调用 WCF
  19. php快速处理数组每个元素
  20. NCBI网页上进行Nr注释

热门文章

  1. EJB调用原理分析 (飞茂EJB)
  2. 华为诺亚方舟郝建业:深度强化学习的三大挑战
  3. 书评 | 你为什么成不了资深产品经理?
  4. 专访 CNCF 大使张磊:让云原生不再是大厂专属
  5. 欢迎给图灵教育微信平台投食
  6. 软件研发之道——知识产权
  7. 跟安全技术大师学习黑客攻防技术 ——《黑客攻防技术宝典:web实战篇》
  8. 这个 GitHub Trending 让我在腾讯会议中“换脸成”任何人!来唠唠如何上手
  9. “未卜先知”、“自学成才”:GANs奇思妙想TOP10
  10. AI键盘侠来了:DeepMind开始训练智能体像人一样「玩」电脑