当今,大多数应用程序仍在处理来自结构化和半结构化源的数据的世界中工作。 它们连接到SQL数据库以查询信息或显示来自JSON或XML数据源的信息。 许多应用程序仍然避免从非结构化源(例如开放文本字段,富文本编辑器,数据库CLOB(字符大对象)数据类型,社交媒体新闻流以及来自Microsoft Word,Google Docs等工具的完整文档)解析和提取知识的复杂性,以及Adobe Acrobat。

但是信息世界在很大程度上是非结构化的。 人们以多种工具和格式输入,搜索和管理信息。 现代应用程序不仅可以存储和检索非结构化信息,还可以结合自然语言处理(NLP)的元素来改善用户体验,管理复杂信息,启用聊天机器人对话以及执行文本分析。

[深入了解InfoWorld: 超越NLP:构建聊天机器人的8个挑战 。 • Alexa技能教程:如何编写您的第一个语音助手应用程序 。 • 机器学习:如何创建推荐引擎 。 ]

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

NLP引擎旨在从文本和文档块中提取数据,信息,知识和情感。 他们经常混合使用解析技术,知识数据结构和机器学习算法 ,以易于理解的格式提取信息并将其呈现给人员和下游应用程序。

NLP引擎通常具有以下技术组件:

  • API和数据存储接口,可轻松连接到数据源并汇总信息以进行分析。
  • 文件解析器,可从不同的文件类型和文档存储格式中提取文本,元数据和其他上下文信息。
  • 文档解析器将文档分解为更多的原子单位,包括节,段落,句子,短语和单词。
  • 模式识别工具(例如正则表达式分析器)可识别模式(例如日期,货币,电话号码和地址)。
  • 词典和其他知识存储工具可帮助NLP引擎识别实体,例如名称,地点和产品。
  • 工具和机器学习算法可帮助创建特定于域的实体,主题和术语。
  • 提供更深入分析的语义和其他上下文分析功能。 有关主题的段落是正面,负面还是中立? 段落是否与提供更多上下文的照片相邻? 是在文件夹中找到该文档,还是具有可以提供其他上下文的其他文档的链接? 关于文档作者的知识以及何时编写文档可以提供其他上下文?

这些组件的组合使NLP引擎可以提供文档中包含的信息的丰富摘要。 总结对于用户可能直接有用,特别是对于涵盖单个或相对较少概念的简单文档。 例如,处理当今新闻的NLP引擎可以向用户显示文章的发布者,时间和地点。 这对于下游技术(例如搜索引擎,聊天机器人和分析工具)也很有用,这些技术可以更轻松地处理从文档中汇总的结构化信息。

文字大小和复杂程度决定了设计决策

尽管大多数NLP引擎都具有其中的一些基本技术组件,但是处理各种内容源和类型的复杂程度却相差很大。

最简单的引擎专注于小型文档和格式。 考虑一个仅解析单词,短语和简短布尔术语的搜索引擎查询框。 该引擎主要在寻找分离单词,识别短语并解析基本逻辑运算符的功能,以便可以向搜索引擎显示一个或多个较低级别的查询。

在更高级的搜索引擎中,查询的某些含义和解释有助于更好地确定上下文。 例如,使用关键字“美洲虎”进行的搜索可能针对的是动物,汽车制造商,NFL橄榄球队,或者可能是其他参考,可以使用用户共享的其他参考来缩小搜索范围。

聊天机器人文本的相似之处在于,它们更经常使用短语和简短的句子。 但是,尽管搜索往往充满主题和实体(即名词),但聊天机器人的文本通常是名词,动词和情感的混合体。 例如,“我在重设密码时遇到麻烦”表示在处理请求和向用户表达人性化响应时应使用的请求服务(登录),请求的操作(密码重置)和情感(否定) 。

解释社交媒体内容(例如,Facebook或LinkedIn上的推文和更新)还有许多其他挑战。 较长的段落格式表示可能引用了多个主题和实体。 另外,理解情感和意图可能比主题重要。 例如,知道某人打算购买一辆汽车对广告客户而言,比知道某人提及他或她最近出差所租用的汽车类型更为重要。

