一、两份词向量
1)自训练3.39G语料,model = word2vec.Word2Vec(cropus,size=100,window=5,min_count=1,workers=4),得到1791558X100的词向量表 ;;;自训练程序在E:/data_analysis/word2vec/
1.1)又只基于自己的知识库和几年的待链接数据整理成语料1.7GB,model = word2vec.Word2Vec(cropus,size=100,window=5,min_count=1,workers=4),得到1728748X100的词向量表 ;;;自训练程序在E:/data_analysis/word2vec/
2)Stanford glove,直接获取斯坦福大学公开的词向量glove.100d,有400000X100的词向量表
*******************用 1.1)过程生成的词向量找候选集**********************
二、由词向量表与query上下文对应,生产上下文索引
mypython_Linking\data_handle doc_query_no_beg_end.py ----------(2) 20分钟左右跑完!!!!
2009、2010、2011没有实体的beg、end。
1)使用glove100 跑出一份索引 运行要20分钟左右!!!!
使用glove100作为doc_query_no_beg_end.py输入,跑出来的各种数据存放在glove目录下,该程序生成3个大文件,test、test_docQuery、test_docText
2)使用word2vec100跑出一份索引 运行要20分左右!!!!!
使用word2vec100作为doc_query_no_beg_end.py输入,跑出来的各种数据存放在glove目录下,该程序生成3个大文件,test、test_docQuery、test_docText
三、由词向量表与db上下文对应,产生上下文索引
mypython_Linking\data_handle handle_min_db.py
1)使用glove100 跑出一份索引 运行需要1个半小时左右,因为min_db比较大,一般有10万多
2)使用word2vec100跑出一份索引 运行需要1个半小时左右,因为min_db比较大,一般有10万多
四、db补全,并产生实体向量表,产生上下文索引
详细步骤见《实体关系补全程序运行顺序记录》
五、模型的运行
模型的运行及其一些参数设置。
先记录一下服务器105节点上的一些数据
myCNN1 是计算局部值
1.1test_queryIndex.txt 20维度的连续上下文 1.2test_queryNounIndex.txt 20维度的连续上下文名词 1.3db test_mindbIndex.txt实体方的属性上下文 维度取的最大值160维度
myCNN2 是计算局部值
1.1test_queryIndex.txt 20维度的连续上下文 1.2test_queryNounIndex.txt 20维度的连续上下文名词 1.3db test_mindbAllIndex.txt实体方的属性+实体关系构成的上下文 维度取的最大值310维度
myCNN3 是计算全局值
1.1test_queryTextIndex.txt 全文名词,维度参差不齐,自己设置的维度为2000 1.2db test_mindbAllIndex.txt实体方的属性+实体关系构成的上下文 维度取的最大值310维度
entityCNN1 是计算全局值 实体向量 知识库未补全
1.1test_queryTextIndex.txt 全文名词 设置为2000维度 1.2db未补全 实体索引表min_DBIndex.txt 实体向量表my_entity_vecs.txt
entityCNN2 是计算全局值 实体向量 知识库补全
1.1test_queryTextIndex.txt 全文名词 设置为2000维度 1.2db补全 实体索引表min_DBIndex_bu.txt 实体向量表my_entity_vecs_bu.txt
当前实验数据存放:
2009年 生成mindb文件数123710 2010年 生成mindb文件数140097