如何使用scikit-learn进行Q& A聊天机器人

时间:2018-04-23 10:11:46

标签: python machine-learning scikit-learn chatbot

我想创建一个用于问答的聊天机器人。我有一套问题和答案。我已经有一个机器人只使用nltk和关键字识别,但它有其局限性。我想用机器学习来获得更好的聊天机器人。 我知道scikit-learn是ML最好的Python库,但我不知道如何使用它。他们网站上的所有例子都是关于数据可视化而不是实际使用。例如,this示例是"非常接近"我的意思是我们有一个数据集,想要分类。

我想要的是知道如何创建我自己的模型,就像我们可以在许多ML示例中找到的虹膜,但是使用我的Q& A套装。例如,我可以有一个表引用问题的类别,它的长度,关键字的数量,哪些等,但我不知道这样做。然后,我不确定使用哪种算法(我想到了KNN),但更重要的是如何训练模型,然后将其用于用户输入的问题。

谢谢你们。

1 个答案:

答案 0 :(得分:2)

要创建聊天机器人而不是ML,您可以使用深度学习 创建聊天机器人的方法之一是使用Tensorflow序列对模型进行排序。 为此,您需要一个包含超过100000对问题和数据集的数据集。训练数据基本上是来往于数据。
你基本上训练你的网络给Ans。 原始的seq-2-seq模型用于将英语翻译成法语 Original seq-2-seq Tensorflow

这不是一个基于统治的聊天机器人。聊天机器人有两种类型:
1)基于统治的 2)没有统治的 现代聊天机器人介于两者之间。

有关制作自己的聊天机器人的完整步骤: 请遵循以下步骤:
在您的cmd中输入:

    #This will download the retrain script Which will retrain inception_v3
    git clone --recursive https://github.com/daniel-kukiela/nmt-chatbot

    cd nmt-chatbot

    #This will install all the requirements like tensorFlow etc.
    pip install -r requirements.txt

    #This will start training your model based on your data set
    python train.py

注意:训练您的数据集需要数小时的处理时间 git存储库附带了自己的.to和.from文件。更改数据集放置您自己的数据集 如果您想制作聊天机器人,可以参考此链接:
Video Link

告诉它是否有效:)