3

我的目标是从一组包含该领域知识的文档中构建一个封闭的领域问答系统。我浏览了一堆使用循环神经网络(主要是 LSTM)实现这样一个系统的研究论文。所有这些论文都有问答对格式的训练数据,而我的问题不是这种情况。此外,从我的文档语料库生成 QA 对也不可行。

是否有任何研究论文或我可以遵循的任何方法来实现这一目标?(最好使用 LSTM 或任何神经网络,因为它们往往会给出更好的结果。如果没有,任何其他方法也应该这样做。)

4

4 回答 4

1

我首先尝试使用 lucene(比如使用 elasticsearch)。它很容易实现,尤其是在封闭域中。首先,您收集解释您的领域的文档(就像一行中的一个句子)并使用 elasticsearch 对其进行索引,并从您最喜欢的语言中查询它。许多论文(例如this)表明,对于快速简单的 QA 来说,这是一种非常有竞争力的方法。

关于尝试神经网络。首先,不要被炒作所迷惑。其次,为您的示例尝试此演示。他们已经训练过的模型可能已经很适合你了。

于 2017-09-14T21:31:56.697 回答
0

正如@erup 所提到的,这个 cdQA python 库是我想要的解决方案。我搜索并阅读了有关该主题的任何内容,并尝试实施发现的任何内容。由于我缺乏 python 知识,我的结果很差,也因为我之前发现的内容还没有为 Tensorflow 2.0 做好准备,所以需要调整,我非常失败的任务,图书馆的作者也懒得帮忙。我需要在 TF 2.0 上使其能够由 Tensorflow 服务提供服务,这需要一组新的书面转换器,由 huggingface 制作。https://github.com/huggingface/transformers

cdQA 就是在此基础上构建的,因此它是开箱即用的完美库。不完全确定我在 python 中做什么,cdQA 让我向前迈进了一大步。他们的工具套件涵盖了所有内容,包括将您自己的数据集调整为 SQuAd 格式。至少对我来说,关于实现它的粗略解释是非常无用的,他们有 3 个真正解释一切的 colab 笔记本。我只是爱上了它。

也检查一下这篇文章

https://towardsdatascience.com/how-to-create-your-own-question-answering-system-easily-with-python-2ef8abc8eb5

试试看

PS:我刚刚回想了一下,发现一行错字cdqa_pipeline.fit_retriever(X=df)

X=df抛出一个错误,所以正确的是cdqa_pipeline.fit_retriever(df)

于 2019-10-11T09:05:51.873 回答
0

您可以查看 cdQA python 库,该库允许您使用迁移学习构建自定义封闭域问答系统:https ://github.com/cdqa-suite/cdQA

于 2019-07-01T08:35:57.287 回答
0

您可以查看Haystack库以获取大规模的封闭域问答。

于 2020-07-22T13:41:46.713 回答