【问题标题】:Is text classification fast enough for type ahead search?文本分类是否足够快以进行预输入搜索?
【发布时间】:2019-11-13 03:56:26
【问题描述】:

我正在设计一种可用于搜索许多不同事物的预先输入服务。在实际进行搜索之前,我正在考虑创建一个文本分类模型来对这些搜索进行分类。

这是我希望从分类模型中得到的结果示例。

输入

John Smith

输出

[
  {
    "likeliness": .6,
    "category": "car-name-typeahead-search"
  },
  {
    "likeliness": .9,
    "category": "person-name-typeahead-search"
  },
  {
    "likeliness": .1,
    "category": "vin-typeahead-search"
  },
  {
    "likeliness": .2,
    "category": "help-page"
  },
  {
    "likeliness": .2,
    "category": "faq-page"
  }
]

然后,我会采用可能性高于某个值的类别,并实际进行预先输入搜索。我也会返回按可能性等级排序的结果。

我们一直在收集有关人们搜索的数据并跟踪他们实际寻找的内容,因此我们应该拥有训练文本分类模型所需的数据。

我的问题是,文本分类模型能否足够快地与预先输入的服务一起使用,并且不会过于昂贵?我应该研究某些类型的文本分类算法吗?

【问题讨论】:

  • 我建议你不要过早优化。设计一些实际的测试,衡量性能,然后做出决定。
  • 我认为现代搜索引擎已经采用了类似的技术。但是大多数常见输入的结果很可能已经预先计算并缓存了性能,并且只有少数用户输入真正需要实时通过 ML 模型。
  • 你对足够快的定义是什么?此外,您没有提到分类模型在哪里运行(在客户端或您将分类作为另一个服务运行,因此您需要一些 RPC 来传达结果)。通常在现代服务框架中(例如在独立服务器上运行的 tensorflow 服务),基于浅层神经网络的标准文本分类模型应该具有低于 1ms 的延迟。
  • @greeness 我们希望预先输入的响应时间总共少于 200 毫秒。分类模型将在服务器端。听起来文本分类模型的速度足以满足我们的需求。如果您添加答案,我会接受。谢谢。

标签: machine-learning text-classification


【解决方案1】:

通常在现代服务框架中(例如在独立服务器上运行的tensorflow serving),基于浅层神经网络的标准文本分类模型的延迟应低于 1ms)。您可以查找由以下人员组成的模型:

  • 词嵌入层(词汇表中多达数百万个词)
  • 隐藏层 (1-3)
  • 分类(多达数千个类别)

如果您的预期响应时间

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-10-10
    • 1970-01-01
    • 2018-04-11
    • 1970-01-01
    • 2012-07-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多