如何让 Bixby 搜索将 "season one" 视为 "season 1" #devjam

how can I make Bixby search treat "season one" equal to "season 1" #devjam

我有一个模板生成的事实胶囊,我在其中用 "season one" 和 "episode two" 等标记了一些事实。

默认情况下,搜索 "tell me about season one" 的提示可以正常工作,但 "tell me about season 1" 或 "tell me about the first season" 等变体不能正常工作。我应该如何调整才能使 NLU 正确处理这些变化?

Javascript搜索函数是:

function findContent (items, searchTerm) {
  var matches = []
  searchTerm = searchTerm.toLowerCase();

  for (var i = 0; i < items.length; i++) {
    if (items[i].tags) {
      for (var j = 0; j < items[i].tags.length; j++) {
        if (searchTerm == items[i].tags[j].toLowerCase()) {
          matches.push(items[i])
          break
        }
      }
    }
  }
  return matches

这是我为#devjam 提交的胶囊

您可以创建一个枚举概念,使用词汇表规范您的输入。例如:

enum (Seasons) {

  symbol (Season One)
  symbol (Season Two) 
  // etc

}

然后创建一个词汇表来处理用户表达方式的变化。让所有内容解析为您定义的原始符号:'Season One'、'Season Two' 等

vocab (Seasons) {
  "Season One" {"season one" "season 1" "first season"}
  "Season Two" {"season two" "season 2" "second season"}
}

更多信息here