NLP知识包--语义分析&智能问答&工具


    关于语义分析、智能问答的发展和技术介绍,以及语义分析工具的总结

概念
语义分析

语义分析(Semantic Analysis)指运用各种机器学习方法,学习与理解一段文本所表 示的语义内容。

一段文本通常由词、句子和段落来构成,根据理解对象的语言单位不同,语义分析又可 进一步分解为词汇级语义分析、句子级语义分析以及篇章级语义分析。一般来说,词汇级语 义分析关注的是如何获取或区别单词的语义,句子级语义分析则试图分析整个句子所表达的 语义,而篇章语义分析旨在研究自然语言文本的内在结构并理解文本单元(可以是句子从句 或段落)间的语义关系。
词汇级-词义消歧

词义消歧根据一个多义词在文本中出现的上下文 环境来确定其词义,作为各项自然语言处理的基础步骤和必经阶段被提出来。词义消歧包含 两个必要的步骤:(1)在词典中描述词语的意义;(2)在语料中进行词义自动消歧。例如“苹 果”在词典中描述有两个不同的意义:一种常见的水果;美国一家科技公司

词义消歧主要面临如下两个关键问题:(1)词典的构建;(2)上下文 的建模。
词汇级-词义表示和学习

One-hot
这种方法把每个词表示为一个很长的向量。这 个向量的维度是词表大小,其中绝大多数元素为 0,只有一个维度的值为 1,这个维度就代表了当前的词。

Word Embedding
通过训练将某种语言中的每一个词映射成一个固定维数的向量,将所 有这些向量放在一起形成一个词向量空间,而每一向量则可视为该空间中的一个点,在这个 空间上引入“距离”,则可以根据词之间的距离来判断它们之间的(词法、语义上的)相似性。
句子级-浅层语义分析

语义角色标注(Semantic Role Labeling,简称 SRL)是一种浅层的语义分析。给定一个 句子,SRL 的任务是找出句子中谓词的相应语义角色成分,包括核心语义角色(如施事者、 受事者等)和附属语义角色(如地点、时间、方式、原因等)。根据谓词类别的不同,又可 以将现有的 SRL 分为动词性谓词 SRL 和名词性谓词 SRL。

浅层语义分析主要围绕着句子中的谓词,为每个谓词找到相应的语义角色
句子级-深层语义分析

深层的语义分析(有时直接称为语义分析,Semantic Parsing)不再以谓词 为中心,而是将整个句子转化为某种形式化表示,例如:谓词逻辑表达式(包括 lambda 演 算表达式)、基于依存的组合式语义表达式(dependency-based compositional semantic representation)等 。

以下给出了 GeoQuery 数据集中的一个中英文句子对,以及对应的一 阶谓词逻辑语义表达式:
中文: 列出在科罗拉多州所有的河流
英文: Name all the rivers in Colorado
语义表达式: answer(river(loc_2(stateid(‘colorado’))))

深度语义分析主要面临如下二个关键问题。

    普通文本到实体/关系谓词之间的映射。自然语言的一个主要特点在于其表达形式 的丰富多样性,对同样的表达意思(如某个语义表达式),不仅可以使用不同的语 言进行表达。如何建立普通文本到实体/关系之间的映射是一个关键问题。
    面向开放领域的语义分析。受标注语料的限制,目前的很多语义分析研究都限于 某一特定领域。随着面向开放领域的知识库的构建及完善,如 Freebase 等,人工 大规模标注涉及各领域的语义表达式是个费时费力的过程。为此,需要探索基于半 监督或无监督的语义分析研究

技术
智能问答

根据目标数据源的不同,已有自动问答技术大致可以分为三类:1)检索式问答;2)社区问答; 3)知识库问答。

知识库问答
检索式问答和社区问答尽管在某些特定领域或者商业领域有所应用,但是其核心还是关 键词匹配和浅层语义分析技术,难以实现知识的深层逻辑推理,无法达到人工智能的高级目标。因此,近些年来,无论是学术界或工业界,研究者们逐步把注意力投向知识图谱或知识库(Knowledge Graph)。其目标是把互联网文本内容组织成为以实体为基本语义单元(节点) 的图结构,其中图上的边表示实体之间语义关系。目前互联网中已有的大规模知识库包括 DBpedia、Freebase、YAGO 等。这些知识库多是以“实体-关系-实体”三元组为基本单元所 组成的图结构。基于这样的结构化知识,问答系统的任务就是要根据用户问题的语义直接在知识库上查找、推理出相匹配的答案,这一任务称为面向知识库的问答系统或知识库问答。

