【问题标题】:Building a closed domain QA system using LSTM使用 LSTM 构建封闭域 QA 系统
【发布时间】:2017-06-14 05:48:19
【问题描述】:

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

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

【问题讨论】:

    标签: deep-learning lstm recurrent-neural-network question-answering


    【解决方案1】:

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

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

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        【解决方案3】:

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

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

        也可以看看这篇文章

        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)

        【讨论】:

          【解决方案4】:

          您可以查看 Haystack 库,了解大规模的封闭域问答。

          【讨论】:

            猜你喜欢
            • 2012-09-24
            • 2010-11-19
            • 1970-01-01
            • 2021-03-14
            • 1970-01-01
            • 1970-01-01
            • 2015-05-27
            • 2010-11-10
            • 1970-01-01
            相关资源
            最近更新 更多