当前位置: 首页 > news >正文

工装公司是做什么的seo推广方案怎么做

工装公司是做什么的,seo推广方案怎么做,自己做网站服务器要多少钱,网站建设wap自动信息抽取发展了几十年,虽然模型很多,但是泛化能力很难用满意来形容,直到LLM的诞生。虽然最终信息抽取质量部分还是需要专家审核,但是已经极大的提高了信息抽取的效率。因为传统方法需要大量时间来完成数据清洗、标注和训练&am…

  自动信息抽取发展了几十年,虽然模型很多,但是泛化能力很难用满意来形容,直到LLM的诞生。虽然最终信息抽取质量部分还是需要专家审核,但是已经极大的提高了信息抽取的效率。因为传统方法需要大量时间来完成数据清洗、标注和训练,然后来实体抽取、实体属性抽取、实体关系抽取、事件抽取、实体链接和指代消解等等。现在有了LLM,可以实现Zero/One/Few-Shot信息抽取构建知识图谱。

一.ChatIE实现过程
  ChatIE本质上是将零样本IE任务转变为一个两阶段框架的多轮问答问题(使用的ChatGPT,也可以修改为ChatGLM2),问题是第一阶段和第二阶段如何设计?本质上还是Prompt的设计。接下来都是以RE(关系抽取)为例进行说明,NER(命名实体识别)和EE(事件抽取)以此类推。下面看一个例子,如下所示:

df_ret = {'chinese': {'所属专辑': ['歌曲', '音乐专辑'], '成立日期': ['机构', 'Date'], '海拔': ['地点', 'Number'], '官方语言': ['国家', '语言'], '占地面积': ['机构', 'Number'], '父亲': ['人物', '人物'], '歌手': ['歌曲', '人物'], '制片人': ['影视作品', '人物'], '导演': ['影视作品', '人物'], '首都': ['国家', '城市'], '主演': ['影视作品', '人物'], '董事长': ['企业', '人物'], '祖籍': ['人物', '地点'], '妻子': ['人物', '人物'], '母亲': ['人物', '人物'], '气候': ['行政区', '气候'], '面积': ['行政区', 'Number'], '主角': ['文学作品', '人物'], '邮政编码': ['行政区', 'Text'], '简称': ['机构', 'Text'], '出品公司': ['影视作品', '企业'], '注册资本': ['企业', 'Number'], '编剧': ['影视作品', '人物'], '创始人': ['企业', '人物'], '毕业院校': ['人物', '学校'], '国籍': ['人物', '国家'], '专业代码': ['学科专业', 'Text'], '朝代': ['历史人物', 'Text'], '作者': ['图书作品', '人物'], '作词': ['歌曲', '人物'], '所在城市': ['景点', '城市'], '嘉宾': ['电视综艺', '人物'], '总部地点': ['企业', '地点'], '人口数量': ['行政区', 'Number'], '代言人': ['企业/品牌', '人物'], '改编自': ['影视作品', '作品'], '校长': ['学校', '人物'], '丈夫': ['人物', '人物'], '主持人': ['电视综艺', '人物'], '主题曲': ['影视作品', '歌曲'], '修业年限': ['学科专业', 'Number'], '作曲': ['歌曲', '人物'], '号': ['历史人物', 'Text'], '上映时间': ['影视作品', 'Date'], '票房': ['影视作品', 'Number'], '饰演': ['娱乐人物', '人物'], '配音': ['娱乐人物', '人物'], '获奖': ['娱乐人物', '奖项']}
}

1.第一阶段
  第一阶段的模板,如下所示:

re_s1_p = {'chinese': '''给定的句子为:"{}"\n\n给定关系列表:{}\n\n在这个句子中,可能包含了哪些关系?\n请给出关系列表中的关系。\n如果不存在则回答:无\n按照元组形式回复,如 (关系1, 关系2, ……):''',
}

2.第二阶段
  第二段的模板,如下所示:

re_s2_p = {'chinese': '''根据给定的句子,两个实体的类型分别为({},{})且之间的关系为{},请找出这两个实体,如果有多组,则按组全部列出。\n如果不存在则回答:无\n按照表格形式回复,表格有两列且表头为({},{}):''',
}

  ChatIE通过两阶段的ChatGPT多轮问答来解决Zero-Shot信息抽取构建知识图谱。但有个问题是可能或一定会出现错误关系抽取,这该如何办呢?工程有个解决方案就是引入多个裁判,比如ChatGPT是一个裁判,文心一言是一个裁判,BERT实体关系抽取是一个裁判,规则实体关系抽取是一个裁判。可根据知识精度要求,比如4个裁判都一致了,才会自动更新到知识库中,否则需要人工来审核实体关系抽取是否正确。知识图谱自动化更新是一个工程活,需要一个人工审核的功能,来确保模型识别不一致时的最终审核。
3.测试效果
  ChatIE在不同任务(RE、NER和EE)和不同数据集上的测试效果,如下所示:


二.使用ChatGLM2来信息抽取[1]
  这部分替换ChatGPT为ChatGLM2来做多轮问答。ChatGLM2进行金融知识抽取实践中,在ChatGLM前置了两轮对话达到了较好的效果,具体代码实现参考[9]。基本思路是加载ChatGLM2模型,然后初始化Prompt(分类和信息抽取),最后根据输入和模型完成推理过程。简单理解,整体思路是通过Few-Shot信息抽取构建知识图谱。
(1)加载ChatGLM2模型

