以细粒度情感分析为例,每条语句有三行:句子-aspect-情感极性,分为train和test两个数据集。

整体流程

  • tokennizer: 处理分词,以空格分开,建立word2id,id2word词典
  • embedding:查找预训练的词向量,将每个单词对应的词向量组成词典,未知词另作处理
  • 填充语句:将训练和测试语句先转化为tokenid中的word2id,再padding到最大长度
  • 然后就可以走模型的部分进行训练了
    一个简单的英文自然语言处理流程

tokennizer

入口: 初始调用函数,指定数据集、最大长度 – build_tokenizer
bulid_tokenizer具体流程如图:
一个简单的英文自然语言处理流程
一个简单的英文自然语言处理流程
其中Tokenizer类中包含属性:
一个简单的英文自然语言处理流程
以及两个方法:fit_on_text——split后建立word2id和id2word;
text_to_sequence——将句子中的每个单词转为对应的id,然后填充至最大长度

embedding

入口是build_embedding_matrix,需要上一步得到的word2id、向量维度。
一个简单的英文自然语言处理流程
如果已经存在直接pickle.load;不存在的话,先定义V+2长度的全0向量矩阵,然后加载预训练的向量,把word2id中的word对应的词向量取出来,然后按照单词id填充到embedding向量中,那剩下的就是unknown词,是全0的向量

处理训练语句和test 语句

一个简单的英文自然语言处理流程
有了tokenizer之后,这里专门按照不同的模型要求拼接训练和测试语句格式,会把word转为id,然后拼接到最大长度

相关文章:

  • 2022-12-23
  • 2021-12-30
  • 2021-08-03
  • 2022-12-23
  • 2021-10-30
  • 2021-12-19
  • 2021-12-04
猜你喜欢
  • 2021-10-20
  • 2021-05-17
  • 2021-04-17
  • 2021-12-04
  • 2021-04-03
  • 2021-08-19
  • 2021-04-18
相关资源
相似解决方案