标签: nlp-question-answering

我如何处理这个数据集来创建 datasetDict?

我正在尝试构建一个 datasetDictionary 对象来在 PyTorch 上训练 QA 模型。我有这两个不同的数据集:

test_dataset

Dataset({
    features: ['answer_text', 'answer_start', 'title', 'context', 'question', 'answers', 'id'],
    num_rows: 21489
})
Run Code Online (Sandbox Code Playgroud)

train_dataset

Dataset({
    features: ['answer_text', 'answer_start', 'title', 'context', 'question', 'answers', 'id'],
    num_rows: 54159
})
Run Code Online (Sandbox Code Playgroud)

在数据集的文档中我没有找到任何内容。我是个菜鸟,因此解决方案可能非常简单。我希望获得的是这样的:

dataset

DatasetDict({
    train: Dataset({
        features: ['answer_text', 'answer_start', 'title', 'context', 'question', 'answers', 'id'],
        num_rows: 54159
    })
    test: Dataset({
        features: ['answer_text', 'answer_start', 'title', 'context', 'question', 'answers', 'id'],
        num_rows: 21489
    })
})
Run Code Online (Sandbox Code Playgroud)

我真的不知道如何使用两个数据集来创建 dataserDict 或如何设置键。此外,我希望将训练集“切割”为两部分:训练集和验证集,但这段话对我来说很难处理。最终结果应该是这样的:

dataset

