一种基于模板匹配技术的知识图谱问答系统及方法

文档序号:10512291阅读:860来源:国知局
一种基于模板匹配技术的知识图谱问答系统及方法
【专利摘要】本发明公开了一种基于模板匹配技术的知识图谱问答系统和方法。该系统包括离线模块和在线模块,离线模块主要用于离线数据准备,在线模块主要用于系统服务。本发明的系统可支持用户友好的自然语言问句为查询,通过对用户的问句进行语法分析,将语法分析后的结果到离线定义的手工模板库中寻找匹配的问句模板,根据所述的实体匹配方法和关系匹配方法,生成最终的结构化的知识图谱查询语句,根据该结构化查询语句到知识图谱中进行检索,返回最终的结果。本发明的基于模板匹配技术的知识图谱问答系统和方法能够针对用户的问句给出精确性的检索结果,提高用户的搜索满意度。
【专利说明】
一种基于模板匹配技术的知识图谱问答系统及方法
技术领域
[0001] 本发明涉及一种知识图谱问答系统和方法,尤其涉及一种基于模板匹配技术的知 识图谱问答系统和方法。
【背景技术】
[0002] 随着互联网上信息的爆炸式增长,人们对信息检索的需求越来越大。如何快速、精 确、可靠地从大量的、模态多样化的信息中搜索到用户需要的信息,成为一个热门的迫切需 要解决的课题。最初的互联网只有仅供人们浏览的静态网页,人们在互联上所能处理的事 情也十分有限。随着互联网的迅猛发展,互联网已经变得越来越普及,内容也越来越丰富, 模态也越来越多样。如何从这些浩瀚的互联网信息中获取用户所需的信息,成为一个难题。
[0003] 传统搜索引擎的出现,比如:G〇〇gle、雅虎、百度等,很大程度上解决了用户对信息 搜索的需求。以Google为首的传统的搜索引擎主要是基于关键词匹配的一种信息检索技 术,它从互联网中以一定的策略搜集、爬取信息,对信息进行解析、索引,为用户提供检索服 务。传统搜索引擎存在搜索接口不友好、搜索过程复杂、返回信息量大、返回内容针对性不 强等问题。传统的搜索引擎技术无法从根本上解决搜索中存在的准确率低以及召回率低的 问题。根据调查公司英国莫里(M0RI)的调查结果可以发现,只有约18%的用户对搜索引擎 的搜索结果比较满意,表示可以通过它获取到相关的有用信息,而相反的是,足足有68%的 用户表示对传统的搜索引擎比较失望。
[0004] 为了克服传统搜索引擎存在的弊端,基于知识图谱的检索开辟了一种新的信息检 索模式。与传统搜索引擎相比,基于知识图谱的检索存在如下的特点:
[0005] 1.基于知识图谱的搜索支持更友好的互动问答模式。
[0006] 自然语言问句一方面可以使得用户的搜索更加快速、准确、方便,另一方面更符合 用户的用户查询习惯。比如如果用户查询"中国历史最悠久的大学? ",传统的搜索引擎往往 无法帮助你获取到想要的答案,或者无法显式的提供问题的精准答案,而基于知识图谱的 搜索引擎却可以帮助你解决该问题。
[0007] 2.基于知识图谱的搜索支持更精准、更简洁的结果返回。
[0008] 基于知识图谱的搜索往往将用户的搜索语句映射到一个结构化查询语句,最终的 定位目标是某个知识库中的实体。实体上包含丰富的相关信息。因此,只要准确定位到知识 库中的实体,就可以很方便的返回给用户一个精准更简洁的搜索结果。
[0009] 3.基于知识图谱的搜索支持知识内容的累积。
[0010] 知识库是一个不断"吸收"新知识,而沉淀旧知识的系统。因此,知识库能够不断的 累积知识,进而在更丰富的知识上面,进行推理、挖掘等工作,发现更多的知识。
[0011] 4.基于知识图谱的搜索支持隐式信息的显式展现。
[0012] 互联网上蕴含着丰富的信息,信息跟信息之间,有着千丝万缕的联系。传统的信息 存储、信息检索技术,关于信息间的挖掘,是一个难点。由于知识库的结构化表示、存储技 术,使得我们很容易就可以在知识库上进行一系列的推理、挖掘工作,进而将存在的、隐式 的信息,显式的展现给用户。
[0013] 由于传统搜索引擎存在的一系列弊端,以及知识搜索相对于传统搜索引擎的优 点,本文基于互联网上数据源的特性,研究设计并实现了一套面向自然语言查询的知识搜 索系统。该系统支持用户友好的自然语言问句为查询,在底层结构化的知识图谱数据和非 结构化的社区问答数据之上,通过自然语言处理和分析,转换为基本的查询过程(包括全文 查询、互联网通用查询、图数据库查询等),收集基本查询过程的反馈结果,对其进行整合、 过滤和排序,并把最终查询结果转换。

