如何比较python中的名词块与spacy.io

时间:2016-09-28 15:25:00

标签: python nlp levenshtein-distance spacy

我正在尝试编写一个Python应用程序,它将采用自然语言查询并尝试将其转换为MDX,以便我可以查询多维数据集。

我正在使用spacy.io,我无法找出比较名词块与数据源/度量/过滤器/等的名称的最佳方法。

作为一个例子,我可以加入以下句子:

"Give me household count split by net sales from the base customer cube"

从中我可以提取以下名词块:

NP:  household count split
NP:  net sales
NP:  the base customer cube

将这些名词块与我的测试立方体中的以下显示名称进行比较的最佳方法是什么?

Household Count
Net Sales
Base Customer

麻烦是其中一个名词块包含单词“split”,我不能删除它,以防多维数据集中的一个显示名称也包含该单词。

我考虑过尝试一些事情,例如计算字符串之间的Levenstein距离,但结果不够可靠,无法宣布匹配。

所以我的问题是如何解决这个问题并获得更可靠的匹配?我吠叫错了树吗?或者可能没有充分发挥Spacy.io的潜力?

我已经考虑过解析名词块并在获得Levenshtein距离之前删除像“split”这样的关键词和不必要的词,例如“the”,但是我觉得提供一个可删除的单词列表并不舒服,如果有一些真正的显示名称包含其中一个关键字。

0 个答案:

没有答案