AI面试问答

自然语言处理常见任务

  • 文本分类
  • 序列标注
  • 文本生成
  • 信息抽取
  • 文本转换

自然语言处理发展历史

  • 规则系统阶段
    • 1954年,乔治城大学和IBM联合开发俄英翻译
    • 1966年,约瑟夫·魏岑鲍姆开发ELIZA心理医生聊天机器人,模仿"倾听式对话",是世界上最早的"聊天机器人"
  • 统计方法阶段
    • N-gram模型(一个词出现的概率,只取决于它前面 N-1 个词)
  • 机器学习阶段(见招拆招)
    • 词袋模型 (词袋+特征向量)+逻辑回归 实现文本分类

    • n-gram(将相邻的 n 个词作为一个整体,这样就能保留一部分的词序信息。)

      "服务很好但味道差劲"分词后 ["服务","很","好","但","味道","差劲"]
      "味道很好但服务差劲"分词后 ["味道","很","好","但","服务","差劲"]
      这两条评论在词袋模型 中的特证向量是完全相同的
      使用n-gram

      "服务很好","很好但","好但味道","但味道差劲"

      "味道很好","很好但","好但服务","但服务差劲"

      在词袋模型中的特征向量也就区分

  • 深度学习阶段
    • 传统序列模型(静态输出):RNN、LSTM、GRU
    • 序列到序列(动态输出):Seq2Seq、Attention机制、Transformer(提升训练效率,增强模型对长距离依赖的建模能力)
      • "预训练 + 微调"的时代:BERT、GPT、Qwen

N-gram模型、**词袋模型、**n-gram的区别

  • N-gram模型是统计学习方法:单个词的出现概率,仅依赖前文N-1个词
  • 词袋模型 是机器学习方法,词袋 指无序去重的词汇集合;该模型拆分文本单词,仅统计词频、忽略语序与语法,生成文本特征向量 ,结合逻辑回归 可实现文本分类
  • n-gram通过将相邻n个词作为整体,解决了词袋模型因忽略语序导致不同语义文本特征向量相同的问题。

token

在原始文本中,被切分为若干具有独立语义的最小单元,即token

分词

将原始文本切分为若干具有独立语义的最小单元(即token)的过程

词表

由语料库构建出的、包含模型可识别 token 的集合。词表中每个token都分配有唯一的 ID,并支持 token 与 ID 之间的双向映射。

英文与中文中常见的分词方式、区别

字符级分词、词级分词、子词级分词

英文

  • 词级分词
  • 子词级分词
  • 字符级分词

中文

  • 词级分词
  • 子词级分词
  • 字符级分词

词表示分类

稀疏的词表示:one-hot编码

稠密的词表示:语义化词向量

上下文相关的词表示

Word2Vec原理

Word2Vec(一个词的含义由它周围的词决定)

  • CBOW(Continuous Bag-of-Words)模型(输入一个词的前后若干个词,预测中间的目标词)
  • Skip-gram 模型(输入是一个中心词,预测前后若干个词)

获取Word2Vec词向量方式

  • 直接使用他人公开发布的词向量
  • 在特定语料上自行训练

pip install gensim

from gensim.models import KeyedVectors

上下文相关词表示

上下文相关词表示(Contextual Word Representations)

词语的向量表示会根据它所在的句子上下文动态变化,从而更好地捕捉其语义。

为什么RNN论文公式和实际代码书写形式不一样?

相关推荐
ん贤8 小时前
如何设计一个灵活、高效、安全的 AI 工具系统
人工智能·安全·go
OpenBayes8 小时前
强化文字渲染与海报排版:百度开源文生图模型 ERNIE-Image-Turbo;告别大模型「遗忘」:微软 OpenMementos 上下文压缩训练数据集上线
人工智能·深度学习·百度·语言模型·微软·开源
雷帝木木8 小时前
Python 并发编程高级技巧详解:从原理到实践
人工智能·python·深度学习·机器学习
一个天蝎座 白勺 程序猿8 小时前
AI入门踩坑实录:我换了3种语言才敢说,Python真的是入门唯一选择吗?
开发语言·人工智能·python·ai
Hui_AI7208 小时前
保险条款NLP解析与知识图谱搭建:让AI准确理解保险产品的技术方案
开发语言·人工智能·python·算法·自然语言处理·开源·开源软件
雷帝木木8 小时前
Python Web 框架对比与实战:Django vs Flask vs FastAPI
人工智能·python·深度学习·机器学习
万粉变现经纪人8 小时前
如何解决 pip install jaxlib[cuda] 报错 CUDA 版本与轮子标签不匹配 问题
人工智能·python·深度学习·tensorflow·pandas·scikit-learn·pip
杜子不疼.8 小时前
用 Python 搭建本地 AI 问答系统:避开 90% 新手都会踩的环境坑
开发语言·人工智能·python
源码之家8 小时前
计算机毕业设计源码:京东商品数据采集分析可视化系统python Django Selenium爬虫 人工智能 大数据(建议收藏)✅
人工智能·爬虫·python·信息可视化·数据分析·django·课程设计
生信小窝8 小时前
081B 基于R包-Ecospat的生态位重叠分化迁移分析与可视化制图(单物种和多物种版本)【2027】
人工智能·python·r语言