【问题标题】:Product Names recognition / categorization产品名称识别/分类
【发布时间】:2019-06-27 14:28:56
【问题描述】:

我是机器学习的新手,所以请原谅这个问题中的任何错误......

问题定义

我们正在从事一个有这些特定要求的项目:

  1. 用户从药房货架上拍照,里面有一堆产品(药品),然后上传到 Azure

  2. 我们正在使用 Azure 认知服务对图片进行 OCR 并从中检测文本

  3. 在大多数情况下,OCR 会返回大量文本,其中大部分很有用,但有些行我们不需要它们,而且 OCR 可能会返回拼写错误的单词(非常类似于产品名称)

  4. 我们有一个产品名称/公认术语的字典(手工制作(一种 vademecum))

  5. 我们需要的是OCR返回的每一行文本:

    • 与已知产品名称/公认术语匹配
    • 丢弃生词

示例

  1. 我们以这张图片为例: Sample Image

  2. OCR 返回这些行(在第二列 (--->) 我们的预期结果):

    • flex ---> NULL
    • F1ORAT1L ---> FLORATIL
    • FLORATIL L 100 ---> FLORATIL
    • FLORATIL 200 ---> FLORATIL
    • FLORATIL AT 250 ---> FLORATIL
    • 肠杆菌 ---> 肠杆菌
    • PROMOCAO ---> NULL
    • 是 27.30 ---> NULL
    • yces boulardii CNCM I ---> NULL
    • VALE POR ---> NULL
    • TA BARATO ---> NULL

问题

  1. OCR 可能会返回拼写错误的单词(与产品名称非常相似)参见第 2 行和第 3 行。您建议如何实现这种模糊匹配?

  2. 我们希望将不同类型的产品配置(FLORATIL 100、FLORATIL 200、FLORATIL AT 250)加入一个主要药物类别 = FLORATIL

  3. 您认为解决此问题的最佳管道是什么?我们想使用 Azure 机器学习服务中可用的任何算法,但我们可以使用 python 或其他堆栈

谢谢!

【问题讨论】:

    标签: machine-learning nlp microsoft-cognitive named-entity-recognition azure-cognitive-services


    【解决方案1】:

    根据您的需求定义,您可以简单地添加 Azure 搜索并获得您想要的:

    • 调用 OCR
    • 对于 OCR Result 中的每个项目,调用 Azure 搜索(在每个单词后添加 ~,并指定 queryType=full 以执行模糊匹配,请参阅文档 here
    • 使用搜索结果获得最高匹配项,如果需要,使用提供的分数过滤不匹配的结果

    您只需使用您提到的字典设置您的 Azure 搜索

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-08-09
      • 1970-01-01
      • 1970-01-01
      • 2018-09-09
      相关资源
      最近更新 更多