虽然实际的“最佳系统”在很大程度上取决于包括您的目标和资源在内的许多因素,但可以讨论每个系统的一些一般优缺点。
1. 基于 IR 的方法:信息检索方法允许算法有效地利用我们可能称之为“显性知识”或硬编码的事实。当查询的答案已经以某种形式存在并且算法只需要在一组所有其他可能的答案中找到这个答案时,它们就可以很好地工作。这样的系统通常依赖于可能的答案或事实的明确数据集,或者通过将网络视为这样的数据集并以某种方式对其进行查询。当无法从抽象原理中得出答案时,IR 系统通常是唯一合理的选择。例如,如果我们构建了一个系统来回答有关电影明星的琐事问题,我们将需要明确了解哪些特征与哪些电影明星相关联(即布拉德皮特有一头棕色的头发并出演了搏击俱乐部.) 在没有已经存在的知识的情况下,任何机器学习算法都不能产生这种情况(尽管可以访问这些知识的机器学习系统可以作为有效的信息检索系统。)由于数据相对于算法的外部性质, IR 系统往往对大型且快速变化的数据集非常有效,否则将需要重新训练机器学习模型或手动重新配置本体来处理。还值得注意的是,更复杂的信息检索系统可能包括其他系统,例如 NLP 引擎,用于将数据(例如自然语言文本)翻译成 IR 系统可用的形式。
2. 基于本体的方法:本体方法的实现时间最长,通常也是最挑剔的。它们需要对域的结构化表示进行迭代假设,测试表示,并根据发现的缺陷修改表示。对于具有许多可能的意外事件的复杂现实世界领域,此过程可能需要很长时间并且非常令人沮丧。因为一切都是硬编码的,与机器学习和 IR 对应的系统相比,即使是最好的基于本体的系统也显示出一定程度的不灵活。但是,当您无法访问用于信息检索或机器学习训练的数据集时,本体可能是有效的,因为领域知识是手动硬编码到本体系统中的。
3. 基于机器学习的方法:随着机器学习方法从数据中提取模式,它们对于复杂领域中存在的细微之处相对稳健,这些细节并未明确构建到算法、模型或本体中。当需要对给定输入(或您的情况下的查询)属于哪个“类”或类别进行预测时,或者需要从数据中产生定量预测时,它们的效果最好。例如,如果我有大量的动物图片,上面标有这些图像中存在的动物类型,我可以训练一个机器学习模型来预测未来图像中存在哪种动物类型,只要该模型已经看到了足够多的图片它可以提取图像中与可能代表狮子或老虎或熊等的图像相对应的图案。这是因为图像本身有一些属性可以预测它所代表的动物,并且可以从标记数据中提取这些模式(还有机器学习算法可以在未标记数据中挑选出模式,称为无监督算法,但这些与您无关感兴趣的领域。)传统上,机器学习系统在建模领域相对较差,其中答案不依赖于识别模式,而是像上面的电影明星示例中那样能够访问知识。机器学习系统也很棒,因为它们需要相对较少的人力来实施。正如您所提到的,它们还需要访问数据集,根据域的复杂性,该数据集可能需要非常大。
我们可以根据几个标准对这些方法进行排名,大致总结出优缺点:

所有最好的系统(例如:IBM Watson)都使用混合方法,利用每种方法的相对优势,并用其他方法来解决它们的弱点。根据您想要的性能,一个 QA 系统可以由具有上述任何知识的一个人构建,或者可能需要一个 100 人以上的工程师团队。