华为AI培训-NLP实验

中文分词、命名实体识别、语义词性标注、语句逻辑推理、文本摘要、机器翻译、文本情感分析、内容创作

1 实验介绍
1.1 实验背景
       中文分词、命名实体识别、语义词性标注、语句逻辑推理是自然语言处理领域中的重要任务。中文分词是将连续的汉字序列切分成有意义的词语序列的过程。命名实体识别是指在文本中识别出具有特定意义的实体,如人名、地名、机构名等。语义词性标注是将词语标注为其在句子中的语法和语义角色。语句逻辑推理是指根据语句中的逻辑关系,推导出新的结论。利用 ChatGLM3 进行这些任务的实验可以帮助我们更好地理解和掌握自然语言处理技术,提高我们对自然语言处理应用的理解和能力。
       ChatGLM3是一个基于 GPT-3的自然语言处理模型,它具有强大的文本生成和理解能力,可以应用于文本摘要、机器翻译、文本情感分析、内容创作等多个领域。
       在文本摘要方面,ChatGLM3可以根据输入的文本内容,自动提取出其中的关键信息,生成简洁准确的摘要,帮助用户快速了解文章主题和要点。
        在机器翻译方面,ChatGLM3可以将一种语言翻译成另一种语言,支持多种语言的翻译,为跨语言交流提供了便利。在文本情感分析方面,ChatGLM3可以分析文本中的情感倾向,包括积极、消极和中性等情感类型,帮助用户了解文本的情感色彩和情感倾向。
        在内容创作方面,ChatGLM3可以根据用户输入的关键词和主题,自动生成文章、新闻、广告等多种文本内容,为用户提供创作灵感和快速撰写文本的工具。

1.2 实验原理
        中文分词是将一段中文文本切分成一系列有意义的词语的过程。ChatGLM3 使用了基于统计学习的分词方法,通过学习大量的中文文本,自动构建出一个词语库,并使用隐马尔可夫模型(HMM)对文本进行分词。命名实体识别是指在文本中识别出具有特定含义的实体,如人名、地名、组织机构名等。ChatGLM3 使用了基于条件随机场(CRF)的方法,通过学习大量的标注数据,自动构建出一个命名实体识别模型,对文本进行命名实体识别。语义词性标注是指为文本中的每个词语标注其词性,并给出其在句子中的语义角色。ChatGLM3 使用了基于深度学习的方法,通过学习大量的标注数据,自动构建出一个语义词性标注模型,对文本进行语义词性标注。语句逻辑推理是指根据前提条件和逻辑规则,推导出结论的过程。ChatGLM3使用了基于逻辑回归的方法,通过学习大量的逻辑规则和标注数据,自动构建出一个逻辑推理模型,对文本进行逻辑推理。
       文本摘要:利用 ChatGLM3 生成摘要,可以通过输入一段长文本,让模型自动生成一段简短的摘要。实验原理是ChatGLM3通过学习大量的文本数据,能够理解文本的主题和关键信息,从而生成简洁准确的摘要。
       机器翻译;利用 ChatGLM3 实现机器翻译,可以输入一句话或一段文本,让模型自动将其翻译成另一种语言。实验原理是,ChatGLM3 通过学习大量的双语语料库,能够理解不同语言之间的语法、词汇和语义,从而实现准确的翻译
       文本情感分析:利用 ChatGLM3 进行文本情感分析,可以输入一段文本,让模型自动判断文本的情感倾向,如积极消极或中性。实验原理是,ChatGLM3通过学习大量的情感标注数据,能够理解文本中的情感色彩和情感表达方式,从而实现准确的情感分析。
       内容创作:利用 ChatGLM3进行内容创作,可以输入一些关键词或主题,让模型自动生成一篇文章、一段对话或首诗歌等。实验原理是,ChatGLM3 通过学习大量的文本数据,能够理解文本的主题和结构,从而生成符合主题和结构的内容。同时,它还能够自动创作出新颖的、富有创意的内容,为内容创作者提供了很大的帮助。

