《文本情感分析》(二)工作过程

1. 基本流程

  1. 文本输入:接收原始文本输入(示例:”我爱北京天安门”)
  2. 分词处理(Tokenization)​:采用中文分词工具(如 Jieba/HanLP )将文本转化为 token 序列。示例输出:[“我”, “爱”, “北京”, “天安门”]
  3. 数值映射(Token Encoding)​:通过预构建的词表(vocabulary)将token映射为数字索引。示例编码:[212, 761, 12, 98]
  4. 向量嵌入(Embedding Lookup)​:从预训练或随机初始化的 embedding 矩阵中查询对应向量,每个 token 转换为固定维度(如128维)的稠密向量
  5. 序列建模(Sequence Modeling)​:选用 RNN 变体(LSTM/GRU)处理向量序列,捕获上下文信息,输出动态上下文表示:每个时间步输出包含全局语义的向量
  6. 句子表示(Sentence Representation)​对所有token向量取平均,或者选择最后一个 Token 向量作为整个句子的向量表示
  7. 分类层(Classification Head)​:将句子向量映射到标签空间,通过 Softmax 激活函数输出类别概率

2. 组件介绍

在基本流程中:

  1. 数值映射部分,我们需要提前构建一个词表,包含语料中所有的 Token。对于中文来讲,可以一个字作为一个 Token,也可以一个词作为一个 Token。并且在词表中,每个 Token 都有一个唯一的编号。
  2. 向量嵌入部分:我们需要根据词表大小构建一个(vocab_size, token_dim)形状的矩阵,每一行表示某个 Token 固定的语义表示。
  3. 序列建模部分:我们需要使用 GRU 或者 LSTM 模型来获得每个 Token 在句子中的动态语义表示。例如:苹果公司我要吃苹果 两个句子中,苹果会有一个基本的含义,但是在具体的语境中又会有不同的含义。向量嵌入部分只是静态的描述苹果的基本含义,而序列建模部分则是为了得到苹果在不同句子、不同上下文中的语义表示。
  4. 句子表示部分:经过序列建模,每个 Token 都得到在上下文中的语义表示,接下来,把所有的 Token 向量表示取均值、或者取输入句子中最后一个 Token 的向量表示作为整个句子的向量表示。这里需要注意的是:取最后一个 Token 表示作为整个句子的表示,这是因为 GRU 或者 LSTM 算法在进行序列建模的时候,能够使得最后一个 Token 包含一定的之前 Token 的信息。
  5. 分类层部分:现在我们已经得到了句子的语义表示,接下来送入到一个分类层,输出预测标签的分数,再通过 SoftMax 函数计算出一个概率值。

未经允许不得转载:一亩三分地 » 《文本情感分析》(二)工作过程
评论 (0)

9 + 6 =