处理更大文档格式的引擎需要更多的解析和语言复杂性。 例如,如果引擎的目的是解析长篇新闻文章,则它必须能够分隔句子,段落和部分,以更好地表示基础信息。 对于较大的文档格式(例如法律,财务,医疗和建筑施工文档),要求的复杂程度变得尤为重要,因为知道文档中的重要位置。

了解自然语言引擎功能

简单的自然语言处理器被设计为通过解析文本以获取几乎没有歧义的可识别名称来提取基本实体。 考虑到大多数新闻站点都有人,地点和品牌的超链接,因此您可以单击并查看有关该实体的相关信息。

识别日期,货币,数量或描述性属性需要更复杂的技巧来识别关系和上下文。 例如,从法律和财务文件中提取的日期和货币通常与事件名称相关联,例如合同条款或财务绩效指标。 在施工文件中,识别油漆颜色及其关联的房间类型对制造商和承包商很有用。 对于医学文献,如果医生知道其所在的身体部位,则发现癌症类型更有价值。

除了常见的实体和模式之外,NLP平台在使创建自定义概念,主题,实体,短语,模式和其他要在文本和文档中标识的元素的方式方面有所不同。

验证NLP平台中的学习工具

诸如Amazon,Microsoft,Google和IBM之类的公共云供应商出售的NLP引擎在其算法的复杂性,处理查询的性能,API的深度,处理不同文本,文档和文件类型的通用性以及单位价格上竞争以及其他因素。

但是,使用平台的工具来训练自定义实体,主题和其他信息工件的简单性是在早期实验中最重要的考虑因素。 哪些工具可以更轻松地提取文档和所需用例所需的信息?

这是大型云供应商提供的用于配置其NLP平台以提取特定领域知识的工具和功能的简短摘要。

  • Amazon Comprehend具有工具和API,可通过向引擎提交列表来提交自定义分类器和实体。
  • Google自然语言允许配置将内联文本映射或将文本文件引用到一个或多个标签的数据集。
  • 通过Microsoft语言理解(Luis) ,您可以描述意图(购买,购物,浏览),实体,话语(文档文本中措辞的方式)以及更复杂的语言模式。
  • IBM Watson自然语言理解使用多达五个层次的类别层次结构,可以抽象的概念(文本和情感之外以及实体之间的关系)来提取更多信息,这些概念可以超出文本中的描述进行抽象。

创建实体和主题知识库并非易事,因此一些云提供商已开始构建标准或入门级的知识库。 例如,有Amazon Comprehend Medical可以提取医疗信息,而Microsoft已为地点,事件,音乐,天气和其他公共区域预先构建了域 。

从这些示例中,您可以看到有多种方法可以对NLP引擎进行有关实体,主题和意图的培训。 简单的方法从映射到主题的关键字列表开始。 然后,更复杂的引擎支持学习算法,该算法可扫描文档并将潜在的主题和关联的短语呈现给用户,以查看它们是否应包含在培训集中。 来自Expert System , SmartLogic和Bitext的更复杂的引擎使用分类管理工具,并与NoSQL和MarkLogic等多模型数据存储集成,因此可以将在文档上执行的概念匹配与引用的本体一起使用,以支持更复杂和可操作的推理。

为您的NLP实验做准备

在开始选择技术并进行概念验证之前,重要的是将所有具有定义范围和成功标准的NLP实验作为基础。 确保了解培训文本或文档的数量,提取所需的详细程度,所需信息的类型,提取所需的总体质量以及处理新文本所需的性能。 最好的实验是何时可以在适度的要求下实现业务价值,并通过敏捷的迭代过程增加更多的复杂性。

From: https://www.infoworld.com/article/3329939/get-started-with-natural-language-processing.html

