对话系统简单笔记

本文介绍了对话系统的两大类型:任务型对话系统与开放型对话系统。详细探讨了它们的工作原理、关键技术及评估方法,并对比了管道方法与端到端方法的特点。

开放域对话系统:没有限定主题或明确目标,用户与系统之间自由对话。

特定域对话系统,面向具体任务。

如:任务型对话(siri),属于特定域,完成任务或动作,话轮数越少越好。

闲聊型(微软小冰),属于开放域,闲聊,话轮数越多越好。

问答型

目录

 

1.任务型对话系统

1.1管道方法

1.2端到端方法

1.3任务型对话系统评估方法

1.4任务型对话系统面临的问题

2.开放型对话系统

2.1基于检索的方法

2.2基于生成的方法

2.3检索和生成相结合的方法

3.补充学习

3.1 Encoder-decoder:

3.2 Attention

3.3 TF-IDF 

1.任务型对话系统

任务型对话系统主要由两种方法:管道方法,端到端方法。

1.1管道方法

关键模块:自动语音识别ASR,自然语言理解NLU,对话管理DM(对话状态跟踪DST,对话策略DP),自然语言生成NLG,语音合成TTS。

 

1.1.1 NLU

将用户说出的自然语言尽可能的转化为计算机能理解的形式。通常包括三个任务:领域检测,意图识别,语义槽填充。

领域检测和意图识别都属于文本分类任务,根据用户当前的输入推断出用户的意图和涉及的领域。

应用在文本分类任务的

(1)传统机器学习模型:K近邻,朴素贝叶斯,SVM。

(2)深度学习模型:CNN和RNN结合,可以抓取任意长度的序列,可以分析长句之间的关系,同时具有记忆功能。

语义槽填充本质上属于序列标注问题。

应用在序列标注任务上常用的

(1)线性统计方法:隐马尔科夫HMM,最大熵马尔科夫,条件随机场CRF

(2)深度学习方法:长短期记忆网络LSTM,门控制循环单元GRU,

(3)结合的方法:LSTM+CRF

1.1.2.DM

根据历史对话和用户当前输入,决定系统要采取的的动作,包括追问,澄清,确认等。

比如Book a table at haidilao for 5 ,是5个人,还是5点钟,是上午5点还是下午5点?这时候需要需要再次询问用户。

DST维护对话状态,它根据NLU的结果,将旧对话状态更新为新对话状态。对话状态应该包含对话所需要的各种信息,主要有三种方法

  1. 基于人工规则的方法:人工定义好所有状态和状态转移的条件,使用分数最高的NLU模块解析结果进行状态更新。
  2. 基于生成式模型:从训练数据中学习相关联合概率的密度分布, 计算出所有对话状态的条件概率分布作为预测模型,减少了人工成本,但无法精确建模特征之间的依赖关系。
  3. 基于判别式模型:把DST当做分类任务,结合深度学习进行自动特征提取,但需要大量的标注数据,适用于大规模含有标注的数据集的场景。

1.1.3 DP

根据DST维护的状态,确定当前状态下系统该如何答复,即采取何种策略是最优的。

  1. 基于监督学习
  2. 基于模仿学习
  3. 传统强化学习
  4. 深度强化学习

1.1.4 NLG

将DM输出结构化对话策略转化成对人友好的自然语言。

主要方法:

(1)基于模板或句子规划的方法:无需训练数据,简单,但难以维护,可移植性差。

(2)基于统计语言模型模型:规则简单,易于实现和理解,但计算效率低,扩展性差。

(3)基于神经网络的方法:seq2seq,动态神经网络DMN,常态知识感知会话模型CCM,GAN。

1.1.5 NLG评估技术

(1)人工评测回复的适当性,流利性,可读性,多样性。

(2)利用BLEU,METEOR,ROUGE分数自动评估

管道方法一般分别建立NLU,DM,NLG等模块,模块又可以分成子任务,各个模块分工明确,解决各自问题。

问题:

(1)领域相关性强,每个领域都需要人工设置语义槽,决策,难以扩展到新领域。

(2)模块之间相互独立,每个模块都需要大量领域相关的标注数据。

(3)模块处理相互依赖,上游模块的错误会关联到下游模块。当将一个模块调整到新环境,其他模块也要相对调整,这个过程会消耗大量的人力。

