(4)高速反馈
图式的数据存储方式,相比传统存储方式,数据调取速度更快,图库可计算超过百万潜在的实体的属性分布,可实现秒级返回结果,真正实现人机互动的实时响应,让用户可以做到即时决策。
1.4知识图谱在机器人领域的应用
知识图谱最早的应用是提升搜索引擎的能力。随后,知识图谱在辅助智能问答、自然语言理解、大数据分析、推荐计算、物联网设备互联、可解释性机器人等多个方面展现出丰富的应用价值。
1.4.1辅助机器人嵌入式的********搜索
互联网的终极形态是万物的互联,而搜索的终极目标是对万物的直接搜索。传统搜索引擎依靠网页之间的超链接实现网页的搜索,而语义搜索是直接对事物进行搜索,如人物、机构、地点等。这些事物可能来自文本、图片、视频、音频、IoT 设备等各种信息资源。而知识图谱和语义技术提供了关于这些事物的分类、属性和关系的描述,使得搜索引擎可以直接对事物进行索引和搜索,如图1-1所示。
图1-1 知识图谱辅助搜索
1.4.2辅助机器人********问答
人与机器人通过自然语言进行问答与对话是人工智能实现的关键标志之一。除了辅助搜索,知识图谱也被广泛用于人机问答交互中。在产业界,IBM Watson 背后依托 DBpedia和Yago等百科知识库和WordNet等语言学知识库实现深度知识问答。Amazon Alex主要依靠True Knowledge公司积累的知识图谱。度秘、Siri的进化版Viv、小爱机器人、天猫精灵背后都有海量知识图谱作为支撑。
伴随着机器人和 IoT 设备的智能化浪潮的掀起,基于知识图谱的问答对话在智能驾驶、智能家居和智能厨房等领域的应用层出不穷。典型的基于知识图谱的问答技术或方法包括:基于语义解析、基于图匹配、基于模板学习、基于表示学习和深度学习以及基于混合模型等。在这些方法中,知识图谱既被用来辅助实现语义解析,也被用来匹配问句实体,还被用来训练神经网络和排序模型等。知识图谱是实现人机交互问答必不可少的模块。
1.4.3辅助机器人********数据分析
知识图谱和语义技术也被用于辅助进行数据分析与决策。例如,大数据公司 Palantir基于本体融合和集成多种来源的数据,通过知识图谱和语义技术增强数据之间的关联,使得用户可以用更加直观的图谱方式对数据进行关联挖掘与分析。
知识图谱在文本数据的处理和分析中也能发挥独特的作用。例如,知识图谱被广泛用来作为先验知识从文本中抽取实体和关系,如在远程监督中的应用。知识图谱也被用来辅助实现文本中的实体消歧(Entity Disambiguation)、指代消解和文本理解等。
近年来,描述性数据分析(Declarative Data Analysis)受到越来越多的重视。描述性数据分析是指依赖数据本身的语义描述实现数据分析的方法。不同计算性数据分析主要以建立各种数据分析模型,如深度神经网络,而描述性数据分析突出预先抽取数据的语义,建立数据之间的逻辑,并依靠逻辑推理的方法(如DataLog)来实现数据分析。
1.4.4辅助机器人********语言理解
背景知识,特别是常识知识,被认为是实现深度语义理解(如阅读理解、人机问答等)必不可少的构件。一个典型的例子是Winograd Schema Challenge(WSC竞赛)。WSC由著名的人工智能专家 Hector Levesque 教授提出,2016年,在国际人工智能大会 IJCAI上举办了第一届WSC竞赛。WSC主要关注那些必须要叠加背景知识才能理解句子语义的NLP任务。例如,在下面这个例子中,当描述it是big时,人很容易理解it指代trophy;而当it与small搭配时,也很容易识别出it指代suitcase。
The trophy would not fit in the brown suitcase because it was too big(small).What was too big(small)?
Answer 0:the trophy Answer 1:the suitcase
这个看似非常容易的问题,机器却毫无办法。正如自然语言理解的先驱 Terry Winograd 所说的,当一个人听到一句话或看到一段句子的时候,会使用自己所有的知识和智能去理解。这不仅包括语法,也包括其拥有的词汇知识、上下文知识,更重要的是对相关事物的理解。
1.4.5辅助机器人********设备互联
人机对话的主要挑战是语义理解,即让机器理解人类语言的语义。另外一个问题是机器之间的对话,这也需要技术手段来表示和处理机器语言的语义。语义技术也可被用来辅助设备之间的语义互联。OneM2M 是2012年成立的全球最大的物联网国际标准化组织,其主要是为物联设备之间的互联提供“标准化黏合剂”。OneM2M 关注了语义技术在封装设备数据的语义,并基于语义技术实现设备之间的语义互操作的问题。此外,OneM2M还关注设备数据的语义和人类语言的语义怎样适配的问题。如图1-2所示,一个设备产生的原始数据在封装了语义描述之后,可以更加容易地与其他设备的数据进行融合、交换和互操作,并可以进一步链接进入知识图谱中,以便支持搜索、推理和分析等任务。
图1-2 设备语义的封装
2.OpenKG开源工具的试用
2.1 Jiagu自然语言处理工具概述
Jiagu以BiLSTM等模型为基础,使用大规模语料训练而成。将提供中文分词、词性标注、命名实体识别、情感分析、知识图谱关系抽取、关键词抽取、文本摘要、新词发现等常用自然语言处理功能。参考了各大工具优缺点制作,将Jiagu回馈给大家。
2.2 Jiagu自然语言处理工具部署到本地
2.2.1下载Jiagu
首先我们进入OpenKG官网找到该项目开源的页面。这是思知机器人公司开源的一个知识图谱工具。然后我们进入Github进行下载该项目即可即可。
图2-1 OpenKG官网查看Jiagu
图2-2 Github查看Jiagu开源项目
2.2.2为Jiagu创建虚拟环境
我们首先需要安装有anaconda来创建环境
首先我们打开anaconda依次输入如下命令即可
conda create -n Jiagu python=3.8
conda activate Jiagu
然后再输入python3 setup.py install
图2-3 用anaconda创建一个虚拟环境
图2-4 安装JiaguNLP工具
图2-5 成功安装Jiagu
接下来安装numpy
图2-6 numpy安装
接下来还需要再安装matplotlib
图2-7 matplotlib安装
这样我们所需的三个包,jiagu、matplotlib、numpy就安装完成了。
2.3 Jiagu实例运行使用
2.3.1分词、词性标注、命名实体识别
运行python代码如下:
import jiagu
#jiagu.init() # 可手动初始化,也可以动态初始化
text = ‘厦门明天会不会下雨’
words = jiagu.seg(text) # 分词
print(words)
pos = jiagu.pos(words) # 词性标注
print(pos)
ner = jiagu.ner(words) # 命名实体识别
print(ner)
图2-8 分词、词性标注、命名实体识别
2.3.2 demo测试
接下来我们运行demo进行测试
测试代码如下:
import jiagu
jiagu.init() # 可手动初始化,也可以动态初始化
text = ‘苏州的天气不错’
words = jiagu.seg(text) # 分词
print(words)
words = jiagu.cut(text) # 分词
print(words)
pos = jiagu.pos(words) # 词性标注
print(pos)
ner = jiagu.ner(words) # 命名实体识别
print(ner)
字典模式分词
text = ‘思知机器人挺好用的’
words = jiagu.seg(text)
print(words)
jiagu.load_userdict(‘dict/user.dict’) # 加载自定义字典,支持字典路径、字典列表形式。
jiagu.load_userdict([‘思知机器人’])
words = jiagu.seg(text)
print(words)
text = ‘’’
该研究主持者之一、波士顿大学地球与环境科学系博士陈池(音)表示,“尽管中国和印度国土面积仅占全球陆地的9%,但两国为这一绿化过程贡献超过三分之一。考虑到人口过多的国家一般存在对土地过度利用的问题,这个发现令人吃惊。”
NASA埃姆斯研究中心的科学家拉玛·内曼尼(Rama Nemani)说,“这一长期数据能让我们深入分析地表绿化背后的影响因素。我们一开始以为,植被增加是由于更多二氧化碳排放,导致气候更加温暖、潮湿,适宜生长。”
“MODIS的数据让我们能在非常小的尺度上理解这一现象,我们发现人类活动也作出了贡献。”
NASA文章介绍,在中国为全球绿化进程做出的贡献中,有42%来源于植树造林工程,对于减少土壤侵蚀、空气污染与气候变化发挥了作用。
据观察者网过往报道,2017年我国全国共完成造林736.2万公顷、森林抚育830.2万公顷。其中,天然林资源保护工程完成造林26万公顷,退耕还林工程完成造林91.2万公顷。京津风沙源治理工程完成造林18.5万公顷。三北及长江流域等重点防护林体系工程完成造林99.1万公顷。完成国家储备林建设任务68万公顷。
‘’’
keywords = jiagu.keywords(text, 5) # 关键词抽取
print(keywords)
summarize = jiagu.summarize(text, 3) # 文本摘要
print(summarize)
jiagu.findword(‘input.txt’, ‘output.txt’) # 根据大规模语料,利用信息熵做新词发现。
知识图谱关系抽取
text = ‘姚明1980年9月12日出生于上海市徐汇区,祖籍江苏省苏州市吴江区震泽镇,前中国职业篮球运动员,司职中锋,现任中职联公司董事长兼总经理。’
knowledge = jiagu.knowledge(text)
print(knowledge)
情感分析
text = ‘很讨厌还是个懒鬼’
sentiment = jiagu.sentiment(text)
print(sentiment)
文本聚类(需要调参)
docs = [
“百度深度学习中文情感分析工具Senta试用及在线测试”,
“情感分析是自然语言处理里面一个热门话题”,
“AI Challenger 2018 文本挖掘类竞赛相关解决方案及代码汇总”,
“深度学习实践:从零开始做电影评论文本情感分析”,
“BERT相关论文、文章和代码资源汇总”,
“将不同长度的句子用BERT预训练模型编码,映射到一个固定长度的向量上”,
“自然语言处理工具包spaCy介绍”,
“现在可以快速测试一下spaCy的相关功能,我们以英文数据为例,spaCy目前主要支持英文和德文”
]
cluster = jiagu.text_cluster(docs)
print(cluster)
代码运行结果截图如下:
图2-9 demo运行成功
2.3.3中文分词
运行代码如下:
import jiagu
text = ‘汉服和服装、维基图谱’
words = jiagu.seg(text)
print(words)
jiagu.load_userdict(‘dict/user.dict’) # 加载自定义字典,支持字典路径、字典列表形式。
jiagu.load_userdict([‘汉服和服装’])
words = jiagu.seg(text) # 自定义分词,字典分词模式有效
print(words)
图2-10运行中文分词
2.3.4知识图谱关系抽取
本案例只能使用百科的描述进行测试。作者提出效果更佳的后期将会开放api。
代码如下:
import jiagu
吻别是由张学友演唱的一首歌曲。
《盗墓笔记》是2014年欢瑞世纪影视传媒股份有限公司出品的一部网络季播剧,改编自南派三叔所著的同名小说,由郑保瑞和罗永昌联合导演,李易峰、杨洋、唐嫣、刘天佐、张智尧、魏巍等主演。
text = ‘姚明1980年9月12日出生于上海市徐汇区,祖籍江苏省苏州市吴江区震泽镇,前中国职业篮球运动员,司职中锋,现任中职联公司董事长兼总经理。’
knowledge = jiagu.knowledge(text)
print(knowledge)
图2-11 运行关系抽取
2.3.5关键词抽取
代码如下:
import jiagu
text = ‘’’
该研究主持者之一、波士顿大学地球与环境科学系博士陈池(音)表示,“尽管中国和印度国土面积仅占全球陆地的9%,但两国为这一绿化过程贡献超过三分之一。考虑到人口过多的国家一般存在对土地过度利用的问题,这个发现令人吃惊。”
NASA埃姆斯研究中心的科学家拉玛·内曼尼(Rama Nemani)说,“这一长期数据能让我们深入分析地表绿化背后的影响因素。我们一开始以为,植被增加是由于更多二氧化碳排放,导致气候更加温暖、潮湿,适宜生长。”
“MODIS的数据让我们能在非常小的尺度上理解这一现象,我们发现人类活动也作出了贡献。”
NASA文章介绍,在中国为全球绿化进程做出的贡献中,有42%来源于植树造林工程,对于减少土壤侵蚀、空气污染与气候变化发挥了作用。
据观察者网过往报道,2017年我国全国共完成造林736.2万公顷、森林抚育830.2万公顷。其中,天然林资源保护工程完成造林26万公顷,退耕还林工程完成造林91.2万公顷。京津风沙源治理工程完成造林18.5万公顷。三北及长江流域等重点防护林体系工程完成造林99.1万公顷。完成国家储备林建设任务68万公顷。
‘’’
keywords = jiagu.keywords(text, 5) # 关键词
print(keywords)
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
6万公顷,退耕还林工程完成造林91.2万公顷。京津风沙源治理工程完成造林18.5万公顷。三北及长江流域等重点防护林体系工程完成造林99.1万公顷。完成国家储备林建设任务68万公顷。
‘’’
keywords = jiagu.keywords(text, 5) # 关键词
print(keywords)
[外链图片转存中…(img-cpGMVIWf-1714279973355)]
[外链图片转存中…(img-7PIiIFcz-1714279973356)]
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!