【发明内容】

[0014] 本发明的目的在于提供一种基于模板匹配技术的知识图谱问答系统及方法。
[0015] 本发明提出的系统及方法主要技术方案如下:
[0016] -种基于模板匹配技术的知识图谱问答系统,包括离线模块和在线模块,其中,离 线模块主要用于离线数据准备,包括基于外部无标签数据集的关系模式挖掘系统和针对问 题类别手工定义的问题模板库;在线模块主要用于系统服务,包括对用户输入问句进行语 法分析、为问句寻找匹配的问题模板、将问句短语映射到对应的知识图谱中的实体和关系、 生成结构化知识图谱查询语句。
[0017] 本发明的基于模板匹配技术的知识图谱问答方法,具体步骤如下:
[0018] 步骤(1).基于外部数据集的关系模式挖掘。由于知识图谱中的关系可以有多种不 同的自然语言表达形式,如何为某一个特定的关系挖掘出该关系可能的自然语言表达形式 是知识图谱问答系统的一个难点。在本发明中,我们提出了一种基于外部无标签数据集的 关系模式挖掘算法。该算法的具体步骤如下:
[0019] 步骤1-1.知识图谱三元组集获取。对于一个给定的关系P,我们希望挖掘出该关系 的所有可能的自然语言表达式。在这一步骤中,我们从知识库中抽取出所有关系P关联的三 元组〈Subject predicate,0bject>。我们用集合I(P) = {(s,o): (s,p,o) £κ}来表示我们抽 取出来的所有关系为Ρ的三元组,其中κ表示我们的知识库集。
[0020] 步骤1-2.外部无标签数据集获取。所述的外部无标签数据集D包括两部分:一部分 为通过爬虫挖掘获取的中文wikipedia文本数据集,另一部分则为抽取上一步中每一个三 元组的两个实体,输入传统搜索引擎得到的数据集;在获取了所需的Wikipedia数据集之 后,可以通过预处理,包括去除一些异常的字符串(I []〈〈>>等),将xml格式的wikipedia数 据转换成UTF-8编码的字符文本数据等。另一部分数据集,是通过将第一步中抽取的每一个 三元组的两个实体,输入传统搜索引擎(如Google和Bing这两个传统搜索引擎),从返回结 果的网页中,抽取每个页面的内容,作为本文的另一份数据集。通过对这些处理后的 wikipedia文本数据和从搜索引擎提取到的数据做索引。
[0021] 步骤1-3.自然语言表达式候选集挖掘。为了挖掘关系P的自然语言表达式,本发明 准备了两部分的数据:无标签的数据集D和知识库中所有已P为关系的三元组集合I(P) = {(s,o): (s,p,o) Εκ}。我们定义α(χ)表示实体X的标签,β(χ)表示实体X的URI。程序首先遍 历无标签数据集D中所有的句子,若句子中同时出现a(s)和α(ο),则把该句子a(s)和α(ο)中 间的短语加入到潜在自然语言表达式集合中Ν。
[0022]步骤1-4.自然语言表达式集验证。记Θ为挖掘出的某一个具体的自然语言表达式, β为挖掘出的某类模式的集合。对于一个关系P,一个好的模式θ定义它满足如下条件:
[0023] 1.对于关系ρ,好的模式Θ应该出现在I (Ρ)中的大部分三元组中。
[0024] 2.对于关系ρ,好的模式Θ应该在1(~Ρ)中出现的频率比较低。
[0025] 因此,基于以上两条判定规则,定义一个表达式η对于一个关系ρ的得分函数如公 式⑴:
[0027] 其中,c表示对于一个三元组〈si,p,〇i>,关系短语η和实体si,〇i同时在语料库中出 现的次数,C表示实体Sl,〇1在语料库中出现的总次数,Μ表示对于那些不存在关系ρ的实体在 语料库中出现的总次数,m表示对于那些不存在关系ρ的实体与关系短语η在语料库中出现 的总次数,i表示知识库中存在关系Ρ的三元组个数,j表示知识库中不存在关系Ρ的三元组 个数,9表示权重参数,通过实验来获取最优值。根据上述方法计算出表达式集中每个表达 式的得分,选取得分较高的K个表达式作为最终验证出来的自然语言表达式,其中K根据需 求设定。
[0028] 步骤(2).手工定义问题模板库。一个问题模板,定义了该类问题的问句形式,以及 对应的结构化知识图谱查询语句范例。通过正则表达式来定义某类问题模板,通过SPARQL 查询语句定义该模板对应的知识图谱结构化查询模板。SPARQL查询模板中待确定的实体或 者关系由变量来表示,最终将被匹配的问句中词、短语对应的实体或者关系填充到该 SPARQL查询模板的变量中。
[0029] 步骤(3).问句输入问句语法分析。语法分析步骤包括通过分词算法对用户输入的 问句进行切割,分析切割后的每个词、短语的词性、疑问词识别,生成一棵语法树。
[0030] 步骤(4).问句模板匹配。步骤(3)中对用户输入问句经过语法分析生成一棵语法 树,树中每个节点代表了一个词,每个词有对应一个词性。步骤(2)中本发明通过手工定义, 为每类问题定义了一个问题模板。问句模板匹配步骤就是通过比较问句分析后的语法树与 步骤(2)中问题模板库中问题模板的相似度,在问题模板库中找出相似度最大即最匹配的 问题模板,返回该模板对应的SPARQL查询模板。
[0031] 步骤(5).知识库实体、关系映射。由于自然语言表达形式的多样性,同一个知识库 中的实体、关系,可以有多种不同的自然语言表达形式。为了将用户的某一个自然语言表达 形式映射到知识库中具体的某个实体或者关系,本发明提出了一种基于层次化模型的实 体、关系匹配算法。具体步骤如下:
[0032] 步骤5-1.基于倒排索引的严格匹配。基于倒排索引表的检索方法,是最直观最直 接的方法。通过提取出知识图谱中所有的实体和关系,提取出实体和关系的URI和标签,然 后建立从标签到URI的映射表。建立倒排索引表,键值为知识库中实体或者关系的标签,对 应的值是一个URI集合,这些集合中的URI对应的实体或者关系的标签就是键值。基于倒排 索引的严格匹配要求自然语言表达式与知识图谱中的实体或者关系的标签字符严格匹配。
[0033] 步骤5-2.基于字符串相似度的匹配。定义两个字符串之间的相似度如公式(2):
[0035]预先设置相似度阈值,计算所有标签与目标短语的字符串相似度,如果相似度超 过阈值,那么认为该标签对应的URI就是候选URI集。
[0036] 步骤5-3.基于字典词汇集的扩充。不管是提出来基于倒排索引的严格匹配算法还 是基于字符串相似度的模糊匹配算法,都要求用户使用的自然语言短语与我们知识库中的 目标实体或者关系存在字符层面上的相似度要求。为了解决这种问题,采用同义词典扩充 的方法。可以采用WordNet词典,将该短语在WordNet中对应的同义词集、上位词集、下位词 集都添加进该词的候选匹配集合,然后采用步骤5-1和步骤5-2介绍的两种方法,重新进行 匹配。
[0037] 步骤5-4.基于语义相似度的匹配。语义相似度匹配的目的是突破实体匹配中对字 符的依赖。采用Google发布的word2vec模型。基于语义相似度匹配算法最大的优势就是摆 脱了传统的字符层面的相似度度量,而是从一个更高维度的语义空间进行度量。可以解决 像"painted"到知识库中"artist"这种难度比较大的映射。
[0038] 步骤(6).生成结构化知识图谱查询语句。将步骤(5)中映射到的实体、关系填充到 步骤(4)匹配到的问题模板对应的SPARQL查询模板中,生成最终的结构化知识图谱查询语 句。
[0039] 本发明的基于模板匹配技术的知识图谱问答系统和方法,可支持用户友好的自然 语言问句为查询,通过对用户的问句进行语法分析,并将语法分析后的结果到离线定义的 手工模板库中寻找匹配的问句模板,根据所述的实体匹配方法和关系匹配方法,生成最终 的结构化的知识图谱查询语句,根据该结构化查询语句到知识图谱中进行检索,返回最终 的结果。该问答系统能够针对用户的问句给出精确性的检索结果,提高用户的搜索满意度。
【附图说明】
[0040] 图1为本发明基于模板匹配技术的知识图谱问答的系统的架构图;
[0041] 图2为本发明基于模板匹配技术的知识图谱问答方法的流程图。
【具体实施方式】
[0042]下面结合附图详细描述本发明,本发明的目的和效果将变得更加明显。
[0043] -种基于模板匹配技术的知识图谱问答系统,包括离线模块和在线模块,其中,离 线模块主要用于离线数据准备,包括基于外部无标签数据集的关系模式挖掘系统和针对问 题类别手工定义的问题模板库;在线模块主要用于系统服务,包括对用户输入问句进行语 法分析、为问句寻找匹配的问题模板、将问句短语映射到对应的知识图谱中的实体和关系、 生成结构化知识图谱查询语句。如图1所示。
[0044] 基于模板匹配技术的知识图谱问答的方法,如图2所示,具体步骤如下:
[0045] (1)准备好需要检索的知识图谱数据。为了方便说明,在此以DBpedia数据库为例, 数据以RDF资源描述框架的三元组格式存储于Virtuoso图数据库中,并以SPARQL图数据库 查询语言进行最终的知识图谱数据检索。
[0046] (2)对于知识图谱中的某个关系p,抽取出所有与该关系关联的三元组数据<Sl,p, 〇1>,其中Sl表示第i个三元组左边的实体,〇1表示第i个三元组右边的实体。在外部数据集中 检索出实体 Sl和实体〇1同时出现的句子,抽取出句子中两个实体中间的自然语言表达式,该 表达式是关系P可能的一个潜在自然语言表达模式。其中,外部数据集的来源分两部分:1) 12G的中文Wikipedia文档数据;2)通过将实体Si和实体Oi放进传统搜索引擎Google和Bing 搜索引擎,检索返回的结果文档数据。记Θ为挖掘出的某一个具体的自然语言表达式,β为挖 掘出的某类模式的集合。对于一个关系Ρ,一个好的模式Θ定义它满足如下条件:
[0047] 1.对于关系ρ,好的模式Θ应该出现在Ι(ρ)中的大部分三元组中。
[0048] 2.对于关系ρ,好的模式Θ应该在1(~ρ)中出现的频率比较低。
[0049] 因此,基于以上两条判定规则,定义一个表达式η对于一个关系ρ的得分函数如公 式⑶:
[0051 ] 其中,c表示对于一个三元组〈si,p,〇i>,关系短语η和实体si,〇i同时在语料库中出 现的次数,C表示实体Sl,〇1在语料库中出现的总次数,Μ表示对于那些不存在关系ρ的实体在 语料库中出现的总次数,m表示对于那些不存在关系ρ的实体与关系短语η在语料库中出现 的总次数,i表示知识库中存在关系Ρ的三元组个数,j表示知识库中不存在关系Ρ的三元组 个数,3表示权重参数。根据上述方法计算出表达式集中每个表达式的得分,选取得分较高 的K个表达式作为最终验证出来的自然语言表达式,其中K根据需求设定。
[0052] (3)手工定义问题模板库。一个问题模板,定义了该类问题的问句形式,以及对应 的结构化知识图谱查询语句范例。通过正则表达式来定义某类问题模板,通过SPARQL查询 语句定义该模板对应的知识图谱结构化查询模板。SPARQL查询模板中待确定的实体或者关 系由变量来表示,最终将被匹配的问句中词、短语对应的实体或者关系填充到该SPARQL查 询模板的变量中。
[0053] (4)问句输入问句语法分析。语法分析步骤包括通过分词算法对用户输入的问句 进行切割,分析切割后的每个词、短语的词性、疑问词识别,生成一棵语法树。
[0054] (5)问句模板匹配。通过比较问句分析后的语法树与步骤(2)中问题模板库中问题 模板的相似度,在问题模板库中找出相似度最大即最匹配的问题模板,返回该模板对应的 SPARQL查询模板。
[0055] (6).知识库实体、关系映射。由于自然语言表达形式的多样性,同一个知识库中的 实体、关系,可以有多种不同的自然语言表达形式。为了将用户的某一个自然语言表达形式 映射到知识库中具体的某个实体或者关系,本发明提出了一种基于层次化模型的实体、关 系匹配算法。具体步骤如下:
[0056] 步骤1).基于倒排索引的严格匹配。基于倒排索引表的检索方法,是最直观最直接 的方法。提取出知识图谱中所有的实体和关系,提取出实体和关系的URI和标签,然后建立 从标签到URI的映射表。建立倒排索引表,键值为知识库中实体或者关系的标签,对应的值 是一个URI集合,这些集合中的URI对应的实体或者关系的标签就是键值。基于倒排索引的 严格匹配要求自然语言表达式与知识图谱中的实体或者关系的标签字符严格匹配。
[0057] 步骤2).基于字符串相似度的匹配。定义两个字符串之间的相似度如公式(4):
[0059]本系统中,设置相似度阈值为0.95,计算所有标签与我们的目标短语的字符串相 似度,如果它们的相似度超过设置的阈值,那么认为该标签对应的URI就是我们的候选URI 集。
[0060] 步骤3).基于字典词汇集的扩充。不管是提出来基于倒排索引的严格匹配算法还 是基于字符串相似度的模糊匹配算法,都要求用户使用的自然语言短语与我们知识库中的 目标实体或者关系存在字符层面上的相似度要求。为了解决这种问题,采用同义词典扩充 的方法。在本系统中,采用WordNet词典,将该短语在WordNet中对应的同义词集、上位词集、 下位词集都添加进该词的候选匹配集合,然后采用步骤5-1和步骤5-2介绍的两种方法,重 新进行匹配。
[0061] 步骤4).基于语义相似度的匹配。语义相似度匹配的目的是突破实体匹配中对字 符的依赖。采用Google发布的word2vec模型。基于语义相似度匹配算法最大的优势就是摆 脱了传统的字符层面的相似度度量,而是从一个更高维度的语义空间进行度量。可以解决 像"painted"到知识库中"artist"这种难度比较大的映射。
[0062] (6).生成结构化知识图谱查询语句。将(5)中映射到的实体、关系填充到(4)匹配 到的问题模板对应的SPARQL查询模板中,生成最终的结构化知识图谱查询语句。
[0063] 上述的对实施例的描述是为便于本技术领域的普通技术人员能理解和应用本发 明。熟悉本领域技术的人员显然可以容易地对上述实施例做出各种修改,并把在此说明的 一般原理应用到其他实施例中而不必经过创造性的劳动。因此,本发明不限于上述实施例, 本领域技术人员根据本发明的揭示,对于本发明做出的改进和修改都应该在本发明的保护 范围之内。
【主权项】
1. 一种基于模板匹配技术的知识图谱问答系统,其特征在于,包括用于离线数据准备 的离线模块和用于系统服务的在线模块,其中,离线模块包括基于外部无标签数据集的关 系模式挖掘系统和针对问题类别手工定义的问题模板库;在线模块包括对用户输入的问句 进行语法分析、为问句寻找匹配的问题模板、将问句短语映射到对应的知识图谱中的实体 和关系、生成结构化知识图谱查询语句。2. -种基于模板匹配技术的知识图谱问答方法,其特征在于,具体步骤如下: 步骤(1)建立基于外部无标签数据集的关系模式挖掘系统,为知识图谱中的每一个关 系挖掘所有可能的自然语言表达式; 步骤(2)手工定义问题模板库,对每一个问题模板,定义该类问题的问句形式以及对应 的结构化知识图谱查询语句范例; 步骤(3)对用户的问句输入进行问句语法分析;语法分析步骤包括通过分词算法对用 户输入的问句进行切割,以及对分析切割后的每个词、短语的词性、疑问词识别,生成一棵 语法树; 步骤(4)通过比较问句分析后的语法树与步骤(2)中问题模板库中问题模板的相似度, 找出相似度最大即最匹配的问题模板,得到该问题模板相对应的结构化知识图谱查询模 板; 步骤(5)将用户自然语言表达的词、短语映射到知识图谱中的某个实体或者关系; 步骤(6)将步骤(5)映射出的实体、关系填充到步骤(4)中得到的结构化知识图谱查询 模板中,生成最终的结构化知识图谱查询语句。3. 根据权利要求2所述的基于模板匹配技术的知识图谱问答方法,其特征在于,所述的 步骤(1)具体为: 步骤1-1.获取知识图谱三元组集;对于一个给定的关系P,从知识库中抽取出所有关系 P关联的三元组〈Subject,Predicate,Object〉,用集合I(P) = { (s,o): (s,p,o) Εκ}表示,其 中κ表示知识库集; 步骤1-2.获取外部无标签数据集;所述的外部无标签数据集D包括两部分:一部分为通 过爬虫挖掘获取的中文wikipedia文本数据集,另一部分则为抽取上一步中每一个三元组 的两个实体,输入传统搜索引擎得到的数据集; 步骤1-3.挖掘自然语言表达式候选集;定义α(χ)表示实体X的标签,β(χ)表示实体X的 URI,首先遍历无标签数据集D中所有的句子,若句子中同时出现a(s)和α(ο),则把该句子α (s)和α(ο)中间的短语加入到潜在自然语言表达式集合中Ν。 步骤1-4.验证自然语言表达式集;记Θ为挖掘出的某一个具体的自然语言表达式,β为 挖掘出的某类模式的集合, 定义一个表达式η对于一个关系ρ的得分函数如公式(1):⑴ 其中,C表示对于一个三元组〈Si,p,〇i>,关系短语η和实体Si,〇i同时在语料库中出现的 次数,C表示实体81,〇1在语料库中出现的总次数,Μ表示对于那些不存在关系ρ的实体在语料 库中出现的总次数,m表示对于那些不存在关系ρ的实体与关系短语η在语料库中出现的总 次数,i表示知识库中存在关系Ρ的三元组个数,j表示知识库中不存在关系Ρ的三元组个数, 表示权重参数。 根据上述方法计算出表达式集中每个表达式的得分,选取得分较高的K个表达式作为 最终验证出来的自然语言表达式,其中K根据需求设定。4. 根据权利要求3所述的基于模板匹配技术的知识图谱问答方法,其特征在于,步骤1-2中所述的传统搜索引擎为Google和Bing搜索引擎。5. 根据权利要求2所述的基于模板匹配技术的知识图谱问答方法,其特征在于,所述的 步骤(2)具体为:通过正则表达式来定义某类问题模板,通过SPARQL查询语句定义该模板对 应的知识图谱结构化查询模板,SPARQL查询模板中待确定的实体或者关系由变量来表示。6. 根据权利要求2所述的基于模板匹配技术的知识图谱问答方法,其特征在于,所述的 步骤(5)具体为: 步骤5-1.基于倒排索引的严格匹配;提取出知识图谱中所有的实体和关系,提取出实 体和关系的URI和标签,然后建立从标签到URI的映射表,建立倒排索引表,键值为知识库中 实体或者关系的标签,对应的值是一个URI集合,这些集合中的URI对应的实体或者关系的 标签就是键值。,基于倒排索引的严格匹配要求自然语言表达式与知识图谱中的实体或者 关系的标签字符严格匹配。 步骤5-2.基于字符串相似度的匹配;定义两个字符串之间的相似度如公式(2):预先设置相似度阈值,计算所有标签与目标短语的字符串相似度,当相似度超过阈值, 则该标签对应的URI即为候选URI集。 步骤5-3 .基于字典词汇集的扩充;采用同义词典扩充的方法,将该短语在词典中对应 的同义词集、上位词集、下位词集都添加进该词的候选匹配集合,然后采用步骤5-1和步骤 5-2,重新进行匹配。 步骤5-4.基于语义相似度的匹配;采用Google发布的W〇rd2vec模型进行语义相似度匹 配。7. 根据权利要求6所述的基于模板匹配技术的知识图谱问答方法,其特征在于,所述的 步骤5-3中采用WordNet词典进行同义扩充。
【文档编号】G06F17/27GK105868313SQ201610179359
【公开日】2016年8月17日
【申请日】2016年3月25日
【发明人】王东辉, 黄鹏程, 李亚楠, 蔺越檀, 庄越挺
【申请人】浙江大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1