自然语言处理中的词嵌入与语言建模
1. Unigram分词
Unigram分词是自然语言处理(NLP)中一种重要的分词技术,其工作步骤如下:
1. 从初始的大基础词汇表V开始。
2. 重复以下步骤,直到|V|的大小达到某个最小阈值:
- 使用维特比算法(Viterbi algorithm)为语料库中的所有单词找到l个最佳分词候选x*。选择l个候选而不是一个,可对同一文本采样不同的分词序列,这是一种输入数据的数据增强技术,能为NLP算法提供额外的正则化。得到分词后的语料库后,使用期望最大化算法(Expectation - Maximization algorithm)估计当前分词词汇表V中所有分词的概率P(xi),其中xi ∈ V。
- 为每个分词xi计算一个特殊的损失函数lossi,该函数用于确定如果从分词词汇表中移除xi,语料库的似然性会降低多少。
- 按损失函数lossi对分词进行排序,仅保留前n%(例如n = 80)的分词,同时始终保留单个字符以避免出现未知分词。
mermaid格式流程图如下:
graph TD;
A[开始] --> B[初始化大基础词汇表V];
B --> C{|V|是否达到最小阈值};
C -- 否 --> D[使用维特比算法找l个最佳分词候选];
D --> E[计算损失函数lossi];
E --> F[按lossi排序并保留前n%分词];
F --> C;
C -- 是 --> G[结束];
超级会员免费看
订阅专栏 解锁全文
1155

被折叠的 条评论
为什么被折叠?