开始进行自然语言处理相关推荐

  1. NLP自然语言处理工具小结

    20220331 https://zhuanlan.zhihu.com/p/79202151 BM25 https://github.com/v1shwa/document-similarity wo ...

  2. 我爱自然语言处理bert ner chinese

    BERT相关论文.文章和代码资源汇总 4条回复 BERT最近太火,蹭个热点,整理一下相关的资源,包括Paper, 代码和文章解读. 1.Google官方: 1) BERT: Pre-training ...

  3. 自然语言处理课程(二):Jieba分词的原理及实例操作

    上节课,我们学习了自然语言处理课程(一):自然语言处理在网文改编市场的应用,了解了相关的基础理论.接下来,我们将要了解一些具体的.可操作的技术方法. 作为小说爱好者的你,是否有设想过通过一些计算机工具 ...

  4. 基于TensorRT的BERT实时自然语言理解(下)

    基于TensorRT的BERT实时自然语言理解(下) BERT Inference with TensorRT 请参阅Python脚本bert_inference.py还有详细的Jupyter not ...

  5. 基于TensorRT的BERT实时自然语言理解(上)

    基于TensorRT的BERT实时自然语言理解(上) 大规模语言模型(LSLMs)如BERT.GPT-2和XL-Net为许多自然语言理解(NLU)任务带来了最先进的精准飞跃.自2018年10月发布以来 ...

  6. 自然语言推理:微调BERT

    自然语言推理:微调BERT Natural Language Inference: Fine-Tuning BERT SNLI数据集上的自然语言推理任务设计了一个基于注意力的体系结构.现在通过微调BE ...

  7. 自然语言推理:使用注意力机制

    自然语言推理:使用注意力机制 Natural Language Inference: Using Attention 自然语言推理任务和SNLI数据集.鉴于许多模型都是基于复杂和深层架构的,Parik ...

  8. 自然语言推理和数据集

    自然语言推理和数据集 Natural Language Inference and the Dataset 情绪分析的问题.此任务旨在将单个文本序列分类为预定义的类别,例如一组情感极性.然而,当需要判 ...

  9. 浅谈自然语言处理技术在自动化的应用

    自然语言处理与技术其在自动化的应用 引言 作为人工智能领域的一个重要分支,自然语言处理在目前的学术界领域非常的有市场.无论从哪个方面来看,自然语言处理技术,非常的具有前瞻性.目前,自然语言处理技术应以 ...

  10. 计算机科学NIP,NIP自然语言处理主要应用在哪些领域呢?

    实现人机间的信息交流,是人工智能界.计算机科学和语言学界所共同关注的重要问题.自然语言处理的具体表现形式包括机器翻译.文本摘要.文本分类.文本校对.信息抽取.语音合成.语音识别等.可以说,自然语言处理 ...

最新文章

  1. 看上华科,这家公司与其成立联合AI实验室
  2. 如果足够准的话,还有比体脂秤更好的身体数据采集器吗?
  3. Ubuntu 使用 heirloom-mail 调用外部邮箱 SMTP 服务器发送邮件
  4. String to Integer (atoi) leetcode java
  5. 浅谈线程池(中):独立线程池的作用及IO线程池
  6. Filter使用详解
  7. Oracle学习总结(5)—— SQL语句经典案例
  8. OpenGL基础6:着色器
  9. 区块链:数字广告假量的“终结者”
  10. kali-网站克隆工具-httrack
  11. tiny6410烧录
  12. word设置标题自动编号
  13. 面试分享:一年经验初探阿里巴巴前端社招
  14. 一步步认识jdk 我们的朋友 之Arrays
  15. outlook 默认打开ie_如何使用OUTLOOK联系人取代手机联系人,实现电脑和手机联系人、日历、待办的同步...
  16. NRF51822蓝牙服务(9)——动态修改设备的名称
  17. 今日头条2017校招编程题
  18. Nature综述:人类微生物培养及培养组学culturomics
  19. 从NFA到DFA的转换
  20. knn sklearn

热门文章

  1. C#常用字符串加解密方法封装
  2. Cesium 无法加载出地球
  3. 汽车的一类、二类、三类、四类底盘是怎么划分的?
  4. C++ double 转string方法 精度保持到小数点15位
  5. 太阳软件分享丨分布式ip代理池,可用率超高,赶快试试吧!
  6. 【CCF】NOIP2008初赛试题下载
  7. keras-gpu安装
  8. 微信小程序page页面下有多余空白区域(解决方法)
  9. java滚动条_java swing:文本框添加滚动条
  10. 运动目标检测面临的问题