1.3 实验目的
        中文分词:通过分析中文文本,将其切分成一个个有意义的词语,以便后续的语义分析和理解。
        命名实体识别:识别文本中的人名、地名、组织机构名等命名实体,以便更好地理解文本的含义和上下文。
        语义词性标注:对文本中的词语进行词性标注,以便更好地理解其在句子中的作用和语义。
        语句逻辑推理:通过对文本中的逻辑关系进行分析和推理,进一步理解文本的含义和逻辑结构。
        文本摘要:利用 ChatGLM3可以对一篇较长的文章进行自动化的文本摘要,提取出文章的主要内容和关健信息,从而快速了解文章的核心内容。
        机器翻译:ChatGLM3 可以用于机器翻译,将一种语言翻译成另一种语言。利用 ChatGLM3 的强大语言模型,可以提高翻译的准确性和流畅度,从而更好地满足用户的需求。
       文本情感分析:ChatGLM3 可以用于文本情感分析,帮助用户了解一段文本的情感倾向。通过分析文本中的词汇和语义,ChatGLM3 可以自动识别文本的情感,如积极、消极或中性等。
        内容创作:利用 ChatGLM3 可以生成高质量的文本内容,如文章、新闻、广告等。通过输入一些关键词和主题ChatGLM3 可以自动生成相关的文本内容,从而提高内容创作的效率和质量。

2.实验

2.1任务一 中文分词

连接服务器后

cd /root/home/ChatGLM3-main/openai_api_demo

python api_server.py(只能一个人执行)

本地新建"中文分词.py"文件,将以下代码制到"中文分词.py"并保存,127.0.0.1 改为 ChatGLM3 部署服务器的地址即可。

import sys
from openai import OpenAIbase_url = "http://127.0.0.1:8000/v1/"
client = OpenAI(api_key="EMPTY", base_url=base_url)def simple_chat(use_stream=True,text=""):messages = [{"role": "system","content": "You are ChatGLM3, a large language model trained by Zhipu.AI. Follow the user's ""instructions carefully. Respond using markdown.",},{"role": "user","content": f"例如:'中国 / 的 / 首都 / 是 / 北京 / 。',分词结果应该是逐个词语独立,并且每个词语都要分割出来,按照以上案例将以下中文句子进行分词:{text} \n"}]response = client.chat.completions.create(model="chatglm3-6b",messages=messages,stream=use_stream,max_tokens=1024,temperature=0.8,presence_penalty=1.1,top_p=0.8)if response:if use_stream:for chunk in response:print(chunk.choices[0].delta.content)else:content = response.choices[0].message.contentprint(content)else:print("Error:", response.status_code)if __name__ == "__main__":simple_chat(use_stream=False,text=sys.argv[1])#simple_chat(use_stream=True)

修改之后保存,在Anaconda中进入自己的环境:conda activate student,进入自己要运行的文件中:cd D:\AI,运行python .\中文分词.py 信号与系统课程的教学方法给了我很大的启发,让我意识到在教学中要不断创新教学方法 ,将抽象的理论知识与实际应用相结合,提高学生的学习兴趣和积极性。在今后的教学中,我将尝试引入更多的实际案例、工程应用。

得到下图分词结果:

2.2语义词性标注

将上述代码中的
"content": f"例如:'中国 / 的 / 首都 / 是 / 北京 / 。',分词结果应该是逐个词语独立,并且每个词语都要分割出来,按照以上案例将以下中文句子进行分词:{text} \n"

替换成

"content": f"请标注以下中文句子中的每个单词的词性:{text}\n"

修改之后保存,运行 python .\语义词性.py 信号与系统课程的教学方法给了我很大的启发,让我意识到在教学中要不断创新教学方法 ,将抽象的理论知识与实际应用相结合,提高学生的学习兴趣和积极性。在今后的教学中,我将尝试引入更多的实际案例、工程应用。

得到下图结果

2.3语句逻辑推理

语句逻辑推理同样替换
'contents":f"根据以下句子,进行逻辑推理:{text}”

得到结果:

2.4其他实验

文本摘要
'contents":f"请对以下中文文本进行摘要:{text}”情感分析
'contents":f"请分析以下用户回复的情感倾向:{text}”内容创作
'contents":f"基于以下内容帮助用户生成文章、故事、诗歌等文本内容、用于媒体、广告、营销等场景:{text} ”命名实体识别
'contents":f"请识别以下句子中的命名实体:{text}”

