【发布时间】: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