本文介绍: 在今年以OpenAI为代表的LLM席卷全球前,笔者尝试了很多开源技术来进行实体关系识别发现中文环境下,百度的Paddle展示出的效果最好的。一种更好的办法是,在提示中给出Json格式输出样例,以确保LLM按照指定格式输出结果,方便后续的程序统一处理,更加简单、方便。从目前的实验结果看,使用LLM进行实体关系识别,较之前的技术,有了很大程度的提升。但在使用LLM的这种技术时,需要注意,不同的LLM在相同的提示输入下,返回信息会有不同这里输出省去了对平台扩展整理,但更加符合输入提示

        如今LLM(大语言模型)的问答生成能力已被大家所熟知,很多用户已经亲身体会到了LLM为工作生活带来的变革。其实,作为NLP(自然语言处理)的集大成者,LLM能为我们提供的能力不限于此。其基本胜任传统NLP技术所能承担的所有任务。如:分词语义识别命名实体识别实体关系识别等。其中,命名实体识别实体关系识别在NLP任务中属于难度较大的任务。传统的NLP方案,一般针对不同业务领域都要进行专门的模型训练,从而提高识别率,但真实效果也往往不尽如人意。这也使得需要以这类技术为基础的业务,发展速度受到了一定的限制

        一个比较常见实体关系识别场景构建行业知识图谱。在构建知识图谱时,需要海量行业知识文档提取有效的实体其实体关系,而后进行数预处理实体对齐操作。在今年以OpenAI为代表的LLM席卷全球前,笔者尝试了很多开源技术来进行实体关系的识别发现中文环境下,百度的Paddle所展示出的效果最好的。但其能够识别的文本篇幅及质量仍让人感到些许遗憾。直到LLM出现在笔者视野里,笔者开始尝试使用LLM来完成实体关系的识别结果令人感到兴奋。

        测试时,我们使用如下的一段文字

我抽取“####”后内容中的黑客组织及其账号,并输出json格式

####

ATW 组织发布的“ATW-对华战争”帖

2021 年 10 月,ATW 组织开始频繁活动,不断在电报群组(https://t.me/s/ATW2022,Email:AgainstTheWest@riseup.net备份 Email:apt49@riseup.net)、推特(@_AgainstTheWesthttps://mobile.twitter.com/_AgainstTheWest)、Breadched账号:AgainstTheWest)等境外社交平台开设新账号,扩大宣传途径,并表现出较明显的亲美西方政治倾向,多次声明攻击目标是俄罗斯、白俄罗斯和中国、伊朗、朝鲜”、“愿意与美国、欧盟政府共享所有文件”、“愿受雇于相关机构”。

        文本中的第一句是我们给LLM输入的提示(Prompt)信息,要求其提取后续内容中的黑客组织及其账号然后结果以Json格式输出。而“####”后的内容为一小段文字,是LLM要处理目标文本。下面让我们来看一看当把这段文字交给GPT,它的输出表现吧。

        以下是使用GPT 3.5(Old)时,其模型的结果输出

{

   “组织名称“: “ATW”,

   “账号“: [{

         “平台“: “电报“,

         “链接“: “https://t.me/s/ATW2022″

      },{

         “平台“: “Email”,

         “地址“: “AgainstTheWest@riseup.net

      },{

         “平台“: “备份Email”,

         “地址“: “apt49@riseup.net

      },{

         “平台“: “推特“,

         “账号“: “@_AgainstTheWest”,

         “链接“: “https://mobile.twitter.com/_AgainstTheWest”

      },{

         “平台“: “Breadched“,

         “账号“: “AgainstTheWest”

      }]

}

看到这个结果时,令人眼前一亮。其不但分析出了黑客组织及其相关账号,还为每个账号进行了平台划分。一定程度上超出了当时给其写提示时的期望输出。结果的条理性超过了一般人类总结水平。而在这个基础上再使用程序进行自动化处理构建知识图谱就变的方便很多了。

        笔者发现,GPT 3.5升级以后,同样的输入只能获得如下输出

{

  “黑客组织“: “ATW”,

  “账号信息“: {

    “电报群组“: “https://t.me/s/ATW2022″,

    “电子邮箱“: “AgainstTheWest@riseup.net“,

    “备用电子邮箱“: “apt49@riseup.net“,

    “推特账号“: “@_AgainstTheWest”,

    “推特链接“: “https://mobile.twitter.com/_AgainstTheWest”,

    “Breadched账号“: “AgainstTheWest”

  }

}

这里输出省去了对平台的扩展整理,但更加符合输入的提示。虽无惊喜,但更加稳定。为了获得类似升级前的效果我们修改提示的描述如下

我抽取“####”后内容中的黑客组织及其账号与账号平台,并输出为json格式

可以获得如下输出:

{

  “黑客组织“: “ATW”,

  “账号“: [

    {“平台“: “电报群组“, “用户名/链接“: “https://t.me/s/ATW2022″},

    {“平台“: “Email”, “用户名/链接“: “AgainstTheWest@riseup.net“},

    {“平台“: “备份 Email”, “用户名/链接“: “apt49@riseup.net“},

    {“平台“: “推特“, “用户名/链接“: “@_AgainstTheWest, https://mobile.twitter.com/_AgainstTheWest”},

    {“平台“: “Breadched”, “用户名/链接“: “AgainstTheWest”}

  ]

}

        从输出的信息可以看到我们希望获得的要素信息基本都被识别出来了,只是在输出格式上有一定差别。我们可以通过编写处理程序解析这个Json数据获取有效的实体关系信息。但这种方式的灵活度稍差,需要根据LLM的输出结果不断进行调整适配。一种更好的办法是,在提示中给出Json格式的输出样例,以确保LLM按照指定的格式输出结果,方便后续的程序统一处理,更加简单、方便。(注:以上两种GPT 3.5版本实验通过TheB.AI网站完成的。如果使用OpenAI提供的ChatGPT,由于其在获得提示后更倾向于输出Python脚本,所以在提示的最后额外加入”不需要给出代码”,以确保其能够正常输出Json结构数据。)

        从目前的实验结果看,使用LLM进行实体关系的识别,较之前的技术,有了很大程度的提升。这种提升能大幅促进知识图谱应用系统构建效率及准确性。但在使用LLM的这种技术时,需要注意,不同的LLM在相同的提示和输入下,返回的信息会有不同使用者需要选取合适的LLM并尝试不同的Prompt,确保LLM的结果符合预期。

原文地址:https://blog.csdn.net/colorknight/article/details/134755323

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任

如若转载,请注明出处:http://www.7code.cn/show_31326.html

如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱suwngjj01@126.com进行投诉反馈,一经查实,立即删除

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注