2.5 机器翻译

修改以下:
19行:def simple_chat(use_stream=True,original="中文",target="英文",text=""):
28行; 请将以下{original}句子翻译为{target}:{text}
52行:simple_chat(use_stream=False,original=sys.argv[1],target=sys.argv[2],text=sys.argv[3])

其他步骤同上。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/4262.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Netty的相关组件之间的关系

组件类型 通常分为Client和Server两个,其中如果作为Client通常只需要一个EventLoopGroup并且是用Bootrap绑定该EventLoopGroup用作客户端去监听服务器端的ip和端口。而Server通常是用ServerBootrap绑定两个EventLoopGroup,一个用作连接一个用作处理事务…

OpenHarmony-7.IDL工具

IDL 工具 1.openharmony IDL工具 在OpenHarmony中,当应用/系统服务的客户端和服务端进行IPC(Inter-Process Communication)跨线程通信时,需要定义双方都认可的接口,以保障双方可以成功通信,OpenHarmony ID…

总结3..

#include<stdio.h> int n,m; int a[1002][1002]; int b[1002][1002];//判断该空的八连通图是否被走过 int gg0; int dd0; int xz[8]{-1,-1,-1,0,0,1,1,1},yz[8]{-1,0,1,-1,1,-1,0,1};//八个方向 void dfs(int x,int y) { int dx,dy; for(int i0;i<8;i) { …

html全局遮罩,通过websocket来实现实时发布公告

1.index.html代码示例 <div id"websocket" style"display:none;position: absolute;color:red;background-color: black;width: 100%;height: 100%;z-index: 100; opacity: 0.9; padding-top: 30%;padding-left: 30%; padding-border:1px; "onclick&q…

LeetCode - #187 Swift 实现重复的DNA序列

网罗开发 &#xff08;小红书、快手、视频号同名&#xff09; 大家好&#xff0c;我是 展菲&#xff0c;目前在上市企业从事人工智能项目研发管理工作&#xff0c;平时热衷于分享各种编程领域的软硬技能知识以及前沿技术&#xff0c;包括iOS、前端、Harmony OS、Java、Python等…

基于SpringBoot+Vue的智慧动物园管理系统的设计与实现

获取源码&#xff1a;基于SpringBootVue智慧动物园系统设计与实现: 后台和用户前台。后台包括首页、员工管理、考勤管理、部门管理、角色管理、审核管理、动物管理、演出管理、园区管理、园区设施维修、饲养管理、行为观察管理、疫苗管理、看护管理、个人中心、票务管理、收入管…

嵌入式硬件篇---PID控制

文章目录 前言第一部分&#xff1a;连续PID1.比例&#xff08;Proportional&#xff0c;P&#xff09;控制2.积分&#xff08;Integral&#xff0c;I&#xff09;控制3.微分&#xff08;Derivative&#xff0c;D&#xff09;控制4.PID的工作原理5..实质6.分析7.各种PID控制器P控…

【18】Word:明华中学-儿童医保❗

目录 题目​ NO2 NO3 NO4 NO5 NO6 NO7 NO8 NO9 题目 NO2 布局→页面设置对话框→纸张方向&#xff1a;横向→纸张大小&#xff1a;A3 &#xff1b;页面设置对话框&#xff1a;直接输入纸张大小的宽度和高度即可→页面设置对话框&#xff1a;上下左右边距→版式&…

【从零开始入门unity游戏开发之——C#篇46】C#补充知识点——命名参数和可选参数

考虑到每个人基础可能不一样&#xff0c;且并不是所有人都有同时做2D、3D开发的需求&#xff0c;所以我把 【零基础入门unity游戏开发】 分为成了C#篇、unity通用篇、unity3D篇、unity2D篇。 【C#篇】&#xff1a;主要讲解C#的基础语法&#xff0c;包括变量、数据类型、运算符、…

详解构造函数和析构函数

⼀个类&#xff0c;我们不写的情况下编译器会默认⽣成以下6个默认成员函数。 下面我们详细介绍的是构造函数和析构函数&#xff0c;它们的主要作用分别是初始化工作和清理工作。 构造函数 1、构造函数的概念 构造函数虽名里带着“构造”但是其实际上并不是说开辟空间创建对…

