【问题标题】:Finding similar items using Microsoft Cognitive Services使用 Microsoft 认知服务查找相似项目
【发布时间】:2016-07-01 01:04:38
【问题描述】:

哪种 Microsoft 认知服务(或 Azure 机器学习服务?)最适合用于解决在给定文章中查找类似文章的问题。文章是一串文本。假设我没有关于文章的用户交互数据。

Microsoft 认知服务中是否有任何东西可以开箱即用地解决这个问题?似乎我无法使用 Recommendations API,因为我没有交互/用户数据。

安东尼

【问题讨论】:

    标签: microsoft-cognitive


    【解决方案1】:

    我不确定文本分析 API 是否适合这种情况,至少现在还没有。

    实际上有两种相似之处:

    1.表面相似度(词法)- 单词/字母的相似度

    如果我们正在寻找表面相似性,请尝试模糊匹配/查找(SQL Server Integration Services – 为此提供了一个组件。)或近似相似性函数(Jaro-Winkler distanceLevenshtein distance)等。这会更容易,因为它不需要您创建自定义机器学习模型。

    2。语义相似度——词义相似度

    如果我们正在寻找语义相似度,那么您需要进行语义聚类、词嵌入、DSSM(深度语义相似度模型)等。 这更难做到,因为它需要您根据带注释的语料库训练自己的机器学习模型。

    路易斯·卡布雷拉 |文本分析项目经理 |云人工智能平台,微软

    【讨论】:

    • 那么没有用于文本比较的 API 可以给出相似度分数吗? :-(
    【解决方案2】:

    是的,您可以使用文本分析 API。

    此处提供示例。 https://www.microsoft.com/cognitive-services/en-us/text-analytics-api

    【讨论】:

    • 嗨 Narasimha,感谢您的回复。在您的链接中,我只能找到情感分析、关键短语提取、主题检测和语言检测 API。我找不到任何可以开箱即用的类似项目(文章)的东西。 (我问的原因是,可以创建一个机器学习管道,例如使用 Spark 来解决问题,但我试图找到一个开箱即用的解决方案或需要最少的自定义编码)
    【解决方案3】:

    我建议您按照@Narasimha 的建议使用文本分析 API [1]。您可以通过 主题检测 API 输入字符串,然后提出一个指标(例如,Similarity = count(Matching topics) - count(Non Matching topics)),该指标可以针对每个字符串排序其他的相似之处。这只需要一个 API 调用和一点 JSON 解析。

    [1]https://www.microsoft.com/cognitive-services/en-us/text-analytics-api

    【讨论】:

      【解决方案4】:

      句子相似度语义文本相似度衡量两段文本的相似程度,或它们表达相同含义的程度。

      此 Microsoft 的 NLP GitHub 存储库提供了一些可用于 Azure VM 和 Azure ML 的示例:https://github.com/microsoft/nlp/tree/master/examples/sentence_similarity

      此文件夹包含用 Jupyter 笔记本编写的示例和最佳实践,用于构建句子相似性模型。 gensen 和预训练嵌入实用程序脚本用于加快笔记本中的模型构建过程。 句子相似度得分可用于各种应用,例如搜索/检索、最近邻或基于内核的分类方法、推荐和排名任务。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-04-07
        • 2017-12-29
        相关资源
        最近更新 更多