要完成在结构化数据上的查询、匹配、推理等操作,最有效的方式是利用结构化的查询 语句,例如:SQL、SPARQL 等。然而,这些语句通常是由专家编写,普通用户很难掌握并正 确运用。对普通用户来说,自然语言仍然是最自然的交互方式。因此,如何把用户的自然语 言问句转化为结构化的查询语句是知识库问答的核心所在,其关键是对于自然语言问句进行 语义理解(如图 1 所示)。目前,主流方法是通过语义分析,将用户的自然语言问句转化成
结构化的语义表示,如 范式和 DCS-Tree。相对应的语义解析语法或方法包括组合范畴语法 (Category Compositional Grammar, CCG)以及依存组合语法(Dependency-based Compositional Semantics, DCS)等。
智能问答
图1 知识库问答过程
基于知识库智能问答技术现状

在知识库问答方面,已有的评测主要针对于一些限定领域的知识库进行问答。已有方法 也取得了不错的结果。例如:在 Geoquery13(美国地理知识查询)数据集上(600 个训练样 本,280 个测试样本)上,使用 CCG 和本体匹配的方法 F 值能达到 89.0%,使用 DCS 的方法 F 值能达到 91.1%;在求职(JOBS)数据集上(500 个训练样本,140 个测试样本),使用 CCG 的方法 F 值能达到 79.3%,使用 DCS 的方法 F 值能达到 95%。在这一方面,QALD(Question Answering over Linked Data)评测的举办更是推动了这方面的研究。QALD 每年举办一届, 目前已经举办到了第六届。每一次评测,组织者都会给出一些问题,要求参加评测系统在给 定知识库的基础上,将所给问题转化为结构化的 SPARQL 查询语句,并在给定知识库上查询 答案。但是,目前的研究趋势是从限定领域的知识库向大规模开放域甚至是多领域知识库进 行扩展,例如 Freebase。与限定领域知识库相比,大规模开放知识库包含的资源和关系数 量要大得多,比如 Geoquery 中只包含 8 个关系谓词,而 Freebase 包含上万个关系。因此开 放知识库上的语义解析效果有明显下降。例如利用 Freebase 知识库,开放查询测试的最好 效果只有 39.9%;而在 QALD 评测中,在 DBpedia 上、开放查询中,表现最好的问答系统的 正确率只有 40%。下图给出在面对开放域知识库 Freebase 时,在公开问题库 WebQuestion 上,已有系统能够达到的精度。
测试智能问答
图 2 已有知识库问答方法在 WebQuestion 问题集上的性能
语义分析工具

    BosonNLP (官网链接)
    BosonNLP功能如下图BosonNLP功能

    NLPIR(语义分析系统)
    NLPIR功能
    NLPIR

    Stanford CoreNLP(官网)
    Stanford CoreNLP
    Python安装stanford CoreNLP.
    用Python+StanfordCoreNLP做中文命名实体分析

    Python-quepy(官网)
    Quepy 是一个 Python 框架,提供了将自然语言问题转换成为数据库查询语言中的查询,如SPARQL查询。

    其它工具-Python 自然语言处理(NLP)工具库汇总-10个

论文·项目

    智能问答系统的研究与实现
    基于领域本体中文自动问答系统相关技术的研究与实现
    基于RDF和SPARQL的知识图谱问答系统

一些资源

    知乎-知识图谱-给AI装个大脑

参考文献

[1] 中文信息学会, 报告, 《中文信息处理发展报告(2016)》. http://cips-upload.bj.bcebos.com/cips2016.pdf
————————————————
版权声明:本文为CSDN博主「lingpy」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/lingpy/article/details/89493572

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Python农业知识图谱智能问答系统是一种利用Python编程语言开发的工具,通过建立农业领域的知识图谱,并结合自然语言处理技术,实现对农业相关问题的智能回答。 首先,该系统通过爬取大量的农业领域数据和文献资料,构建一个含农业领域知识的图谱。这个图谱是一个具有实体和实体之间关系的结构化的数据库,含了各种农作物、养殖业、农业技术等相关概念的定义和属性信息。 其次,该系统利用Python中的自然语言处理技术,对用户输入的问题进行语义解析和理解。通过词法分析、句法分析、命名实体识别等技术,将用户的问题转化为图谱中概念和关系的查询。 然后,系统根据用户的查询,通过图谱中的知识,找出与查询相关的信息并进行分析。系统可根据图谱的定义和关系,判断问题的意图,提取相关信息,并进行逻辑推理,最终给出准确的回答。 最后,该系统还可以通过机器学习的方法,对用户的问题和回答进行训练和优化,提高回答的准确性和完整性。 综上所述,Python农业知识图谱智能问答系统通过建立农业领域的知识图谱,并结合自然语言处理技术,实现了对农业相关问题的智能回答。这个系统可以帮助农民、农业科研人员和农业相关从业者快速准确地获取农业知识和信息,提高农业生产的效率和质量。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值