0

我有一组给定的keywords,我知道它只与我的应用程序有关。但是这些关键字在不同的上下文中可能具有不同的含义。只有一个意思对我有用,我事先知道。我如何disambiguate在运行时表达它们的含义?
我尝试Word Sense Disambiguation在市场上使用不同的方法,但效果不佳?
有人能帮我一下吗?

4

2 回答 2

2

keyword消歧是根据上下文从预先指定的术语(单词/搭配,或)集合中选择一种含义的任务。这里的主要思想是计算每个含义和上下文之间的相似性,然后选择最接近的含义。此外,对含义进行先验分布也非常有用——例如,每个含义用于该术语的频率;顺便说一句,最常识算法是一个很好的基线。

因此,您的任务是设置先验分布、定义相似性度量并选择上下文。通常只考虑本地上下文就足够了——每边 3 到 5 个最接近的词。相似性度量很大程度上取决于您的字典(每个术语的含义集)和您的域。上面提出了一个示例 - tf-idf 向量上的余弦。

有了这个,你可以创建一个二元分类器;理想情况下,要训练机器学习,比如逻辑回归,如果你有训练集,你可以准确地知道每个关键字是否具有有用的含义。如果您只有正面示例(似乎由 user1981700 假设),那么您有类似一类分类的东西,通常性能较差。

希望这可以帮助。如果您提供有关您的域和字典类型的更多详细信息,那么想出更合适的解决方案会容易得多。

于 2015-02-20T19:47:11.460 回答
2

词义消歧是一个悬而未决的问题,因此任何方法的成功都将在很大程度上取决于您的特定数据。如果您在运行时提供的关键字周围有足够的上下文,则可以计算 tf-idf ( http://en.wikipedia.org/wiki/Tf%E2%80%93idf ) 并将其与预先建立的您感兴趣的词义的 tf-idf:当然,这意味着拥有只出现您感兴趣的词义的训练数据。然后,您可以比较两个 tf-idf 向量,如果根据您可以通过实验建立的某个阈值它们足够相似(http://en.wikipedia.org/wiki/Cosine_similarity),那么您可以得出结论它们是相同的感觉。祝你好运。

于 2015-02-19T21:08:59.367 回答