go语言zero框架通过chromedp实现网页在线截图的设计与功能实现

在 GoZero 框架中实现网页在线截图的功能&#xff0c;可以通过集成 chromedp 库来控制 Chrome 浏览器进行截图。chromedp 是一个基于 Chrome DevTools 协议的 Go 包&#xff0c;可以用来在 Go 程序中模拟浏览器操作&#xff0c;如页面截图、DOM 操作、表单提交等。 下面是一个…

【Django开发】django美多商城项目完整开发4.0第12篇:商品部分,表结构【附代码文档】

本教程的知识点为&#xff1a; 项目准备 项目准备 配置 1. 修改settings/dev.py 文件中的路径信息 2. INSTALLED_APPS 3. 数据库 用户部分 图片 1. 后端接口设计&#xff1a; 视图原型 2. 具体视图实现 用户部分 使用Celery完成发送 判断帐号是否存在 1. 判断用户名是否存在 后…

HarmonyOS应用开发-低代码开发登录页面(超详细)

本篇文章我来手把手教大家做一个HarmonyOS 应用的登录页面&#xff0c;逐步讲解&#xff0c;非常细致&#xff0c;百分百能学会&#xff0c;并提供全部源码。页面使用 DevEco Studio 的低代码开发。 通过本文的实践经验&#xff0c;我想告诉大家&#xff0c; HarmonyOS 应用开发…

Reactive StreamsReactor Core

Reactive Streams&Reactor Core 一、概述1、问题2、优势3、发展 二、Reactive Streams1、依赖2、API 三、Project Reactor1、概述2、并发模型3、入门1&#xff09;依赖2&#xff09;Flux和Mono3&#xff09;空流&错误流 4、订阅响应式流1&#xff09;常见订阅2&#xf…

【数据分享】1929-2024年全球站点的逐日平均气温数据(Shp\Excel\免费获取)

气象数据是在各项研究中都经常使用的数据&#xff0c;气象指标包括气温、风速、降水、湿度等指标&#xff0c;其中又以气温指标最为常用&#xff01;说到气温数据&#xff0c;最详细的气温数据是具体到气象监测站点的气温数据&#xff01;本次我们为大家带来的就是具体到气象监…

简单介绍JSONStream的使用

地址 作用 这个模块是根据需要筛选出json数据中自己所需要的数据 使用 var JSONStream require("JSONStream"); var parse require("fast-json-parse"); var fs require("fs");fs.createReadStream("./time.json").pipe(JSONSt…

信息奥赛一本通 1168:大整数加法

这道题是一道大整数加法&#xff0c;涉及到高精度的算法&#xff0c;比如说有两个数要进行相加&#xff0c;1111111111111111111111111111111111111112222222222222222222222222222222&#xff0c;那么如果这两个数很大的话我们常用的数据类型是不能进行计算的&#xff0c;那么…

架构思考与实践:从通用到场景的转变

在当今复杂多变的商业环境中&#xff0c;企业架构的设计与优化成为了一个关键议题。本文通过一系列随笔&#xff0c;探讨了业务架构的价值、从通用架构到场景架构的转变、恰如其分的架构设计以及如何避免盲目低效等问题。通过对多个实际案例的分析&#xff0c;笔者揭示了架构设…

[JavaScript] 运算符详解

文章目录 算术运算符&#xff08;Arithmetic Operators&#xff09;注意事项&#xff1a; 比较运算符&#xff08;Comparison Operators&#xff09;注意事项&#xff1a; 逻辑运算符&#xff08;Logical Operators&#xff09;短路运算&#xff1a;逻辑运算符的返回值&#xf…

Java测试开发平台搭建(九)前端

1. 搭建前端vue环境 Vue3 安装 | 菜鸟教程 2. 创建项目 1.进入ui vue ui 2. create项目 3. 成功之后添加插件&#xff1a; cli-plugin-router vue-cli-plugin-vuetify 4. 添加依赖 axios 5. 点击任务开始运行 如果报错&#xff1a; 修改vue.config.jsconst { defineConfig }…