Embedding / Chinese-Word-Vectors

100+ Chinese Word Vectors 上百种预训练中文词向量
Apache License 2.0
11.84k stars 2.32k forks source link

<Baidu Encyclopedia 百度百科 300d>词表重复 #103

Open yuboona opened 4 years ago

yuboona commented 4 years ago

您好,在使用python open(utf-8)读入词向量文件并提取词表时,发现其中有的vocab是重复的,导致了最后词表大小和词向量embedding的维度不一致,无法使用。请问是词向量本身有什么问题,还是我读取的方式有什么错误呢。有方法可以解决么

shenshen-hungry commented 4 years ago

“词向量embedding的维度不一致”指的是?

yuboona commented 4 years ago

“词向量embedding的维度不一致”指的是?

@shenshen-hungry 例如,我使用python open(utf-8)打开词向量文件后,按行用dict字典结构对每个词汇进行存储可能得到的是980个词汇,但是用list.append来存储词向量文件中的每行词汇就可能得到的是1000个。将list中的词汇写道输出文件中,也可以发现其中有很多处的词汇是重复的。

我目前只能暂时,在有重复的部分跳过,既不保留词汇,也不保留相应的词向量。

shenshen-hungry commented 4 years ago

可能的一个情况是,最后面的一些低频词会出现一些符号组成的词比如“-------”,如果长度特别长的时候输出会截断,导致出现重复的词,不过这种情况几率很低。如果是前面高频词的话,是不会有这种情况的,没有重复的词。

yuboona commented 4 years ago

@shenshen-hungry 从我读取后,输出到文件中的结果来看,这个词向量文件中是有重复的词汇的,如下所示:

1 2
shenshen-hungry commented 4 years ago

具体是哪个词向量文件呢?可否提供一下文件名?

yuboona commented 4 years ago

@shenshen-hungry 是这个文件:sgns.target.word-word.dynwin5.thr10.neg5.dim300.iter5

另外在sgns.sogou.word这个文件中,也有类似情况

shenshen-hungry commented 4 years ago

年后面可能有一个全角空格,导致看起来像是一样的。我们只是进行了分词,没有对全角空格做过滤,因为有的时候全角空格可能表示文本中的缺字。

yuboona commented 4 years ago

年后面可能有一个全角空格,导致看起来像是一样的。我们只是进行了分词,没有对全角空格做过滤,因为有的时候全角空格可能表示文本中的缺字。

@shenshen-hungry 我在去掉python的strip()之后,得到两个“年”仍然显示是同一个词汇。请问,有没有什么办法在python读取的时候得到两个不同的词汇呢?

zplu commented 4 years ago

我也碰到了这个问题,不过我是在R里做的。只要在导入向量文本的时候选择半角空格为分隔符,就能分辨出不同的词汇。

yuboona commented 4 years ago

我也碰到了这个问题,不过我是在R里做的。只要在导入向量文本的时候选择半角空格为分隔符,就能分辨出不同的词汇。

感谢!

delltower commented 4 years ago

unsubscribe

在 2020-02-05 13:36:00,"张大力" notifications@github.com 写道:

我也碰到了这个问题,不过我是在R里做的。只要在导入向量文本的时候选择半角空格为分隔符,就能分辨出不同的词汇。

感谢!

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub, or unsubscribe.