Python 3.x 使用Spacy创建FAQ机器人的过程是什么?

Python 3.x 使用Spacy创建FAQ机器人的过程是什么?,python-3.x,machine-learning,nlp,chatbot,ner,Python 3.x,Machine Learning,Nlp,Chatbot,Ner,我是机器学习和NLP的初学者,我必须基于FAQ数据集创建一个机器人,每个FAQ数据集excel文件包含两列“问题”及其“答案” excel文件中的记录(问题和答案) 问题-什么是RASA-NLU? 回答-Rasa NLU经过培训,能够识别意图和实体。更好的培训,更好的识别… 我们有3K+个excel文件,每个excel大约有10K到20K个这样的记录 为了实现bot,我会严格遵循使用RASA-NLU,但是RASA,Chatterbot以及Microsoft的QnA maker在我的组织中是不允许

我是机器学习和NLP的初学者,我必须基于FAQ数据集创建一个机器人,每个FAQ数据集excel文件包含两列“问题”及其“答案”

excel文件中的记录(问题和答案)

问题-
什么是RASA-NLU?

回答-
Rasa NLU经过培训,能够识别意图和实体。更好的培训,更好的识别…

我们有3K+个excel文件,每个excel大约有10K到20K个这样的记录

为了实现bot,我会严格遵循使用
RASA-NLU
,但是
RASA
Chatterbot
以及Microsoft的
QnA maker
在我的组织中是不允许的

而且
Spacy
对我来说
NER提取非常完美,因此我正在寻找使用Spacy创建机器人。但我不知道在提取实体后如何进一步进行。(IMHO,我必须从数据集(以及从
知识库
得到的答案)预测从用户查询到机器人的确切问题)


我不知道要使用什么NLP算法/ML过程,或者是否有任何最简单的方法可以使用提取的NER创建FAQ机器人。

实现FAQ机器人的一种方法是将问题转化为分类问题。你有问题,答案可以是“标签”。我想你总是有多个训练问题对应于同一个答案。您可以对每个答案进行编码,以获得更小的标签(例如,您可以将答案的文本映射到id)。 然后,您可以使用您的培训数据(问题)和标签(编码的答案),并为分类器提供信息。训练后,分类器可以预测未知问题的标签。 当然,这是一种有监督的方法,因此您需要从训练句子(问题)中提取特征。在这种情况下,您可以使用单词表示包作为功能,甚至包括命名实体。
这里提供了如何在spacy中进行文本分类的示例:

实现FAQ机器人的一种方法是将问题转化为分类问题。你有问题,答案可以是“标签”。我想你总是有多个训练问题对应于同一个答案。您可以对每个答案进行编码,以获得更小的标签(例如,您可以将答案的文本映射到id)。 然后,您可以使用您的培训数据(问题)和标签(编码的答案),并为分类器提供信息。训练后,分类器可以预测未知问题的标签。 当然,这是一种有监督的方法,因此您需要从训练句子(问题)中提取特征。在这种情况下,您可以使用单词表示包作为功能,甚至包括命名实体。
这里提供了一个如何在spacy中进行文本分类的示例:

感谢您的回答,但您的假设是不正确的。基本上,每个问题都有一个唯一的答案…所以我认为给答案加上标签对我来说不起作用。有没有办法直接对问题进行分类?你可以做的另一件事是测量输入用户问题和数据集中所有问题之间的相似性。然后取最相似的一个并返回它的答案。。。非常感谢你的回答,但是你的假设是不对的。基本上,每个问题都有一个唯一的答案…所以我认为给答案加上标签对我来说不起作用。有没有办法直接对问题进行分类?你可以做的另一件事是测量输入用户问题和数据集中所有问题之间的相似性。然后取最相似的一个并返回它的答案。。。非常感谢你。