我们是一个来自客户的Q&A数据库(非常类似于StackOverflow :-P),我们正在开发一个机器人来自动识别对正在打开的票证最有可能的响应。例如:
N;Q;A
1;how to recover my password?;Please go to https://.../resetPWD
2;which are the office hours?;office is open 9-13 and 14-18
基本上,我们希望为客户护理人员提供建议,让他们找到已知的答案。
我们使用Amazon作为首选平台,我们希望将其卸载到现有的API中(而不是求助于部署专用的NPL解决方案)。
--
我最近做了一个基本的聊天机器人,让我的朋友测试它。她说了许多胡言乱语,路易斯的结果使我感到困惑。
例如,她将输入)(*)($*#)(!*#&$*#&$*#&)$(*)(!*)(!@*09837$)(@*#||||,LUIS将此标识为我检查数据库状态的意图之一。我唯一能想到的就是它包含了09837,一个数字,并从那里触发了特定的意图。但是,用于检查数据库状态的数字实体是复合实体( part )的一部分。这对我来说毫无意义。
为了消除number实体,我缩短了查询到)(*)($*#)(!*#&$*#&$*#&)$(*)(!*)(!@*,但它仍然触发相
我正在做一个与使用python的自然语言处理相关的项目。在我的项目中,我有我的数据库和一些与财务相关的数据,我必须创建自己的页面,如果我给出一个问题,例如what is the net income of apple?,那么我必须将我的问题转换为像select net_income from finance where name = apple这样的查询,并获得我的问题的答案。
我已经完成了对给定问题的标记化,并删除了其中的停用词。我无法转换令牌并将其添加到查询中。如果有人能给我提供你的想法,我将非常感谢。
我有SQL查询-
SELECT id, text FROM some_table WHERE MATCH (text, keywords) AGAINST ('".$search."' IN BOOLEAN MODE)
我不太明白“在布尔模式下”和“在自然语言模式下”的区别。
我试着读到它,但还是不能理解。
你能给我解释一下吗?或许还能举个例子?
我正在学习和运行一些mysql查询的测试:
mysql> SELECT * FROM articles
WHERE MATCH (title,body)
AGAINST ('$term' IN NATURAL LANGUAGE MODE);
我的问题是>>,以下每一项的使用有什么不同:
//1// AGAINST ('$term' IN NATURAL LANGUAGE MODE)
//2// AGAINST ('$term' WITH QUERY EXPANSION)
//3// AG
我尝试使用MySQL的全文索引为我的PHP web应用程序添加搜索支持。
我创建了一个测试表(使用MyISAM类型,只有一个文本字段a),并输入了一些示例数据。现在,如果我是对的,下面的查询应该返回这两行:
SELECT * FROM test WHERE MATCH(a) AGAINST('databases')
但是,它没有返回任何内容。我已经做了一些研究,并且尽我所能做好一切--这个表是一个MyISAM表,全文索引是设置的。我尝试从提示符和phpMyAdmin运行查询,但没有任何结果。我错过了什么关键的东西吗?
更新: Ok,虽然Cody的解决方案在我的测试用例中有效,