培训短语包括大学学科领域/专业,如计算机科学工程、机械工程、信息技术……等,我希望解析后的值是
计算机科学计算机科学
IT促进信息技术
我是学机械工程的
我花了一个小时想办法解决这个问题...请给我带路。
已尝试创建自定义实体

//无代码
发布于 2019-08-20 01:11:03
如果您正在使用带有Dialogflow webhook的Google Node.js client library上的操作,则可以在意图实现的开始时调用Javascript函数来消除用户输入的歧义,这些输入是针对同一主题的不同术语的预定义数组。
尝试如下所示:
let subject = "mechanical engineering"
function disambiguate(term){
  let CS = ["CS", "cs", "computer science", "comp sci"]
  let ME = ["ME", "me", "mechanical engineering", "mech eng"]
  let IT = ["IT", "it", "information technology"]
  for(let i = 0; i < CS.length; i++){
    if (term == CS[i]){
      return CS;
    }
  }
  for(let i = 0; i < ME.length; i++){
    if (term == ME[i]){
      return ME;
    }
  }
  for(let i = 0; i < IT.length; i++){
    if (term == IT[i]){
      return IT;
    }
  }    
}
console.log(disambiguate(subject)[0])您可以编辑或运行上面的代码on Repl。
如果您不想以编程方式执行此操作,则可以在Dialogflow控制台中将同义词添加到自定义实体:

https://stackoverflow.com/questions/57520084
复制相似问题