1.2端到端方法

端到端方法将管道方法中的三个模块用统一的端到端方法代替,根据用户输入,直接生成相应的回复。

 

1.2.1端到端代表性方法

(1)基于监督学习框架

(2)基于强化学习框架

(3)混合框架

1.2.2端到端方法总结

端到端的系统一般使用一个Seq2Seq模型,根据用户的输入,直接生成响应的回复,有结构简单,便于移植的优点,同时解决了标注数据不足的问题。由于任务型对话的特殊性,使用简单的Seq2Seq模型无法生成时效性,地点相关等回复,所以还需要相应的知识库和常识库辅助。

1.3任务型对话系统评估方法

1.3.1分模块进行评价

(1)自然语言理解NLU:分类问题,准确率,召回率

(2)对话状态跟踪DST:假设准确率,平均概率,ROC表现,正确接受率5/10/20,平均排序倒数

(3)对话策略:DP:任务完成率,平均对话论述

(4)自然语言生成NLG:主流技术为基于模板的方法,不做评价

1.3.2评估整个对话系统更全面的指标

(1)部署动态系统的评价:在真实用户群中检测用户的满意度。

(2)基于用户模拟的方法:有效且简单,但是真实用户与模拟用户存在差距。

(3)基于人工评价的方法:雇佣测试人员对对话系统生成的结果进行人工评价,缺点是开销很大,还有就是评测人员是否真的能代表所有用户的问题。

(4)多种方法混合。

1.4任务型对话系统面临的问题

(1)如何利用更少的标注数据,开发一个更好的系统?

(2)领域迁移问题

(3)鲁棒性:输入噪音较大,如何正确回应

(4)端到端如何更可控

2.开放型对话系统

开放型对话是对话系统一个重要分支,它不同于任务型对话,具有较强的随机性与不确定性。

可基于检索或生成的方法进行人机对话的交互。对话系统可以分为单轮和多轮对话,单轮对话主要考虑基于问题的回答,而多轮对话则注重上下文的整体信息,输出符合上下文的信息。

2.1基于检索的方法

先构建一个供检索的对话语料库,将用户输入的话视为对该索引系统的查询,从中选一个回复。

2.1.1单轮检索

核心步骤是构建查询-恢复匹配模型,其中包含语义表示模型和语义融合模型,语义表示模型将查询和回复映射到语义向量;语义融合模型是对查询语义向量和回复语义向量融合过程建模。

2.1.2多轮检索

与单轮检索最大的区别在于:多轮对话系统需要整合当前的查询和历史信息作为输入。

2.2基于生成的方法

首先收集大规模对话语料作为训练数据,基于深度神经网络构建端到端的对话模型,系统根据模型计算输入语义向量,再逐个生成词语组成回复语句。

2.2.1单轮生成

(1)seq2seq模型框架,(2)神经语言模型框架 (3)强化学习框架

2.2.2多轮生成

(1)seq2seq模型框架,(2)神经语言模型框架 (3)层次seq2seq模型框架

2.3检索和生成相结合的方法

  1. 使用检索模型检索到的候选结果和查询同时作为seq2seq模型中encoder的输入生成结果,然后把这个结果加入原检索候选集中,进行重新排序。
  2. 将两个模型融合,先通过传统的检索模型找出候选集,然后训练带注意力机制的seq2seq的生成模型对候选答案进行重新排序,选择回复时,如果第一候选回复的得分超过某个阈值,就直接输出该回复,否则使用生成模型的回复。

3.补充学习

3.1 Encoder-decoder:

Encoder-decoder并不是一个具体的模型,而是一个通用的框架。

Encoder-decoder部分可以是文字,语音,图像,或者视频

模型可以是CNN,RNN,LSTM等

Seq2seq

输入一个序列,输出另一个序列。这种结构最重要的地方在于输入序列和输出序列的长度是可变的。Seq2Seq 强调目的,不特指具体方法,满足输入序列,输出序列的目的,都可以统称为 Seq2Seq 模型。Seq2Seq 使用的具体方法基本都是属于 Encoder-Decoder 模型的范畴。