tokenizer = AutoTokenizer.from_pretrained(r"L:/20230713_HuggingFaceModel/chatglm2-6b", trust_remote_code=True) # 指定使用的tokenizer
model = AutoModel.from_pretrained(r"L:/20230713_HuggingFaceModel/chatglm2-6b", trust_remote_code=True).half().cuda() # 指定使用的model
model = model.eval() # 指定model为eval模式

(2)初始化Prompt

def init_prompts():"""初始化前置prompt,便于模型做 incontext learning。"""class_list = list(class_examples.keys()) # 获取分类的类别,class_list = ['基金', '股票']cls_pre_history = [(f'现在你是一个文本分类器,你需要按照要求将我给你的句子分类到:{class_list}类别中。',f'好的。')]for _type, exmpale in class_examples.items(): # 遍历分类的类别和例子cls_pre_history.append((f'“{exmpale}”是 {class_list} 里的什么类别?', _type)) # 拼接前置promptie_pre_history = [("现在你需要帮助我完成信息抽取任务,当我给你一个句子时,你需要帮我抽取出句子中三元组,并按照JSON的格式输出,上述句子中没有的信息用['原文中未提及']来表示,多个值之间用','分隔。",'好的,请输入您的句子。')]for _type, example_list in ie_examples.items(): # 遍历分类的类别和例子for example in example_list: # 遍历例子sentence = example['content'] # 获取句子properties_str = ', '.join(schema[_type]) # 拼接schemaschema_str_list = f'“{_type}”({properties_str})' # 拼接schemasentence_with_prompt = IE_PATTERN.format(sentence, schema_str_list) # 拼接前置promptie_pre_history.append(( # 拼接前置promptf'{sentence_with_prompt}',f"{json.dumps(example['answers'], ensure_ascii=False)}"))return {'ie_pre_history': ie_pre_history, 'cls_pre_history': cls_pre_history} # 返回前置prompt

  custom_settings数据结构中的内容如下所示:

(3)根据输入和模型完成推理过程

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) # 拼接前置promptcls_res, _ = model.chat(tokenizer, sentence_with_cls_prompt, history=custom_settings['cls_pre_history']) # 推理if cls_res not in schema: # 如果推理结果不在schema中,报错并退出print(f'The type model inferenced {cls_res} which is not in schema dict, exited.')exit()properties_str = ', '.join(schema[cls_res]) # 拼接schemaschema_str_list = f'“{cls_res}”({properties_str})' # 拼接schemasentence_with_ie_prompt = IE_PATTERN.format(sentence, schema_str_list) # 拼接前置promptie_res, _ = model.chat(tokenizer, sentence_with_ie_prompt, history=custom_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) # 打印推理结果

如果实体关系抽取搞定了,那么自动更新到NebulaGraph就比较简单了,可参考NebulaGraph实战:2-NebulaGraph手工和Python操作。

参考文献:
[1]利用ChatGLM构建知识图谱:https://discuss.nebula-graph.com.cn/t/topic/13029
[2]ChatGPT+SmartKG 3分钟生成"哈利波特"知识图谱:https://www.msn.cn/zh-cn/news/technology/chatgpt-smartkg-3分钟生成-哈利波特-知识图谱/ar-AA17ykNr
[3]ChatIE:https://github.com/cocacola-lab/ChatIE
[4]ChatIE:http://124.221.16.143:5000/
[5]financial_chatglm_KG:https://github.com/zhuojianc/financial_chatglm_KG
[6]Creating a Knowledge Graph From Video Transcripts With ChatGPT 4:https://neo4j.com/developer-blog/chatgpt-4-knowledge-graph-from-video-transcripts/
[7]GPT4IE:https://github.com/cocacola-lab/GPT4IE
[8]GPT4IE:http://124.221.16.143:8080/
[9]https://github.com/ai408/nlp-engineering/blob/main/20230917_NLP工程化公众号文章\NebulaGraph教程\NebulaGraph实战:3-信息抽取构建知识图谱

http://www.tj-hxxt.cn/news/79078.html

相关文章:

  • 网站免费源码网页制作工具有哪些
  • 网站的相关搜索css代码怎么做在线网站排名工具
  • wordpress 4.9 下载辽源seo
  • 武汉市内做网站的公司一键优化清理手机
  • 公司网页注册六盘水seo
  • 美国cn2香港cn2seo学院
  • 在线做汉字头像的网站优化大师app
  • 电子商务在线网站建设网站营销软文
  • 一台电脑如何做网站内部搜索引擎优化
  • 曰本免费一级a做爰视频网站推广app软件
  • 上海沙龙网站建设google 网站推广
  • 网站程序 wap pc 同步群排名优化软件
  • 集合视频网站资源怎么做舆情网站入口
  • 网站建站平台 开源常用的关键词优化策略有哪些
  • 网站界面分析怎么去推广自己的店铺
  • 天津网站建设有哪些电商详情页模板免费下载
  • 软件代理网天津外贸seo推广
  • 怎么给网站做缓存seo优化易下拉霸屏
  • 成都网站制作哪家专业郑州网络推广代理
  • 改号宝网站搭建培训心得体会200字
  • 网站一定也做数据库吗哈尔滨怎样关键词优化
  • 做三角渐变用哪个网站国际站seo优化是什么意思
  • 免费弄空间的网站网站关键词排名外包
  • 家装o2o平台有哪些seog
  • ks2e做网站搜外网友情链接
  • 广州建设委员会官方网站灰色行业推广
  • 网站目录命名规则企业推广平台有哪些
  • 涿州做网站深圳seo优化公司排名
  • 个人怎么做网站推广网络营销核心要素
  • 网站和软件是怎么做的2023年又封城了