Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

经过一天调试,用作者语料终于成功跑出结果,发现bug #39

Open
linshouyi opened this issue Apr 22, 2018 · 5 comments

Comments

@linshouyi
Copy link

linshouyi commented Apr 22, 2018

Word2vec w2v = new Word2vec();
w2v.loadJavaModel("model.bin");
System.out.println(w2v.distance("魔术队"));
结果为:[奥兰多 0.8990011, 新泽西 0.83124423, 奇才队 0.82303494, 网队 0.6876496, 顾明 0.68449014, 喻广生 0.6766388, 大年初五 0.67316043, 实习生 0.67124707, 佛罗里达州 0.6711269, 刘国强 0.66510504, 利纳雷斯 0.6648634, 郑金发 0.66467416, 寒风料峭 0.6624502, 孙星文 0.6613987, 廿七 0.66014194, 谷利源 0.65965, 孙永明 0.6595951, 辛祥利 0.6593127, 蓝宝石 0.6587766, 秦凤桐 0.6582865, 乔颖 0.656125, 潘家埠 0.6528409, 安卡拉 0.6501446, 刘文国 0.6500238, 马那瓜 0.6496207, 盛世良 0.64810187, 年初四 0.64746207, 时装展 0.64492613, 孟军 0.6446666, 俞俭 0.64461464, 谢湘 0.64448756, 刘世昕 0.6439994, 摩洛哥王国 0.6434583, 科托努 0.64319485, 周健伟 0.6416397, 王波 0.6413159, 阿鲁沙省 0.64103186, 刘永华 0.64082164, 侯嘉 0.64043736, 里斯本 0.6402035]

如果使用作者提供的语料,需要做的处理包括如下:
1.确保语料文本文件是UTF-8编码,不是需要转换。
2.作者提供的语料是用制表符切割的词组,但是代码是根据空格切割,需要将制表符全部替换成空格。或者修改代码:Learn.java 271行,修改成String[] split = temp.split("[\s ]+");支持同时出现多个半角或全角空格,或制表符分隔。
3.发现一个bug
Word2Vec中2个distance方法中,min = result.last().score; 应该放在resultSize < result.size()块里。
只有当结果数已经大于resultSize,才能将最后一个得分数赋予min,作为以后最小允许得分。结果数不大于resultSize不能赋予给min。
最新的代码提交到:https://github.com/linshouyi/Word2VEC_java

@linshouyi linshouyi changed the title 经过一天调试,用作者提供的语料终于成功跑出结果了。 经过一天调试,用作者语料终于成功跑出结果,发现bug Apr 22, 2018
@xiaobaitut
Copy link

你好 你能将你的项目发给我么 我的qq 592680380 非常感谢 我这里也是遇到了问题

@CallMeJiaGu
Copy link

的确有第三点的那个Bug。
想请教一下,基于CB模型的实现效果理想吗,同样的语料在gensim上的结果比这份代码好很多

@linshouyi
Copy link
Author

最新代码:https://github.com/linshouyi/Word2VEC_java

@linshouyi
Copy link
Author

你好 你能将你的项目发给我么 我的qq 592680380 非常感谢 我这里也是遇到了问题

见:https://github.com/linshouyi/Word2VEC_java

@luowenhui027
Copy link

非常感谢。改写的挺好。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants