我一直在对一些公开可用的词嵌入进行类比查询,特别是使用以下内容:
numberbatch-en-19.08
来自https://github.com/commonsense/conceptnet-numberbatchglove.42B.300d
来自https://nlp.stanford.edu/projects/glove/glove.840B.300d
来自https://nlp.stanford.edu/projects/glove/
我正在做一些基本查询,包括(queryTarget
我在哪里寻找):
baseSource:baseTarget :: querySource:queryTarget
例如man:woman :: king:queen
- 最大化
cosine_similarity(baseTarget-baseSource, queryTarget-querySource)
- 最大化
cosine_similarity(baseTarget-baseSource, queryTarget-querySource) * cosine_similarity(baseTarget-queryTarget,baseSource-querySource)
- 最小化 L2norm(baseTarget-baseSource+querySource, queryTarget)
对于查询:
man:woman :: king:?
数据为我提供了各种匹配策略的glove
正确queen
, lady
,princess
结果。但是,conceptnet 将female_person
, adult_female
,king_david's_harp
列为前 3 名,这是我没想到的(女王不在前 20 名中)。同样,我看到糟糕的结果经常取代我在手套结果中看到的预期结果。
在使用之前,conceptnet 嵌入是否需要进行某种额外的调整?还是它只是不适合/不适合英语类比?