【DataWhale】快乐学习大模型 | 202507,Task02笔记
文章目录
- 1. NLP任务
- 2. 文本表示
1. NLP任务
自然语言处理(Natural Language Processing,NLP),主要包含以下几类任务:
1.中文分词,顾名思义把句子切分成一个个词汇
中文输入:今天天气真好,适合出去游玩.
中文切割输出:["今天", "天气", "真", "好", ",", "适合", "出去", "游玩", "。"]
2.子词切分,这个主要针对英语,英语的词根词缀
不使用子词切分:整个单词作为一个单位:“unhappiness”
使用子词切分(假设BPE算法):单词被分割为:“un”、“happi”、“ness”
-
词性标注,句子中的每个词是动词or名词or…
-
文本分类,这是一个比较大的类,涵盖情感分析、垃圾邮件检测、新闻分类、主题识别等
-
实体识别,识别句子中具有特定意义的实体,如人名、地点、组织、日期、时间等
输入:李雷和韩梅梅是北京市海淀区的居民,他们计划在2024年4月7日去上海旅行。输出:[("李雷", "人名"), ("韩梅梅", "人名"), ("北京市海淀区", "地名"), ("2024年4月7日", "日期"), ("上海", "地名")]
-
关系抽取,这一任务主要是对文本进行理解,如因果关系、归属关系等,一般在知识图谱中应用的较多
-
文本摘要,即对大段落的文本进行概况,包括两种方法:直接从原文中抽取拼接组成摘要;根据原文重新组织改写摘要,这一部分主要应用基于注意力机制的序列到序列模型
-
机器翻译
-
自动问答,包括检索式问答(Retrieval-based QA)、知识库问答(Knowledge-based QA)和社区问答(Community-based QA)
2. 文本表示
文本表示经过四种模型的发展
- 词向量
第一种是我们很熟悉的,比如独热编码。但是这种方法会导致很严重的数据稀疏性和维数灾难问题,因为词汇可以说是无穷尽的,那么词汇表会变得巨大,从而导致计算效率的降低。 - 语言模型
这里主要是基于马尔可夫假设的N-gram模型, 即一个词的出现概率仅依赖于它前面的N-1个词,但是当N很大的时候,还是会出现数据稀疏性的问题,并且这种方法无法捕捉到句子的语义信息。 - Word2Vec
Word2Vec是目前比较流行的解决方案,核心思想是利用词在文本中的上下文信息来捕捉词之间的语义关系,从而使得语义相似或相关的词在向量空间中距离较近。Word2Vec生成的是低维(通常几百维)的密集向量,有助于减少计算复杂度和存储需求。 - ELMo
ELMo是比Word2Vec更晚出现的技术,它能根据词语在句子中的具体语境来生成不同的词向量。ELMo 不是为每个词提供一个固定不变的向量,而是会根据词语所在的整个句子来生成它的向量。
ELMo 内部有一个叫做“双向语言模型”(即双向LSTM)的神经网络。它会既从左到右(像我们平时读书一样)理解句子,又从右到左反过来理解句子。这样,它就能同时捕捉到词语前面和后面的信息,从而更全面地理解词语的含义。
“分层”理解: ELMo 的神经网络有不止一层。不同的层会学习到词语的不同方面的信息。比如,底层可能更关注语法结构,高层则可能更关注语义含义。
ELMo为BERT的出现奠定了基础。