产品名称识别/分类

时间:2019-06-27 14:28:56

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

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

问题定义

我们正在一个有以下特定要求的项目中工作:

  1. 用户从包含一堆产品(药品)的药房架子上拍照,并将其上传到Azure

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

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

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

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

    • 与已知产品名称/可识别术语相匹配
    • 丢弃未知单词

示例

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

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

    • flex ---> NULL
    • F1ORAT1L ---> FLORATIL
    • FLORATI L 100 ---> FLORATIL
    • FLORATIL 200 ---> FLORATIL
    • FLORATIL AT 250 ---> FLORATIL
    • Enterogermina ---> ENTEROGERMINA
    • PROMOCAO ---> NULL
    • 是27.30 ---> NULL
    • bocedii 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或其他堆栈

谢谢!

1 个答案:

答案 0 :(得分:0)

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

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

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