• 自然语言处理NLP


      一直听说有一个研究领域是NLP,但一直没有时间了解,借这篇文章对NLP做个简单了解。文章围绕如下几个问题:
      1.什么是NLP?
      2.NLP的构成
      3.NLP的一些具体应用场景和研究现状
      4.如何学习NLP?

    1.什么是NLP?

      首先先要明确NLP不是某一项具体的技术,而是一个很大的领域。
      自然语言处理 (NLP,Natural Language Processing),先给个定义:自然语言处理(NLP)指以计算机为工具解决一系列现实中和自然语言相关的问题。可以分成两部分理解:自然语言、处理过程。首先自然语言就是人类市场交流所使用的语音和字符系统,换句话说字符系统就是NLP的研究对象,处理过程指对字符进行理解融合应用。计算机接受用户自然语言形式的输入,并在内部通过人类所定义的算法进行加工、计算等系列操作,以模拟人类对自然语言的理解,并返回用户所期望的结果

      NLP目前属于AI中一个比较火的方向,有人将人工智能分为三大领域,计算机视觉(CV),自然语言处理(NLP)以及语音识别。NLP属于比较困难的部分

    2.NLP由什么组成?

      NLP算法的三个级别:简单匹配式、模糊匹配式和段落理解式
      NLP处理的三个维度:单词、句子、句子语义
      关于NLP的组成,要说下和NLP相关的两个概念。有一个等式说:NLP=NLU+NLG,来具体看看:
      自然语言理解(Natural Language Understanding, NLU)——理解文本中的意思,NLU对应的是理解俚语、错误发音、拼写错误以及其他语言变体的能力

      自然语言生成(Natural Language Generation, NLG)——根据意思生成文本,NLG对应的是计算机自行创建通信的能力
    NLU侧重于如何理解文本,包括文本分类、命名实体识别、指代消歧、句法分析、机器阅读理解等;NLG则侧重于理解文本后如何生成自然文本,包括自动摘要、机器翻译、问答系统、对话机器人等。两者间不存在有明显的界限
      以上两个其实算笼统的概念,下面列举了NLP中一些具体的支撑技术手段:

    在这里插入图片描述
    图源:https://www.cnblogs.com/cxy2020/p/14640463.html

      但NLP研究目前是有困难的,源于如下几个方面:
        1)文字中相同一种含义,却有多种表达方式
        2)一词多义
        3)在处理的各个阶段都会出现误差,最终串行误差累加
      在这篇博客中也简要提到了几个方面:NLP遇到的困难:自然语言处理入门第一章笔记

    3.NLP的应用场景及研究现状

      NLP应用场景
      主要包括智能问答系统、文本生成、机器翻译、情感分析、聊天机器人、虚假新闻检测、文本主题分类、信息抽取
      NLP的研究现状
      NLP的研究已经初具成果,现在有许多流行NLP软件,在此做一下列举:

    •自然语言工具包(NLTK)。自然语言工具包(NLTK)是一个开放源代码框架,用于构建Python程序以使用人类语言数据。它是在宾夕法尼亚大学计算机和信息科学系开发的,为50多个语料库和词汇资源库、一个文本处理库、自然语言处理库和论坛提供接口。自然语言工具包(NLTK)是在Apache2.0许可下提供的。
    •SpaCy。SpaCy是一个开放源代码库,用于高级自然语言处理,专门为生产目的而非研究目的而设计。SpaCy的设计充分考虑了高级数据科学,并允许深度数据挖掘。它是由麻省理工学院授权的。
    •Gensim。Gensim是一个用于自然语言处理的开源Python库。独立于平台的库支持可扩展的统计语义、针对语义结构的纯文本文档分析以及检索语义相似文档的能力。可以在无需人工监督的情况下处理大量文本。
    •AmazonComprehend。这项Amazon服务不需要机器学习的经验。它旨在帮助组织从电子邮件、客户评论、社交媒体、支持通知单和其他文本中获得见解。它使用情感分析、词性提取和标记化来分析单词背后的意图。
    •IBMWatson音频分析器。这个基于云计算的解决方案旨在用于社交监听、聊天机器人集成和客户服务监控。它可以分析客户帖子中的情绪和语气,并监视客户服务电话和聊天对话。
    •谷歌云翻译。这个API使用自然语言处理来检查源文本以确定语言,然后使用神经机器翻译将文本动态翻译为另一种语言。这个API允许用户将功能集成到他们自己的程序中。
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    参考:自然语言处理的前景是怎样的

    4.如何学习NLP呢?

      关于具体如何学习还没有去深刻研究,毕竟目前还没有这方面的需求,不过可以肯定的是机器学习是基础,但也要明白机器学习、深度学习是解决这些问题的具体手段

      在这里留一些学习NLP资源吧:
    GitHub - km1994/nlp_paper_study: 该仓库主要记录 NLP 算法工程师相关的顶会论文研读笔记
    如何系统性地学习NLP 自然语言处理? - 知乎 (zhihu.com)

    最后留一些参考资料吧:
    NLP训练数据集:The NLP Index (quantumstat.com)
    NLP常用库:自然语言处理NLP概述
    自然语言NLP处理概述

    因作者水平有限,如有错误之处,请在下方评论区指正,谢谢!

  • 相关阅读:
    Deepin安装英特尔AX200 Wifi驱动
    场景图形管理-多视图多窗口渲染示例(4)
    Ubuntu宝塔面板命令下载的install.sh文件为空,安装不了宝塔,如何解决
    linux中利用fork复制进程,printf隐藏的缓冲区,写时拷贝技术,进程的逻辑地址与物理地址
    ashx后台获取GET、POST、JSON方式提交的刷卡信息,并回应驱动读卡器显示文字播报语音
    基于HTML美食餐饮文化项目的设计与实现 HTML+CSS上海美食介绍网页(8页) 大学生美食文化网站制作 简单餐饮文化网页设计成品
    代码随想录算法训练营第59天|● 503.下一个更大元素II ● 42. 接雨水
    mysql常用数据类型(mysql数据类型)字符集
    关于图像的读取及处理等
    OA项目之我的会议(会议排座&送审)
  • 原文地址:https://blog.csdn.net/gls_nuaa/article/details/126146109