缺陷:输入一个序列,通过RNN转化成向量C,再将C转化成输出序列,中间的向量C长度是固定的,所以RNN结构的Encoder-Decoder模型存在长程梯度消失问题,对于较长的句子,会丢失信息。即便LSTM加了门控制机制可以选择性遗忘和记忆,随着句子难度增加,效果仍不理想

3.2 Attention

为了解决Encoder-Decoder的缺陷,提出了Attention,Attention 是挑重点,就算文本比较长,也能从中间抓住重点,不丢失重要的信息。

Attention的思路是带权求和。

将Encoder网络中的hidden layer记为h(t),把Decoder网络中的hidden layer记为H(t),第t个输出词记为y(t),Decoder网络中的式子可以表示为 H(t) = f[ H(t-1) , y(t-1) ]

要让网络注意并利用原文中不同的词句和语句,

Decoder网络中的式子可以写成 H(t) = f[ H(t-1) , y(t-1) , Ct ]  Ct指的是时刻t的上下文向量,定义为h(t)加权平均的结果,Ct= Σ ati * h(t) 。给h(t) 分配的权重就叫做全局对齐权重。

全局对齐权重 αk 很好的体现了在计算第 k 个输出词语时,应该给所有的 h(t) 怎样的权重,其中 aki 就代表着计算第k个输出词语时, h(i) 分配到的权重大小。

最后是如何计算出ak

设计一个以H(i-1),h(j)为输入的网络

3.3 TF-IDF

TF即是词频,IDF即逆文档频率。

TF-IDF的主要思想是:如果某个单词在一篇文章中出现的频率TF高,并且在其他文章中很少出现,则认为此词或者短语具有很好的类别区分能力,适合用来分类。

假如一片文章有 1000 个词,

"中国” 这个词出现了 20 次,

"梦想" 这个词出现了 10 次,

"我" 这个词出现了 50次

有一个文件库,它是用来求IDF用的,文件库包含了5000个文档 在这5000个文档中,

步骤1:计算词频TF

TF公式:

 

TF(“中国”)=20/1000=0.02

TF(“梦想”)=10/1000=0.01

TF(“我”)=50/1000=0.05

步骤2:计算逆文档频率IDF

IDF公式: 分母之所以加1是采用了拉普拉斯平滑,比避免有部分新的词没有在语料库中出现过而使分母为0的情况出现,增强算法的健壮性。

 

包含 “中国” 的文档数为 1000,IDF(“中国”)=log(5000/1001)=0.6985

包含 “梦想” 的文档数为 500,IDF(“梦想”)=log(5000/501)=0.9991

包含 “我” 的文档数为 2000,IDF(“我”)=log(5000/2001)=0.3977

步骤3:计算TF-IDF

公式:

 

TF-IDF(“中国”)= TF(“中国”) * IDF(“中国”)=0.01397

TF-IDF(“梦想”)= 0.09991

TF-IDF(“我”)= 0.019885

如果某个词比较少见(IDF值较高),但是它在这篇文章中多次出现(TF值较高),那么它很可能就反映了这篇文章的特性,正是我们所需要的关键词。 从上面计算可以看出 TF-IDF(“梦想”)的值较高,可以把"梦想"作为这篇文章的关键词

