在此郑重声明,算法已经发表论文,程序已经申请软件著作权,如果需要在论文或者商业算法中使用请邮件至 [email protected]或私信,征得同意后方可使用。
本文仅仅作为讨论研究之用。
前文已经谈起过,句子结构相似度的计算目前大多数还是采取,句子句长,句子词序,正弦等方法进行计算,这种方法显然比较原始。另一个研究领域在西方比较流行,就是对句式进行研究,从而确定句子结构相似度。注意,是句子结构相似度,并不考虑句子本身的含义。比如 我是张三 和 你是张三,句子结构相似度接近百分百,句意相似度接近零。
那么肯定有人会问,这东西完全没有价值啊,句子就是用来表达含义的为什么要计算结构呢?实际上网上太多人都把这两者混为一谈了,导致太多人误认为他们就是一回事儿。其实不是的,句子的句义相似度的计算过程中就涉及到句子结构相似度,或者换一种说法,句子结构分析是句义相似度计算的基石。举个最简单的例子,这是一匹马 和 这不是一匹马。这两句如果单纯划分词然后二分法计算的话,效果并不好,因为仅有“是”和"不是"这一对词导致差异,句子越长算出来的结果越偏离准确值“0”,如果进行句子结构分析的话,那么 “是”这个词就是谓语是这个句子依存分析的根,“不”就是对它的修饰,这个修饰与根之间的距离非常近,因此对句子的影响非常大,句子越长,越接近准确值“0”,这个简单的句子我们就可以看出来,句子结构分析是重要的一步。看