1、一般在此类模型中,需要原始文件四个:
train.txt 一般格式为(分类类型 句子)或(关系类型 头实体 尾实体 句子)
test.txt 格式同上
relation2id.txt (关系类型 关系id)
vec.txt (word, vec1,...,vec50)假设Embedding的维度为50
注意:要保证这些txt文件都是utf-8编码的
2、先处理vec.txt文件
目的:
1得到一个wordembedding的矩阵,存放所有word的词向量。
2对这些word进行编号,因为我们后面在模型的输入部分,输入的是由单词编号组成的一个个句子,所以这里要先对word进行编号,其实就是按照文件的读取顺序,从0到len(vec)-1
f = open('./vec.txt', encoding = 'utf-8')
f.readline() #如果文件的第一行有不需要读入的一些注释或说明信息 或表头之类的 可以跳过
word2id = {} #存放词典,即word和其对应的id
wordembeddings = [] #这是词嵌入矩阵
while True:
content = f.readline()
if content == '':
break
content = content.strip().split() #删除字符串的前后空白,并且 按空格键隔开
<