感谢上面大佬的视频,比我想象的复杂多了,不是单纯一个算法可以解决的了。
1.提取词库中有的关键字,并组成样本
2.对样本进行分析,提取样本的事件以及语句的情感。
3.寻找回复,并根据上述的不同,提供略微不同的回复。
说是很简单,层层提取重要信息,并抽象化,但实际操作起来并不会有这么简单,还有很多细节性的东西没有披露。
-------------------------------修改线--------------------------------------------
Owen Tsai 说的很对,我来提提可能使用到的算法:
1. 最经典的莫过于朴素贝叶斯分类器(Naive Bayes classifier),常用于垃圾邮件分类,这里也可以用。
将词库对应每个可以回答的句型赋予权值,譬如:单词,“天气”,对于“今天是个好天气”这回答,权值为5,;但对于“啥玩意”这回答,权值为1。
将用户的输入与赋予权值并对比,找出概率最大的那个回答。
2. 决策树
将用户输入与词库进行对比,将用户的输入转换成 01 形式,0代表词未出现,1代表词出现,根据训练好的决策树进行对比。
3. KNN分类算法
同决策树,将用户输入转化成一维的形式,矩阵算法找最邻近匹配。
其余的SVM,CNN什么的,不是不可能,而是太麻烦。
另外,以上均为猜测。