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

关于去重的一点疑问? #1

Closed
zhiqiangzhongddu opened this issue Jun 6, 2018 · 11 comments
Closed

关于去重的一点疑问? #1

zhiqiangzhongddu opened this issue Jun 6, 2018 · 11 comments

Comments

@zhiqiangzhongddu
Copy link

zhiqiangzhongddu commented Jun 6, 2018

您好,我最近也在关注Exploring the Limits of Weakly Supervised Pretraining这篇文章,打算复现其中的数据清洗部分,因为感觉比较简单高效。
但是对于合并不同的可能对应同样的意思标签,例如:#brownbear和#ursusarctos都表示棕熊,我不太明白作者是怎么通过wordnet实现的?反复读了他文章中解释这部分的内容,他是在hashtag string中不同位置依次插入空格,分割出的string跟WordNet匹配,再合并所有的synsets,然后如果两个set of synsets完全一样则认为这两个hashtag string相近。
但在我复现中始终没有能把#brownbear和#ursusarctos识别成相同意思,不知是不是我理解有误。

@wangqingbaidu
Copy link
Owner

wordnet相当于一个word2vec,#brownbear和#ursusarctos在wordnet中的Embedding距离非常近。你可以把这个合并想象成一个层次聚类的过程,通过阈值,确定不同word的聚类类别。用这个聚类的类别表示这个聚类中心中的所有word。

@zhiqiangzhongddu
Copy link
Author

感谢您的及时回复。
我理解您的意思,但是关于“#brownbear和#ursusarctos在wordnet中的Embedding距离非常近”, 我并没有在wordnet中找到有效的对他俩进行Embedding进而计算距离的方法,这是现在我遇到的问题。
首先,这两个string在WordNet中并没有,因为他们都是两个单词合并的
然后,我把它们分割成brown + bear 和ursus + arctos,我也只是可以知道bear 和 ursus距离很近,但是并找不到arctos的信息

@wangqingbaidu
Copy link
Owner

这个词之间的距离一般使用cos距离进行度量,通过阈值判断判断他们是否相似啊。去重的过程,你可以参考一下层次聚类算法,原理是一样的。

@zhiqiangzhongddu
Copy link
Author

zhiqiangzhongddu commented Jun 6, 2018

我的问题在于向量的获取,而不是之后聚类、阈值判断之类的处理。不过还是很感谢您的耐心回复,谢谢。

@wangqingbaidu
Copy link
Owner

https://github.com/Embedding/Chinese-Word-Vectors
https://wordnet.princeton.edu/
中英文的wordnet,据我所知,这个向量的获取就是一个查表的过程吧。

@zhiqiangzhongddu
Copy link
Author

谢谢。
是的,就是一个查表的过程,但我愣是没通过查表实现他给的这个合并例子,我会再看一下。大牛的文章总是在一些细节上让我难以复现‘’‘’‘’

@lingyunwu14
Copy link

wn.synsets('brown_bear')和wn.synsets('ursus_arctos')的结果一样

@zhiqiangzhongddu
Copy link
Author

感谢你的回复。
这样的话,我觉得可能是Facebook这篇文章中提到的merge #Brownbear和#ursusarctos,其实就是merge #Brown_bear 和#ursus_arctos。这样的话就有个新的问题,就是如果hashtag不是以“_”分割单词的形式存在,我们如果有效把brownbear这类hashtag分成brown_bear?

@lingyunwu14
Copy link

文章中说了,x的取值包括hashtag,也包括在hashtag每个位置都插入空格组成的二元词组,wordnet里对二元词组求synset时需要把空格转成"_"才有结果,所以#brownbear和#ursusarctos有相同的synset

@zhiqiangzhongddu
Copy link
Author

zhiqiangzhongddu commented Jul 10, 2018 via email

@lingyunwu14
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

3 participants