DatasetDict({
    train: Dataset({
        features: ['answer_text', 'answer_start', 'title', 'context', 'question', 'answers', …
Run Code Online (Sandbox Code Playgroud)

python dataset nlp-question-answering deep-learning pytorch

17
推荐指数
2
解决办法
2万
查看次数

是否有可以直接回答的搜索引擎?

我一直想知道这一段时间,我不明白为什么谷歌还没有尝试过 - 或许他们有,我只是不知道它.

是否有一个搜索引擎,你可以输入一个问题,然后给你一个答案,而不是一个结果列表,然后你必须自己搜索,找到你想知道的东西?

例如,这就是我设计系统的方式:

用户的意见:"你去哪里试镜?"

系统输出:"配镜师.确定性:95%"

这将计算如下:

  1. 输入从自然语言解析为简单的搜索字符串,在这种情况下可能类似于"眼睛测试".术语"你去哪里"也将由系统解释并在比较结果时使用.
  2. 搜索字符串将被输入搜索引擎.
  3. 然后,系统将比较结果的内容,以找到匹配的单词或短语,记录问题的内容(即什么,何地,谁,如何等)
  4. 一旦确定了合适的答案,系统就会将其显示给用户,同时测量答案是否正确.

由于互联网的分散性,正确的答案可能会出现多次,特别是对于简单的问题.对于这个特定的例子,系统认识到这个词在结果中不断出现并且几乎肯定是搜索的答案并不太难.

对于更复杂的问题,将显示较低的确定性,并且可能具有不同确定性水平的多个结果.用户还将有机会查看系统计算结果的来源.

该系统的重点在于它简化了搜索.很多时候,当我们使用搜索引擎时,我们只是在寻找一些非常简单或微不足道的东西.返回一长串结果似乎不是回答问题的最有效方式,即使答案几乎肯定隐藏在这些结果中.

只需查看上述问题的Google搜索结果,就可以看到我的观点:http: //www.google.co.uk/webhp?sourceid = chrome-instant&ie = UTF-8& 1&nord = 1#sclient = psy&hl = en&safe =关闭&诺德= 1&站点= webhp&源=马力&q =其中%20do%20you%20go%20to%20get%20your%20eyes%20tested%3F&水溶液=&AQI =&AQL =&OQ =&PBX = 1&FP = 72566eb257565894&FP = 72566eb257565894&离子= 1

给出的结果不会立即回答问题 - 用户需要在找到他们真正想要的答案之前对其进行搜索.搜索引擎是很棒的目录.他们非常善于为您提供有关某个主题的更多信息,或者告诉您在哪里可以找到某项服务,但他们并不善于回答直接问题.

在创建系统时,有许多方面需要考虑 - 例如,在计算结果时必须考虑网站的准确性.

虽然系统应该能够很好地处理简单的问题,但要使其适用于更复杂的问题可能是一项非常重要的任务.例如,常见的误解需要作为一种特殊情况来处理.如果系统发现用户的问题有一个共同的误解作为答案的证据,它应该在提供答案时指出这一点,或者甚至简单地忽略最常见的答案,而不是支持网站提供的指出它的答案.是一种常见的误解.通过比较冲突源的准确性和质量,这一切都必须加以衡量.

这是一个有趣的问题,涉及大量研究,但肯定值得花时间和精力吗?它并不总是正确的,但它可以使用户更快地进行简单的查询.

search nlp information-retrieval search-engine nlp-question-answering

10
推荐指数
1
解决办法
5541
查看次数

从依赖树中提取(主题,谓词,对象)

我有兴趣从问题中提取三元组(主语,谓语,宾语).

例如,我想转换以下问题:

谁是美国总统的妻子?

至 :

(x,isWifeOf,y)∧(y,isPresidentof,USA)

x和y是我们必须找到的unknows才能回答问题(/ \表示连接).

我已经阅读了很多关于这个主题的论文,我想使用现有的解析器(如Stanford解析器)来执行此任务.我知道解析器输出2种类型的数据:

  • 解析结构树(选区关系)
  • 依赖树(依赖关系)

一些论文试图从解析结构树中构建三元组(例如,从句子中提取三重提取),但是这种方法似乎太弱而无法处理复杂的问题.

另一方面,依赖树包含许多相关信息以执行三次提取.很多论文声称这样做,但是我没有找到任何明确给出详细程序或算法的论文.大多数时候,作者说他们根据他们没有给出的一些规则来分析产生三元组的依赖关系.

有没有人知道任何有关从问题的依赖树中提取(主题,谓词,对象)的更多信息的论文?

rdf nlp stanford-nlp nlp-question-answering dependency-parsing

10
推荐指数
1
解决办法
1513
查看次数

自然语言理解API

我不知道目前是否存在这样的API或服务所以这是一个模糊的问题,我很抱歉.

我有一个与Freebase一起使用的PHP脚本,我想知道我是否可以启用它,以便用户可以在我的网站上提出一个问题,该问题将使用自然语言处理解构,查询Freebase API然后返回答案.

有没有人知道这样一个与Freebase一起使用的现有工具?

如果没有,有没有人知道任何伟大的自然语言理解API,能够删除一个问题,"how tall is mount everest?"并告诉我的脚本查询"height"Freebase上的mount珠穆朗玛峰文章?

php nlp freebase artificial-intelligence nlp-question-answering

7
推荐指数
1
解决办法
1631
查看次数

将自然英语翻译成 Gremlin 图遍历语言

我正在研究如何将用户的简单英语输入翻译成图遍历语言,尤其是 Gremlin。但是,我找不到与此相关的任何研究论文或源代码。有人可以给我提供一些研究论文或开源代码来帮助我获得一些线索吗?

我想做的一个例子:

用户输入:

显示当前超过3次锁定超时涉及的表

翻译成:

filter(hasLabel('Table').in('反对').hasLabel('Column').count().is(gt(3))

python graph-traversal gremlin nlp-question-answering

7
推荐指数
0
解决办法
431
查看次数

BERT 问答中长文本的滑动窗口

我读过解释滑动窗口如何工作的帖子,但我找不到任何有关其实际实现方式的信息。

\n

据我了解,如果输入太长,可以使用滑动窗口来处理文本。

\n

如果我错了,请纠正我。\n假设我有一段文字“2017 年 6 月 Kaggle 宣布注册用户突破 100 万”

\n

给定一些stridemax_len,输入可以被分割成具有重叠单词的块(不考虑填充)。

\n
In June 2017 Kaggle announced that # chunk 1\nannounced that it passed 1 million # chunk 2\n1 million registered users # chunk 3\n
Run Code Online (Sandbox Code Playgroud)\n

如果我的问题是“Kaggle 何时发布公告”“有多少注册用户”,我可以在模型中使用chunk 1根本chunk 3使用。 不确定我是否仍应该使用它来训练模型chunk 2 chunk 2

\n

所以输入将是:\n [CLS]when did Kaggle make the announcement[SEP]In June 2017 Kaggle announced that[SEP]\n和\n[CLS]how many …

nlp text-classification nlp-question-answering bert-language-model huggingface-transformers

6
推荐指数
1
解决办法
7731
查看次数

Huggingface Transformer 模型返回字符串而不是 logits

我正在尝试从 Huggingface 网站运行此示例。https://huggingface.co/transformers/task_summary.html。似乎模型返回了两个字符串而不是 logits!这导致了 torch.argmax() 抛出的错误

    from transformers import AutoTokenizer, AutoModelForQuestionAnswering
    import torch
    
    tokenizer = AutoTokenizer.from_pretrained("bert-large-uncased-whole-word-masking-finetuned-squad")
    
    model = AutoModelForQuestionAnswering.from_pretrained("bert-large-uncased-whole-word-masking-finetuned-squad", return_dict=True)
    
    text = r""" Transformers (formerly known as pytorch-transformers and pytorch-pretrained-bert) provides general-purpose
    architectures (BERT, GPT-2, RoBERTa, XLM, DistilBert, XLNet…) for Natural Language Understanding (NLU) and Natural
    Language Generation (NLG) with over 32+ pretrained models in 100+ languages and deep interoperability between
    TensorFlow 2.0 and PyTorch.
    """
    
    questions = ["How many pretrained models are available in  Transformers?",
    "What does …
Run Code Online (Sandbox Code Playgroud)

nlp-question-answering huggingface-transformers

6
推荐指数
1
解决办法
2810
查看次数

如何实现知识图

我期待实现使用知识图的类似google直接答案的东西,我可以阅读任何有用的资源吗?还可以在哪里找到数据呢?

提前致谢

nlp semantic-web nlp-question-answering

5
推荐指数
1
解决办法
1898
查看次数

在QA系统中训练具有不同长度句子的神经网络

我试图实现以下的说明显示对这样的质量保证体系文件.我已经正确导入了一些数据集,并使用word2vec方法转换了向量中的单词.在嵌入一词之后,需要在CNN中插入问题和答案.考虑到每个问题/答案的长度不同,输入Tensor的大小应该是多少?(每个问题/答案都是一组向量).

论文摘录:

在此输入图像描述

q_emb是单词嵌入后的问题,r_w_k是长度为d的单词向量.

哪个是应该使用的M(Q/A的长度)的正确值?你能告诉我一些方法来解决这个问题或者只是给我一些帮助吗?谢谢

neural-network nlp-question-answering word2vec

5
推荐指数
1
解决办法
147
查看次数

“debug = require('debug')('api:server')”是什么意思

我正在阅读一个项目的一些代码来学习node.js,然后我发现了这一行(debug = require('debug')('api:server')),它被括在括号中。由于我是编程新手,当我不知道某件事时,我只是在网上搜索,但我找不到这个问题的答案。如果您要告诉我更积极地在网络上进行搜索,请也告诉我如何进行

javascript node.js node-modules nlp-question-answering

5
推荐指数
1
解决办法
3029
查看次数