19 个回答
理论上主要涉及到的知识有
自然语言处理 (词性标注POS,命名实体识别NER,关系依存树dependency tree,信息抽取information extraction等)
机器学习 (分类算法,凸优化,矩阵分解)
进一步,可能会涉及到一些 深度学习 的知识,如长短时记忆网络LSTM,卷积神经网络CNN,记忆网络,动态记忆网络,注意力机制和各种神经网络的优化方法(dropout、batch normalization、weight decay、gradient clip等)和各种训练算法(学习率自适应,冲量momentum等)。
更进一步,可能还会涉及一些深度增强学习和迁移学习的知识,当然这个就属于比较前沿的东西了,还没有成熟的方法,这里不再展开。
实际编程中可能会涉及到一些 大数据处理 和 访问数据库 的知识。
如果题主想要构建基于知识库的问答系统,可以看看我的文章,我对知识库问答系统的几种方法做了介绍。