如何将 scikit-learn 用于问答聊天机器人

How to use scikit-learn for Q&A chatbot

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

我想知道如何创建我自己的模型,就像我们可以在很多针对新手的 ML 示例中找到的 iris 模型,但有我的问答集。例如,我可以使用 table 来引用问题的类别、长度、关键字数量、哪些关键字等,但我不知道该怎么做。然后,我不确定使用哪种算法(我想到了 KNN),但更重要的是如何训练模型,然后将其用于用户输入的问题。

谢谢大家

要创建聊天机器人而不是 ML,您可以使用深度学习。
创建聊天机器人的方法之一是使用 Tensorflow sequence to sequence model。 为此,您需要有一个包含超过 100000 对问题的数据集,并且 ans.The 训练数据基本上是往返数据。
你基本上训练你的网络来给出答案。 使用原始 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 文件。更改数据集放入您自己的数据集。
如果你想制作一个聊天机器人,你可以参考这个link:
Video Link

请告诉我它是否有效:)