<think>嗯,用户现在想查看笔记本电脑的系统信息,这其实是个基础但很实用的需求。结合之前的对话历史,用户之前问过电源设置,现在转向系统信息查看,说明ta可能在对电脑进行整体管理或故障排查。 用户提供的引用内容里,[1]详细讲了如何查看无线网卡,[2]是华硕重装系统教程。虽然这些不是直接答案,但可以看出用户习惯通过设备管理器和系统属性来操作电脑。特别是[1]里提到的“计算机-属性-设备管理器”路径,正好是查看系统信息的关键入口。 用户可能真正需要的是全面了解电脑配置,而不仅仅是操作系统版本。因为单纯看系统版本的话,设置菜单里就能解决,但ta特意用了“系统信息”这个广义词。考虑到之前电源设置的问题,说不定是在为升级系统或优化性能做准备。 需要分层次回应: 第一步教最简单的系统版本查看,因为这是最基础的信息; 第二步深入设备管理器,这样用户能顺带检查硬件驱动状态; 第三步介绍系统信息工具,这是最全面的方案,还能看到内存和资源占用; 最后补充命令行的快捷方式,给进阶用户提供选择。 特别要注意的是,用户提供的引用里提到win7和win10操作差异,现在必须强调win11的界面变化,比如“设置”取代了“控制面板”的部分功能。另外要提醒设备管理器里的警告符号,这是用户自己排查硬件问题的关键线索。 安全问题也得提一句,毕竟系统信息包含敏感内容。最后生成的相关问题要覆盖硬件识别、系统更新和属性对比,这样用户如果有后续需求能自然衔接。</think>以下是查看笔记本电脑系统信息的详细方法,涵盖Windows系统的多种操作方式: --- ### 一、基础系统信息查看(操作系统/内存/处理器) #### **方法1:通过系统设置** 1. **Win10/11通用操作** - 右键点击 **开始菜单** ➔ 选择 **系统** - 查看核心信息: ```markdown | 项目 | 说明 | |---------------|-----------------------| | 操作系统 | Windows 版本与版本号 | | 处理器 | CPU型号与主频 | | 内存(RAM) | 已安装内存容量 | | 设备ID | 产品序列号 | ``` - *示例:Windows 11 专业版 22H2,Intel i7-12700H,32GB RAM* [^1] #### **方法2:控制面板查看** 1. **传统界面操作** - 按 `Win+R` 输入 `control` ➔ 进入 **系统和安全 > 系统** - 可查看相同的核心配置信息(兼容旧版系统) --- ### 二、详细硬件信息查看 #### **方法1:设备管理器(驱动与硬件清单)** 1. 右键 **开始菜单** ➔ 选择 **设备管理器** 2. 展开查看关键硬件: - **处理器**:CPU核心数与型号 - **显示适配器**:独立显卡/集成显卡 - **磁盘驱动器**:硬盘型号与类型(SSD/HDD) - **网络适配器**:有线网卡与无线网卡(如 `Intel Wi-Fi 6E`)[^1] > ⚠️ 若设备有黄色感叹号,表示驱动异常需修复 #### **方法2:系统信息工具(全面诊断)** 1. 按 `Win+R` 输入 `msinfo32` 2. 查看详细报告: - **系统摘要**:BIOS版本/主板型号 - **硬件资源**:IRQ冲突与内存地址 - **组件 > 存储**:硬盘分区与容量 - **软件环境**:启动程序与系统服务 --- ### 三、高级信息获取方式 #### **方法1:命令提示符** ```cmd systeminfo | findstr /B /C:"OS" /C:"Processor" /C:"Memory" ``` *输出示例:* ``` OS 名称: Microsoft Windows 11 专业版 处理器: Intel64 Family 6 Model 140 Stepping 1, GenuineIntel 物理内存总量: 32,567 MB ``` #### **方法2:PowerShell** ```powershell Get-ComputerInfo | Select-Object OsName, OsVersion, CsProcessors, CsTotalPhysicalMemory ``` *输出示例:* ``` OsName : Microsoft Windows 11 专业版 OsVersion : 10.0.22621 CsProcessors : {Intel(R) Core(TM) i7-12700H} CsTotalPhysicalMemory: 34,359,296,000 ``` --- ### 四、图形界面补充工具 | 工具 | 打开方式 | 信息侧重 | |--------------------|-----------------------|------------------------| | **DirectX诊断工具** | `Win+R` → `dxdiag` | 显卡/声卡/驱动版本 | | **任务管理器** | `Ctrl+Shift+Esc` | 实时CPU/内存/磁盘占用 | | **资源监视器** | `Win+R` → `resmon` | 进程级资源消耗分析 | --- ### **关键注意事项** 1. **信息安全** - 系统信息中的 **产品ID** 和 **主机名** 属于敏感信息,避免公开分享 2. **硬件兼容性** - 升级系统前需核对 `系统类型`(32位/64位)和 `TPM版本`(Win11要求2.0) 3. **驱动更新** - 设备管理器中的未知设备需通过 **制造商官网** 下载驱动(如[华硕支持站](https://www.asus.com/support/))[^2] > 系统资源占用公式参考: > 设进程数$n$,单进程内存$m_i$,则总内存占用: > $$M_{total} = \sum_{i=1}^{n} m_i + M_{kernel}$$ --- **
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值