凡科网站做的作品如何发布,百度搜索风云榜官网,简述电子商务网站建设方案,深圳小程序app开发基于Zero-shot方式实现LLM信息抽取 在当今这个信息爆炸的时代#xff0c;从海量的文本数据中高效地抽取关键信息显得尤为重要。随着自然语言处理#xff08;NLP#xff09;技术的不断进步#xff0c;信息抽取任务也迎来了新的突破。近年来#xff0c;基于Zero-shot#x…基于Zero-shot方式实现LLM信息抽取 在当今这个信息爆炸的时代从海量的文本数据中高效地抽取关键信息显得尤为重要。随着自然语言处理NLP技术的不断进步信息抽取任务也迎来了新的突破。近年来基于Zero-shot零样本学习的大型语言模型LLM在信息抽取领域展现出了强大的潜力。这种方法能够在没有预先标注数据的情况下通过理解自然语言指令来完成信息抽取任务极大地提高了信息处理的灵活性和效率。 1 LLM信息抽取任务介绍
首先我们定义信息抽取的Schema
# 定义不同实体下的具备属性
schema {人物: [姓名, 性别, 出生日期, 出生地点, 职业, 获得奖项, 实体类型],书籍: [作者, 类型, 发行时间, 定价, 实体类型],电视剧: [导演, 演员, 题材, 出品方, 实体类型]
}下面几段文本来自百度百科
1. 张译原名张毅1978年2月17日出生于黑龙江省哈尔滨市中国内地男演员。1997年至2006年服役于北京军区政治部战友话剧团。2006年主演军事励志题材电视剧《士兵突击》。
2. 《琅琊榜》是由山东影视传媒集团、山东影视制作有限公司、北京儒意欣欣影业投资有限公司、北京和颂天地影视文化有限公司、北京圣基影业有限公司、东阳正午阳光影视有限公司联合出品由孔笙、李雪执导胡歌、刘涛、王凯、黄维德、陈龙、吴磊、高鑫等主演的古装剧。我们的目的是期望模型能够帮助我们识别出这2段话中的SPO三元组信息。
2 Prompt设计
在该任务的 prompt 设计中我们主要考虑 2 点
需要向模型解释什么叫作「信息抽取任务」需要让模型按照我们指定的格式json输出
为了让模型知道什么叫做「信息抽取」我们借用 Incontext Learning 的方式先给模型展示几个正确的例子 User: 岳云鹏本名岳龙刚1985年4月15日出生于河南省濮阳市南乐县中国内地相声、影视男演员。2005年首次登台演出。2012年主演卢卫国执导的喜剧电影《就是闹着玩的》。2013年在北京举办相声专场。提取上述句子中“人物”(姓名, 性别, 出生日期, 出生地点, 职业, 获得奖项)类型的实体并按照JSON格式输出上述句子中没有的信息用[原文中未提及]来表示多个值之间用,分隔。Bot: {姓名: [岳云鹏], 性别: [男], 出生日期: [1985年4月15日], 出生地点: [河南省濮阳市南乐县], 职业: [相声演员, 影视演员], 获得奖项: [原文中未提及]}
...其中User 代表我们输入给模型的句子Bot 代表模型的回复内容。 注意上述例子中 Bot 的部分也是由人工输入的其目的是希望看到在看到类似 User 中的句子时模型应当做出类似 Bot 的回答。 3 关系抽取任务代码实现
本章节使用的模型为ChatGLM-6B参数参数较大6B下载到本地大概需要 12G 的磁盘空间请确保磁盘有充足的空间。此外加载模型大概需要 13G 左右的显存如果您显存不够可以进行模型量化加载以缩小模型成本。
本次信息抽取任务实现的主要过程
构造prompt先对句子做分类再进行信息抽取
代码存放位置/Users/**/PycharmProjects/llm/zero-shot/llm_information_extraction.py
llm_information_extraction.py脚本中包含三个函数init_prompts()、clean_response()和inference() 3.1 导入必备的工具包 利用 LLM 进行信息抽取任务先对句子做分类再进行信息提取。import re
import json
import osfrom rich import print
from rich.console import Console
from transformers import AutoTokenizer, AutoModel# 分类 example
class_examples {人物: 岳云鹏本名岳龙刚1985年4月15日出生于河南省濮阳市南乐县中国内地相声、影视男演员。2005年首次登台演出。2012年主演卢卫国执导的喜剧电影《就是闹着玩的》。2013年在北京举办相声专场。,书籍: 《三体》是刘慈欣创作的长篇科幻小说系列由《三体》《三体2黑暗森林》《三体3死神永生》组成第一部于2006年5月起在《科幻世界》杂志上连载第二部于2008年5月首次出版第三部则于2010年11月出版。,电视剧: 《狂飙》是由中央电视台、爱奇艺出品留白影视、中国长安出版传媒联合出品中央政法委宣传教育局、中央政法委政法综治信息中心指导拍摄徐纪周执导张译、张颂文、李一桐、张志坚、吴刚领衔主演倪大红、韩童生、李建义、石兆琪特邀主演李健、高叶、王骁等主演的反黑刑侦剧。,}
class_list list(class_examples.keys())CLS_PATTERN f“{{}}”是 {class_list} 里的什么类别# 定义不同实体下的具备属性
schema {人物: [姓名, 性别, 出生日期, 出生地点, 职业, 获得奖项],书籍: [书名, 作者, 类型, 发行时间, 定价],电视剧: [电视剧名称, 导演, 演员, 题材, 出品方]
}IE_PATTERN {}\n\n提取上述句子中{}类型的实体并按照JSON格式输出上述句子中不存在的信息用[原文中未提及]来表示多个值之间用,分隔。# 提供一些例子供模型参考
ie_examples {人物: [{content: 岳云鹏本名岳龙刚1985年4月15日出生于河南省濮阳市南乐县中国内地相声、影视男演员。,answers: {姓名: [岳云鹏],性别: [男],出生日期: [1985年4月15日],出生地点: [河南省濮阳市南乐县],职业: [相声演员, 影视演员],获得奖项: [原文中未提及]}}],书籍: [{content: 《三体》是刘慈欣创作的长篇科幻小说系列由《三体》《三体2黑暗森林》《三体3死神永生》组成第一部于2006年5月起在《科幻世界》杂志上连载第二部于2008年5月首次出版第三部则于2010年11月出版。,answers: {书名: [《三体》],作者: [刘慈欣],类型: [长篇科幻小说],发行时间: [2006年5月,2008年5月,2010年11月],定价: [原文中未提及]}}]
}3.2 构建init_prompts()函数
目的进行prompt设计具体代码实现
def init_prompts():初始化前置prompt便于模型做 incontext learning。class_list list(class_examples.keys())cls_pre_history [(f现在你是一个文本分类器你需要按照要求将我给你的句子分类到{class_list}类别中。,f好的。)]for _type, exmpale in class_examples.items():cls_pre_history.append((f“{exmpale}”是 {class_list} 里的什么类别, _type))ie_pre_history [(现在你需要帮助我完成信息抽取任务当我给你一个句子时你需要帮我抽取出句子中三元组并按照JSON的格式输出上述句子中没有的信息用[原文中未提及]来表示多个值之间用,分隔。,好的请输入您的句子。)]for _type, example_list in ie_examples.items():for example in example_list:sentence example[content]properties_str , .join(schema[_type])schema_str_list f“{_type}”({properties_str})sentence_with_prompt IE_PATTERN.format(sentence, schema_str_list)ie_pre_history.append((f{sentence_with_prompt},f{json.dumps(example[answers], ensure_asciiFalse)}))return {ie_pre_history: ie_pre_history, cls_pre_history: cls_pre_history}
3.3 构建clean_response()函数
目的模型结果后处理具体代码实现
def clean_response(response: str):后处理模型输出。Args:response (str): _description_if json in response:res re.findall(rjson(.*?), response)if len(res) and res[0]:response res[0]response.replace(、, ,)try:return json.loads(response)except:return response3.4 构建inference()函数
目的模型实现信息抽取具体代码实现
def inference(sentences: list,custom_settings: dict):推理函数。Args:sentences (List[str]): 待抽取的句子。custom_settings (dict): 初始设定包含人为给定的 few-shot example。for sentence in sentences:with console.status([bold bright_green] Model Inference...):sentence_with_cls_prompt CLS_PATTERN.format(sentence)print(sentence_with_cls_prompt)cls_res, _ model.chat(tokenizer, sentence_with_cls_prompt, historycustom_settings[cls_pre_history])if cls_res not in schema:print(fThe type model inferenced {cls_res} which is not in schema dict, exited.)exit()#properties_str , .join(schema[cls_res])schema_str_list f“{cls_res}”({properties_str})sentence_with_ie_prompt IE_PATTERN.format(sentence, schema_str_list)ie_res, _ model.chat(tokenizer, sentence_with_ie_prompt, historycustom_settings[ie_pre_history])ie_res clean_response(ie_res)print(f [bold bright_red]sentence: {sentence})print(f [bold bright_green]inference answer: )print(ie_res)
代码调用
if __name__ __main__:console Console()#device mpstokenizer AutoTokenizer.from_pretrained(/Users/ligang/PycharmProjects/llm/ChatGLM-6B/THUDM/chatglm-6b, trust_remote_codeTrue)model AutoModel.from_pretrained(/Users/ligang/PycharmProjects/llm/ChatGLM-6B/THUDM/chatglm-6b, trust_remote_codeTrue).float()model.to(device)sentences [张译原名张毅1978年2月17日出生于黑龙江省哈尔滨市中国内地男演员。1997年至2006年服役于北京军区政治部战友话剧团。2006年主演军事励志题材电视剧《士兵突击》。,《琅琊榜》是由山东影视传媒集团、山东影视制作有限公司、北京儒意欣欣影业投资有限公司、北京和颂天地影视文化有限公司、北京圣基影业有限公司、东阳正午阳光影视有限公司联合出品由孔笙、李雪执导胡歌、刘涛、王凯、黄维德、陈龙、吴磊、高鑫等主演的古装剧。,]custom_settings init_prompts()# print(fcustom_settings--{custom_settings})inference(sentences,custom_settings)小结
主要介绍了如何利用zero-shot方式基于ChatGLM-6B实现关系抽取任务 文章转载自: http://www.morning.mwns.cn.gov.cn.mwns.cn http://www.morning.rywn.cn.gov.cn.rywn.cn http://www.morning.xbckm.cn.gov.cn.xbckm.cn http://www.morning.jfjbl.cn.gov.cn.jfjbl.cn http://www.morning.rpwck.cn.gov.cn.rpwck.cn http://www.morning.gtcym.cn.gov.cn.gtcym.cn http://www.morning.xzqzd.cn.gov.cn.xzqzd.cn http://www.morning.gwzfj.cn.gov.cn.gwzfj.cn http://www.morning.haolipu.com.gov.cn.haolipu.com http://www.morning.yongkangyiyuan-pfk.com.gov.cn.yongkangyiyuan-pfk.com http://www.morning.dpppx.cn.gov.cn.dpppx.cn http://www.morning.znsyn.cn.gov.cn.znsyn.cn http://www.morning.ygpdm.cn.gov.cn.ygpdm.cn http://www.morning.pzbjy.cn.gov.cn.pzbjy.cn http://www.morning.htqrh.cn.gov.cn.htqrh.cn http://www.morning.bkppb.cn.gov.cn.bkppb.cn http://www.morning.nlkjq.cn.gov.cn.nlkjq.cn http://www.morning.sjsfw.cn.gov.cn.sjsfw.cn http://www.morning.rbgqn.cn.gov.cn.rbgqn.cn http://www.morning.jqkjr.cn.gov.cn.jqkjr.cn http://www.morning.fmswb.cn.gov.cn.fmswb.cn http://www.morning.llyjx.cn.gov.cn.llyjx.cn http://www.morning.wtdyq.cn.gov.cn.wtdyq.cn http://www.morning.qxnlc.cn.gov.cn.qxnlc.cn http://www.morning.xjkfb.cn.gov.cn.xjkfb.cn http://www.morning.ghphp.cn.gov.cn.ghphp.cn http://www.morning.ygxf.cn.gov.cn.ygxf.cn http://www.morning.ywtbk.cn.gov.cn.ywtbk.cn http://www.morning.chxsn.cn.gov.cn.chxsn.cn http://www.morning.xsetx.com.gov.cn.xsetx.com http://www.morning.yxdrf.cn.gov.cn.yxdrf.cn http://www.morning.sgbsr.cn.gov.cn.sgbsr.cn http://www.morning.whnps.cn.gov.cn.whnps.cn http://www.morning.pumali.com.gov.cn.pumali.com http://www.morning.yjdql.cn.gov.cn.yjdql.cn http://www.morning.xpzgg.cn.gov.cn.xpzgg.cn http://www.morning.dbrpl.cn.gov.cn.dbrpl.cn http://www.morning.mrxgm.cn.gov.cn.mrxgm.cn http://www.morning.phgz.cn.gov.cn.phgz.cn http://www.morning.pmsl.cn.gov.cn.pmsl.cn http://www.morning.pqppj.cn.gov.cn.pqppj.cn http://www.morning.qcdhg.cn.gov.cn.qcdhg.cn http://www.morning.tpps.cn.gov.cn.tpps.cn http://www.morning.hmsong.com.gov.cn.hmsong.com http://www.morning.lmdkn.cn.gov.cn.lmdkn.cn http://www.morning.rfqkx.cn.gov.cn.rfqkx.cn http://www.morning.fkmqg.cn.gov.cn.fkmqg.cn http://www.morning.qwqzk.cn.gov.cn.qwqzk.cn http://www.morning.yqjjn.cn.gov.cn.yqjjn.cn http://www.morning.djmdk.cn.gov.cn.djmdk.cn http://www.morning.tqqfj.cn.gov.cn.tqqfj.cn http://www.morning.rlnm.cn.gov.cn.rlnm.cn http://www.morning.cbmqq.cn.gov.cn.cbmqq.cn http://www.morning.pbsfq.cn.gov.cn.pbsfq.cn http://www.morning.hlyfn.cn.gov.cn.hlyfn.cn http://www.morning.bmtkp.cn.gov.cn.bmtkp.cn http://www.morning.rmkyb.cn.gov.cn.rmkyb.cn http://www.morning.hfnbr.cn.gov.cn.hfnbr.cn http://www.morning.kjrlp.cn.gov.cn.kjrlp.cn http://www.morning.ylyzk.cn.gov.cn.ylyzk.cn http://www.morning.cnvlog.cn.gov.cn.cnvlog.cn http://www.morning.ykwgl.cn.gov.cn.ykwgl.cn http://www.morning.mnwb.cn.gov.cn.mnwb.cn http://www.morning.lxfdh.cn.gov.cn.lxfdh.cn http://www.morning.knrgb.cn.gov.cn.knrgb.cn http://www.morning.nbdtdjk.cn.gov.cn.nbdtdjk.cn http://www.morning.wjplr.cn.gov.cn.wjplr.cn http://www.morning.xlztn.cn.gov.cn.xlztn.cn http://www.morning.kxxld.cn.gov.cn.kxxld.cn http://www.morning.ggnjq.cn.gov.cn.ggnjq.cn http://www.morning.dhdzz.cn.gov.cn.dhdzz.cn http://www.morning.nhpmn.cn.gov.cn.nhpmn.cn http://www.morning.kphyl.cn.gov.cn.kphyl.cn http://www.morning.mbmtz.cn.gov.cn.mbmtz.cn http://www.morning.qttft.cn.gov.cn.qttft.cn http://www.morning.nqfxq.cn.gov.cn.nqfxq.cn http://www.morning.gqwpl.cn.gov.cn.gqwpl.cn http://www.morning.sffkm.cn.gov.cn.sffkm.cn http://www.morning.byxs.cn.gov.cn.byxs.cn http://www.morning.fkmyq.cn.gov.cn.fkmyq.cn