• 添加了unimportant 之后,需要调整的参数


    count = count1+count2-count_unimportant_union*10


    这个10需要调参。因为我们TOPN取的是10,所以如果两个词完全相同,正常情况下会有22个非0值。
    计算基础相似度,用来平衡长句子与短句子之间匹配的时候,短句子本身占有巨大的优势。
    基础相似度代表了:如果两个句子,他们进行ONE-HOT映射之后,非零元素都不一样,且都为1,他们依然会有一个基本的相似度。这时的欧氏距离就是
    (count1+count2)开根号,再进行相似度计算。对于一些不重要的词,再用基础相似度进行调整。

    我们为了消除这两个词的相同时,他们在计算basesimilarity的时候会很有优势。
    所以我们进行惩罚。如果取22,就相当于把这个词作为停用词去掉,我们也不希望这么极端,所以目前先取中间值10。后续看需求再调整。


    k_weight = 0.6  # 可以修改,也可以再字典里添加权值
    u_weight = 0.13 #本来是设为负数,发现如果这样的话,那不重要的词贡献的欧式距离就很少,会出现一个问题是如果一个问题只有不重要词,就很容易匹配到,所以调整为0.13(但是依然小于1)

    如果加起来大于1,就是增加重要性,如果相加依然小于1,就是减小重要性。
    并且,我们如果做两个句子的交集,这个交集跟非重要词再相交,发现有这个词,我们在计算基础相似度的时候,就进行一定的惩罚。
    同理,我们也可以对重要词这么做,如果两个句子相交,再跟重要词相交,发现有这个词,我们就进行一定的鼓励。但是这个还不尝试,可能有未知的风险。因为不重要的词很少,风险可控,可是重要的词却很多。
  • 相关阅读:
    设备上下文相关函数 冷夜
    DirectxDraw加载位图 冷夜
    MMO游戏数值框架概述(偏模拟方向) 冷夜
    C++基本数据类型列表 冷夜
    Ryzom相关的项目简介 冷夜
    使用QueryPerformanceFrequency 计算程序执行时间 冷夜
    C和C++运算符 冷夜
    编译错误记录文档 冷夜
    ANSI编码对比表 冷夜
    mscorsvw.exe是什么 冷夜
  • 原文地址:https://www.cnblogs.com/yjybupt/p/10112938.html
Copyright © 2020-2023  润新知