向量化¶
此部分提供了简便的接口,可以直接将传入的items经过转化得到向量。当前提供了是否使用预训练模型的选项,可根据需要进行选择,如不使用预训练模型则可直接调用D2V函数,使用预训练模型则调用get_pretrained_i2v函数。
总体流程¶
1.对传入的item进行解析,得到SIF格式;
2.对sif_item进行成分分解;
3.对经过成分分解的item进行令牌化;
4.使用已有或者使用提供的预训练模型,将令牌化后的item转换为向量。
不使用预训练模型:直接调用D2V¶
使用自己提供的任一预训练模型(给出模型存放路径即可)将给定的题目文本转成向量。
优点:可以使用自己的模型,另可调整训练参数,灵活性强。
处理的具体流程
1.调用get_tokenizer函数,得到经过分词后的结果;
2.调用T2V模块,根据需要选择是否使用预训练的t2v模型
Examples:
>>> model_path = "../test_model/test_gensim_luna_stem_tf_d2v_256.bin"
>>> i2v = D2V("text","d2v",filepath=model_path, pretrained_t2v = False)
>>> i2v(item)
使用预训练模型:直接调用get_pretrained_i2v¶
使用 EduNLP 项目组给定的预训练模型将给定的题目文本转成向量。
优点:简单方便。
缺点:只能使用项目中给定的模型,局限性较大。
调用此函数即可获得相应的预训练模型,目前提供以下的预训练模型:d2v_all_256、d2v_sci_256、d2v_eng_256、d2v_lit_256
模型选择与使用¶
根据题目所属学科选择预训练模型:
预训练模型名称 |
模型训练数据的所属学科 |
|---|---|
d2v_all_256 |
全学科 |
d2v_sci_256 |
理科 |
d2v_lit_256 |
文科 |
d2v_eng_256 |
英语 |
处理的具体流程:
1.下载相应的预处理模型
2.将所得到的模型传入D2V,使用D2V进行处理
Examples:
>>> i2v = get_pretrained_i2v("d2v_sci_256")
>>> i2v(item)