对话系统+代码生成是LLM的两大杀手级应用
核心内容:
-
对话系统
- 意图识别与槽位填充
- 对话状态跟踪(DST)
- 对话策略学习
-
知识图谱
- 实体识别与关系抽取
- 知识融合与推理
- 图谱与LLM结合
-
代码智能
- 代码理解与生成
- 代码补全原理(Copilot)
- 自动化测试生成
- Bug检测与修复
-
文本生成与理解
- 摘要生成技术
- 情感分析与观点挖掘
- 机器翻译基础
对话系统基础
- 任务型对话和闲聊型对话有什么区别?各自的技术路线是什么?
- 对话系统的Pipeline包括哪些模块?NLU、DST、Policy、NLG分别是什么?
- 什么是意图识别(Intent Recognition)?怎么判断用户想干什么?
- 槽位填充(Slot Filling)是什么?怎么提取用户输入里的关键信息?
- 联合建模(Joint Modeling)为什么比分开做意图识别和槽位填充更好?
- 什么是对话状态跟踪(Dialogue State Tracking)?对话状态包括什么?
- DST怎么处理多轮对话?历史轮次的信息怎么利用?
- 对话策略(Dialogue Policy)怎么学习?规则、监督学习、强化学习哪个更好?
- 什么是对话管理(Dialogue Management)?怎么决定下一步该做什么?
- 自然语言生成(NLG)在对话里怎么用?模板、检索、生成各有什么优缺点?
- 端到端对话系统和模块化对话系统有什么区别?
- Seq2Seq模型怎么做对话?Encoder-Decoder架构怎么训练?
- 对话里的上下文怎么编码?怎么让模型记住前面说了什么?
- 什么是对话历史窗口?保留多少轮对话合适?
- 多轮对话的指代消解(Coreference Resolution)怎么做?"它"指的是什么?
- 对话系统怎么处理ASR错误?语音识别错了怎么办?
- 对话系统的评估指标有哪些?BLEU、ROUGE够用吗?
- 人工评估对话系统怎么做?流畅度、相关性、信息量怎么打分?
- 对话系统的冷启动怎么做?没有对话数据怎么办?
- 大模型时代,传统对话系统的Pipeline还需要吗?
知识图谱与信息抽取
- 什么是知识图谱?实体、关系、属性分别是什么?
- 知识图谱怎么构建?从无到有的流程是什么?
- 命名实体识别(NER)怎么做?BIO标注是什么?
- 基于CRF的NER和基于BERT的NER有什么区别?
- 关系抽取(Relation Extraction)是什么?怎么识别实体之间的关系?
- Pipeline方式和联合抽取(Joint Extraction)有什么区别?
- 事件抽取(Event Extraction)是什么?触发词、论元、角色怎么识别?
- 远程监督(Distant Supervision)是什么?怎么自动生成训练数据?
- 知识图谱补全(Knowledge Graph Completion)怎么做?怎么预测缺失的关系?
- TransE、DistMult、ComplEx这些知识图谱嵌入方法有什么区别?
- 知识图谱怎么和大模型结合?检索增强生成(RAG)怎么用图谱?
- 图谱推理(Knowledge Graph Reasoning)是什么?怎么做多跳推理?
- 实体链接(Entity Linking)是什么?怎么把文本里的提及映射到知识库?
- 实体消歧(Entity Disambiguation)怎么做?"苹果"是水果还是公司?
- 知识融合(Knowledge Fusion)是什么?多个知识源怎么整合?
文本生成与理解
- 文本摘要(Text Summarization)怎么做?抽取式和生成式有什么区别?
- 什么是指针网络(Pointer Network)?抽取式摘要怎么用?
- 生成式摘要的ROUGE分数怎么计算?ROUGE-1、ROUGE-2、ROUGE-L是什么?
- 摘要的Factual Consistency怎么保证?怎么避免生成错误信息?
- 长文本摘要怎么做?超过模型上下文长度怎么办?
- 情感分析(Sentiment Analysis)怎么做?正面、负面、中性怎么分?
- 细粒度情感分析(Aspect-based Sentiment Analysis)是什么?
- 观点挖掘(Opinion Mining)和情感分析有什么区别?
- 文本分类(Text Classification)的经典模型有哪些?CNN、LSTM、BERT怎么选?
- 零样本文本分类(Zero-shot Classification)怎么做?大模型能直接分类吗?
- 文本相似度怎么计算?编辑距离、余弦相似度、语义相似度有什么区别?
- 语义匹配(Semantic Matching)怎么做?BERT的[CLS] token够用吗?
- 问答系统(QA System)怎么分类?抽取式、生成式、检索式有什么区别?
- 阅读理解(Reading Comprehension)怎么做?SQuAD数据集测什么?
- 机器翻译(Machine Translation)的BLEU分数怎么算?多高算好?
代码智能基础
- 代码大模型和文本大模型有什么区别?代码数据怎么预训练?
- Codex、CodeGen、StarCoder这些代码模型有什么特点?
- 代码补全(Code Completion)怎么做?GitHub Copilot的原理是什么?
- FIM(Fill-in-the-Middle)是什么?为什么代码补全需要这个能力?
- 代码生成的评估指标有哪些?Pass@k是什么意思?
- HumanEval、MBPP这些代码评测集测什么?
- 代码理解(Code Understanding)包括哪些任务?
- 代码摘要(Code Summarization)怎么做?怎么自动生成函数注释?
- 代码搜索(Code Search)怎么实现?自然语言查询怎么匹配代码?
- 代码克隆检测(Code Clone Detection)是什么?怎么找相似代码?
- 程序修复(Program Repair)怎么做?怎么自动修Bug?
- 代码翻译(Code Translation)是什么?Python转Java怎么做?
- 测试用例生成(Test Generation)怎么做?怎么自动写单元测试?
- 代码模型的上下文怎么构建?Repo-level理解怎么做?
- 代码模型怎么理解跨文件的依赖关系?
AI编程工具
- GitHub Copilot的实现原理是什么?怎么做到实时补全?
- Cursor、Windsurf这些AI IDE有什么特点?和传统IDE有什么区别?
- Copilot Chat怎么实现的?怎么在IDE里对话式编程?
- 代码Agent能做什么?自动写代码、改代码、测代码怎么实现?
- Devin、OpenDevin这些AI程序员到底能干什么?
- 代码Agent怎么使用工具?终端、浏览器、编辑器怎么调用?
- 代码Agent的规划能力怎么实现?怎么把需求拆解成子任务?
- 代码生成的可靠性怎么保证?生成的代码能直接用吗?
- 代码的单元测试怎么自动生成?怎么验证代码正确性?
- 代码的安全性怎么检查?怎么避免生成有漏洞的代码?
- 代码重构(Code Refactoring)能自动化吗?怎么优化代码结构?
- 技术债务检测(Technical Debt Detection)怎么做?坏味道怎么识别?
- 代码Review能用AI做吗?怎么自动提PR建议?
- 文档生成(Documentation Generation)怎么做?API文档能自动写吗?
- AI编程工具的未来是什么?程序员会被替代吗?