如何获取用于人工智能的MySQL查询?

我这里遇到一个小问题,我试图创建一个能够响应输入文本的人工智能,但问题是

假设我们有一个名为”AI”的数据库,其中包含”answer”和”question”两个列

如果我尝试使用查询询问”Hey why are my mobile explode”

SELECT * FROM AI where question LIKE "%Hey why are my mobile explode%" LIMIT 1

并且我的数据库记录如下…

Question  |   Answer================================Explode   | because you got suck

我的查询没有返回任何结果,但如果我更改记录并将查询改为如下…

查询

SELECT * FROM AI where question LIKE "%explode%" LIMIT 1

数据库

Question                        |   Answer=======================================================Hey why are my mobile Explode   | because you got suck

我得到了返回结果…

所以结论是,”LIKE”操作符读取包含条件文本的值…

VALUE是Question列的值,CONDITION是LIKE条件操作符的条件

Value = ... are my mobile **explode**Condition = **explode**

所以上面的情况是匹配的

但是,是否有可能反转这个功能?我是说,如何读取包含在条件文本中的值…

Value = ... **explode**Condition = "....are my mobile **explode**

提前感谢,希望有人能在这里帮助我..


回答:

如此简单的查询永远不会奏效。你最好使用全文索引,它允许进行这种“自然语言”查询。如果出于某种原因你不能使用全文索引,那么你将不得不进行大量的前处理来构建查询。对于你的第一个示例,它必须是:

SELECT ... WHERE (question LIKE '%hey%') OR (question like '%why%') OR (quetsion LIKE '%...%')

性能将非常糟糕,因为完全通配的子句完全无法使用索引。问题中的单词越多,MySQL必须进行的全表扫描就越多,一切都会花费更长的时间。

相比之下,全文查询版本将是

SELECT ... WHERE MATCH question AGAINST ('Hey why are my mobile explode');

在元层次上,我希望这个问题的答案是“你为什么要搜索这个,而不是去医院治疗烧伤/弹片伤口?”

Related Posts

使用LSTM在Python中预测未来值

这段代码可以预测指定股票的当前日期之前的值,但不能预测…

如何在gensim的word2vec模型中查找双词组的相似性

我有一个word2vec模型,假设我使用的是googl…

dask_xgboost.predict 可以工作但无法显示 – 数据必须是一维的

我试图使用 XGBoost 创建模型。 看起来我成功地…

ML Tuning – Cross Validation in Spark

我在https://spark.apache.org/…

如何在React JS中使用fetch从REST API获取预测

我正在开发一个应用程序,其中Flask REST AP…

如何分析ML.NET中多类分类预测得分数组?

我在ML.NET中创建了一个多类分类项目。该项目可以对…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注