Comments (30)
- 这两个文件是全的,不过也只是包含了HowNet中的内容,HowNet中缺少一些新词,在我们的文件中同样缺少这样的新词数据。
- 目前没有开发这个接口的打算。
from se-wrl.
谢谢解答。
我这边用了4个G的数据,在服务器上跑了一晚上,还没有结束,我想请问下,您当时用了多大数据,跑了多久,我这边线程数设置的20,其他参数按您推荐的设置的,负采样25是不是有点多了,影响效率,我看Gensim提供的API,负采样是5。
from se-wrl.
@quan3401 请问你运行的时候遇到过Segmentation fault (core dumped)问题吗?谢谢
from se-wrl.
您可以详细点说,或者截图给我。我把这个代码训练起来了。
from se-wrl.
我调试了一下发现是在init(struct sense *s, int n, int l, int *rank, int *cnt) 这个函数里面的
s->mult_sense_value = (real *)calloc(n * l, sizeof(real)); 这行出错的。 问题是这行成功运行了一次,但是到第二次的时候却出错了。。
截图中的输出"19466 200"是n和l。
from se-wrl.
@quan3401 我当时用的21G训练数据,训练一个epoch需要将近30小时,训练2或3个epoch后,效果达到最好。
抱歉之前可能漏了Github的邮件提醒,没能及时回复。
from se-wrl.
@libertine2 我看你的截图,是malloc.c报错,会不会是环境问题。我们是在Linux环境下进行的实验。
from se-wrl.
@heyLinsir
我也是在linux环境下跑的呀,那个报错感觉是因为gdb没找到malloc.c,应该不是malloc.c本身的问题。
from se-wrl.
@heyLinsir 收到您的邮件了,谢谢。我在Window跑了,Linux也跑了,代码在Linux上可以直接跑,
@libertine2 你读文件的时候可能出错了,多个空格什么的,读出来的词或者数字是一个脏数据,负数导致后面程序报错
from se-wrl.
@quan3401
请问您指的是哪个文件?是Word_Sense_Sememe_File这个文件吗?可是我的代码一点没改呀,就是gh上作者的代码
from se-wrl.
@libertine2 代码不变,可能因为数据文件的格式出错了,读文件的代码你可以改一下,或者给我个邮件,我把能跑起来的发给你,其实改动很少。
from se-wrl.
@quan3401
那麻烦您给我发一份吧,我的邮箱:[email protected],多谢!
from se-wrl.
@heyLinsir @quan3401 你说的正确,Word_Sense_Sememe_File这个数据文件出错,每一行最后多出一个空格,导致程序指针异常,是我linux下调试出来的问题。我将该文件每行最后一个空格删除,目前仍然调试有问题,请问作者可以在百度云盘上分享一下训练数据吗?,另外,请问corpus是来自搜狗语料库吗?
from se-wrl.
@TingEn-Li
近两天会修复一下数据文件。
训练数据会分享出来,不过有点大,21G,不知道有没有超过限制,而且百度云上传会比较慢,所以不清楚什么时候可以公开出来。
from se-wrl.
@heyLinsir 太好了,这边可以下下来玩玩。祝好!
from se-wrl.
@heyLinsir 又过了一周了,请问训练数据上传好了吗?感谢分享!
from se-wrl.
链接:https://pan.baidu.com/s/1kXgkyJ9 密码:f2ul
from se-wrl.
@heyLinsir @lixiang1991 @zibuyu @TingEn-Li 我们这边最近做实验,发现语料对词向量的训练效果有比较大的影响,首先膜拜一下这个词向量模型,在近义词、或者义元相近的词上表现很好,反义词上理论上应该表现也很好的,因为我们语料里面反义词的比例不均衡,例子:提升 、降低;如果语料里面提升出现了100词,降低出现了2次。这样HowNet的结构信息就没有使用完全,我们在语料的构建的部分,可以注意下反义词的比例,这样训练出来的模型更加完美。
这里请教各位有没有现成的GPU版本(CUDA C)的代码,我们这边也在弄,有的话共享一下,或者转成python的 ?可以直接跑GPU。然后请问这次分享的语料,反义词比例是不是比较均衡?我觉得应该是频数需要达到一定的值,效果就会好,不均衡也没关系?
from se-wrl.
@quan3401
抱歉我们目前没有现成的GPU版本,之后可能会开发一版。
反义词的比例没有统计过。我认为,如果反义词频次差不多的话,两个词训练出来的词向量应该也是比较相近的,这是skipgram模型本身决定的,因为同类型义元的上下文也会趋向于相同。如果想要凸显反义词的特性,可能需要跳出skipgram/CBOW这类模型。
如果真的想区分开反义词的话,可能可以考虑一下adversarial training(perturbation on word embeddings)的**:)
from se-wrl.
@heyLinsir 解惑了,谢谢。是不是可以考虑在您的模型基础上做一些工作,在词向量和义元底层做一层相似度的关系,多一个Loss,使得词向量更加受限义元、或者说词向量和词的义元的关系更加强。我们这边也在抽空做GPU,不过时间有点抽不开,期待您分享出来,祝好!
from se-wrl.
@quan3401 我觉得如果能设计出来一个词和义元之间的loss是有意义的,因为现在他们之间的限制关系是隐式的,如果能显式地表示出来,应该会有效果提升。
from se-wrl.
请问可以分享一下处理sougoT数据,提取文本的代码吗,刚刚拷贝到数据发现里面的噪声非常多,处理起来有些困难。
from se-wrl.
@liukun95 我分享在网盘的数据就是我们使用的数据,没有额外的数据处理。
from se-wrl.
请问‘Clean-SogouT2.txt’和‘Clean-SogouT1.txt’在编码上有区别吗?我在用gensim的word2vec模型训练词向量时T2报了如下编码错误,而T1没有报错。
'utf-8' codec can't decode byte 0xbc in position 0: invalid start byte
from se-wrl.
@liukun95 你把文件先用脚本语言处理一下,如果你按字节去读文件,就没有问题。按行读,为出现编码的问题,很可能是中文前面有一些别的编码符号,可能是多个文件合在一起的造成的。你自己解析一下就好了。
from se-wrl.
链接:https://pan.baidu.com/s/1kXgkyJ9 密码:f2ul
我看里面一共有俩文件,sogouT1和sogouT2,训练的时候是都用上吗?如果是都用上,是分开训练两次还是把他们放一起训练一次?
from se-wrl.
@embraceth 一起训练一次,建议使用新的SAT训练程序,在README里面有链接。
from se-wrl.
@heyLinsir 我解压您提供的SogouT1.txt和SougouT2.txt,并将SogouT2.txt追加到SogouT1.txt的结尾,然后使用您提供的最新的代码以及评测代码,参数也都一样,训练出的模型以及评测跟您的不一样这是为什么?是我合并训练文本的方式不对吗?将将SogouT1.txt追加到SogouT2.txt的结尾吗?
from se-wrl.
@embraceth 合并方式没问题,您可以去https://github.com/thunlp/SE-WRL-SAT提问一下,可以描述下您的结果具体哪里不一样?
from se-wrl.
@liukun95 请问您最后关于SogouT2.txt的编码问题解决了吗?
from se-wrl.
Related Issues (20)
- vectors.bin HOT 5
- 数据预处理文件 & 其他语言 & 效率问题 HOT 8
- 训练和评估问题 HOT 2
- 训练结果 HOT 1
- 您好,我目前已经跑出了SAT的结果,在similarity和analogy的mean rank指标上表现都很好,但唯独在analogy的accuracy指标上与论文中的结果相差很远。我的参数设置如下:
- how to get the "HowNet.txt" HOT 2
- muti-embedding for one context word
- VocabFile problem HOT 1
- 论文打不开,提示缺少字体
- 词义消歧 HOT 3
- word_vec的作用 HOT 3
- 未能复现 SSA 结果
- 未能复现结果
- 语料库 HOT 1
- MST.c 运行时段错误 HOT 1
- 您好,关于pretrained词表规模的一点问题。 HOT 1
- 请问只有一个sense的词的sememe id怎么得到? HOT 1
- 模型应用 HOT 5
- 请问这个模型用C写的初衷是什么呢? HOT 1
- 可以公开训练好的word embedding文件吗
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from se-wrl.