我目前正在做一个项目,我们正在尝试根据正确的答案来衡量用户提交的解释性答案。我遇到过像dandelion和paralleldots这样的API,它们都能够检查两个文本在语义上彼此之间的距离。
这些API为我提供了有利的回答:
债务人和债权人之间有什么区别?
答案1:债务人是指向另一方欠款的个人或企业 派对。债权人是指拥有的人,银行或其他企业 借钱或延长信贷给另一方。
答案2:债务人有债务或法律义务支付金额 另一个人或实体,从中购买货物或提供服务 获得了。债权人可以是银行,供应商
蒲公英给了我81%的分数,并且平行线给了我4.8 / 5的同样答案。这是非常期待的。
然而,在我准备演示并计划最终在生产中使用它们之前,我有兴趣在某种程度上理解这些API如何产生这些分数。
它是基于tf-idf的阻塞POSses的载体产品吗?
PS:不是NLP的专家
答案 0 :(得分:1)
这个问题非常广泛:语义句子相似性在NLP中是一个悬而未决的问题,并且有多种方式来执行这项任务,所有这些方法在当前阶段都远非完美。例如,只需考虑:
特朗普是美国总统
和
特朗普从未成为美国总统
根据并行标识具有5的语义相似性。现在,根据你对相似性的定义,这可能没有问题,但关键在于,根据你对这种相似性的处理方式,如果你有特殊的要求,它可能不完全合适。
无论如何,至于实施,没有单一的标准"执行此操作的方式,以及可以使用的功能:tf-idf(或等效),句子的句法结构(即选区或依赖解析树),提及从文本中提取的实体等。 ..或者,根据最新趋势,深度神经网络不需要任何明确的特征。