five

aisuko/quora_questions

收藏
Hugging Face2024-02-12 更新2024-03-04 收录
下载链接:
https://hf-mirror.com/datasets/aisuko/quora_questions
下载链接
链接失效反馈
官方服务:
资源简介:
--- license: apache-2.0 --- # Overview Original from the sentences-transformers library. Only for researching purposes. Adapter by Aisuko # Installation ```python !pip install sentence-transformers==2.3.1 ``` # Computing Embeddings for a large set of sentences ```python import os import csv import time from sentence_transformers import SentenceTransformer from sentence_transformers.util import http_get if __name__=='__main__': url='http://qim.fs.quoracdn.net/quora_duplicate_questions.tsv' dataset_path='quora_duplicate_questions.tsv' # max_corpus_size=50000 # max number of sentences to deal with if not os.path.exists(dataset_path): http_get(url, dataset_path) # get all unique sentences from the file corpus_sentences=set() with open(dataset_path, encoding='utf8') as fIn: reader=csv.DictReader(fIn, delimiter='\t', quoting=csv.QUOTE_MINIMAL) for row in reader: corpus_sentences.add(row['question1']) corpus_sentences.add(row['question2']) # if len(corpus_sentences)>=max_corpus_size: # break corpus_sentences=list(corpus_sentences) model=SentenceTransformer('all-MiniLM-L6-v2').to('cuda') model.max_seq_length=256 pool=model.start_multi_process_pool() # computing the embeddings using the multi-process pool emb=model.encode_multi_process(corpus_sentences, pool,batch_size=128,chunk_size=1024,normalize_embeddings=True) print('Embeddings computed. Shape:', emb.shape) # optional : stop the processes in the pool model.stop_multi_process_pool(pool) ``` # Save the csv file ```python import pandas as pd corpus_embedding=pd.DataFrame(emb) corpus_embedding.to_csv('quora_questions.csv',index=False) ```

--- 许可证:Apache-2.0 --- # 概述 本数据集源自sentence-transformers库。 仅用于研究用途。 由Aisuko适配。 # 安装方法 python !pip install sentence-transformers==2.3.1 # 大规模语句嵌入向量计算 python import os import csv import time from sentence_transformers import SentenceTransformer from sentence_transformers.util import http_get if __name__=='__main__': url='http://qim.fs.quoracdn.net/quora_duplicate_questions.tsv' dataset_path='quora_duplicate_questions.tsv' # max_corpus_size=50000 # 待处理的最大语句数量 if not os.path.exists(dataset_path): http_get(url, dataset_path) # 获取文件中所有唯一语句 corpus_sentences=set() with open(dataset_path, encoding='utf8') as fIn: reader=csv.DictReader(fIn, delimiter=' ', quoting=csv.QUOTE_MINIMAL) for row in reader: corpus_sentences.add(row['question1']) corpus_sentences.add(row['question2']) # if len(corpus_sentences)>=max_corpus_size: # break corpus_sentences=list(corpus_sentences) model=SentenceTransformer('all-MiniLM-L6-v2').to('cuda') model.max_seq_length=256 pool=model.start_multi_process_pool() # 使用多进程池计算嵌入向量,设置批量大小为128、块大小为1024,并对嵌入向量进行归一化 emb=model.encode_multi_process(corpus_sentences, pool,batch_size=128,chunk_size=1024,normalize_embeddings=True) print('已完成嵌入向量计算,向量形状为:', emb.shape) # 可选:停止多进程处理池 model.stop_multi_process_pool(pool) # 保存为CSV文件 python import pandas as pd corpus_embedding=pd.DataFrame(emb) corpus_embedding.to_csv('quora_questions.csv',index=False)
提供机构:
aisuko
原始信息汇总

数据集概述

该数据集源自 sentences-transformers 库,仅用于研究目的。

安装

python !pip install sentence-transformers==2.3.1

计算大量句子的嵌入

python import os import csv import time

from sentence_transformers import SentenceTransformer from sentence_transformers.util import http_get

if name==main: url=http://qim.fs.quoracdn.net/quora_duplicate_questions.tsv dataset_path=quora_duplicate_questions.tsv

if not os.path.exists(dataset_path):
    http_get(url, dataset_path)

corpus_sentences=set()
with open(dataset_path, encoding=utf8) as fIn:
    reader=csv.DictReader(fIn, delimiter=	, quoting=csv.QUOTE_MINIMAL)
    for row in reader:
        corpus_sentences.add(row[question1])
        corpus_sentences.add(row[question2])
            
corpus_sentences=list(corpus_sentences)
model=SentenceTransformer(all-MiniLM-L6-v2).to(cuda)
model.max_seq_length=256

pool=model.start_multi_process_pool()

emb=model.encode_multi_process(corpus_sentences, pool,batch_size=128,chunk_size=1024,normalize_embeddings=True)
print(Embeddings computed. Shape:, emb.shape)

model.stop_multi_process_pool(pool)

保存CSV文件

python import pandas as pd

corpus_embedding=pd.DataFrame(emb) corpus_embedding.to_csv(quora_questions.csv,index=False)

搜集汇总
数据集介绍
main_image_url
构建方式
在自然语言处理与语义匹配的研究领域中,高质量的问题对数据集是训练句子嵌入模型的关键资源。aisuko/quora_questions数据集源自知名的Quora重复问题检测任务,经由sentence-transformers库进行适配与重构。构建过程中,首先从Quora官方提供的TSV文件中提取所有唯一的问题文本,通过去除重复项确保数据集的纯净性。随后,利用预训练的all-MiniLM-L6-v2模型,在GPU环境下以多进程池方式高效计算每个句子的嵌入向量,设置最大序列长度为256,并启用归一化处理,最终将生成的嵌入结果保存为CSV格式,便于后续研究与分析。
特点
该数据集的核心特点在于其专注于句子级别的语义表示,而非原始文本分类。所有问题均经过去重处理,确保了嵌入空间的唯一性与代表性。采用轻量级且高效的all-MiniLM-L6-v2模型进行编码,在保持良好性能的同时降低了计算资源需求。多进程池的并行计算策略显著提升了大规模嵌入生成的速度,而嵌入向量的归一化则增强了后续相似度计算的稳定性与可比性。数据集以简洁的CSV格式存储,无额外标签,纯粹服务于句子嵌入的检索与聚类任务。
使用方法
使用该数据集时,首先需要通过pip安装sentence-transformers库(版本2.3.1)。用户可直接加载预生成的CSV嵌入文件,或按照构建流程自行从原始TSV文件重新计算嵌入。在应用层面,可将这些嵌入向量用于语义相似度计算、近邻搜索或下游分类任务的输入特征。由于嵌入已归一化,推荐使用余弦相似度进行度量。数据集适用于研究目的的句子嵌入评估,也可作为大规模语义索引的基座,支持快速原型开发与对比实验。
背景与挑战
背景概述
在自然语言处理领域,语义相似度计算与重复问题检测一直是信息检索和问答系统研究的核心议题。Quora作为全球知名的知识共享平台,其用户生成的数亿级问题对中蕴含着大量语义等价但表述迥异的重复内容。为此,研究人员依托Quora官方发布的公开数据集,于2017年前后由Sentence-Transformers团队主导构建了Quora问题对数据集。该数据集聚焦于判别两个问题是否语义重复的核心任务,涵盖逾40万条标注样本,为训练和评估语义嵌入模型提供了标准化基准。其影响力深远,不仅推动了孪生网络与对比学习在文本匹配中的应用,更成为衡量句向量表征质量的关键测试床。
当前挑战
当前该数据集面临多重挑战。其一,领域问题层面,重复问题检测需克服语义歧义与表达多样性——同一意图的问题可能采用截然不同的词汇与句式,而细微的措辞差异又可能导致语义反转,这对模型的泛化能力构成严峻考验。其二,构建过程中,原始数据源自Quora用户提交的未经过滤问题,存在噪声标签与不平衡分布,例如部分高频问题对占据主导而长尾问题对标注稀疏。此外,数据集的规模虽大但仍无法覆盖所有真实场景下的问题变体,导致模型在开放域中的鲁棒性不足。这些挑战共同制约着语义匹配技术的实际部署效果。
常用场景
经典使用场景
在自然语言处理领域,语义相似度计算与文本匹配任务一直是学术研究的核心议题。aisuko/quora_questions数据集源自Quora平台的海量用户提问对,其经典使用场景在于为句向量模型提供训练与评估基准。研究者常借助该数据集,利用Sentence-BERT等预训练模型对问题对进行编码,通过对比学习或余弦相似度计算,精准度量两段文本间的语义关联性。该数据集以其大规模、高质量的问题对标注,成为验证双塔架构、交叉编码器等模型在语义匹配任务上性能的黄金标准,推动了文本表征学习技术的持续演进。
衍生相关工作
该数据集衍生了一系列影响深远的经典研究工作,其中最具代表性的是Sentence-BERT(SBERT)模型的提出。SBERT利用该数据集对双塔网络进行微调,实现了高效且高质量的句向量生成,开创了语义匹配任务的新范式。此外,基于该数据集还涌现出如InferSent、Universal Sentence Encoder等预训练句编码器的评测基准,以及面向跨语言语义匹配的扩展研究。这些工作不仅深化了学术界对句子嵌入空间的理解,也催生了大量开源工具与工业级解决方案,持续推动着自然语言处理技术向更精细、更鲁棒的语义理解方向迈进。
数据集最近研究
最新研究方向
在自然语言处理领域,语义匹配与相似度计算一直是核心挑战之一,而Quora Questions数据集因其聚焦于真实用户提问的重复性检测,成为评估句子嵌入模型性能的经典基准。当前前沿研究更倾向于利用该数据集探索大规模语义向量的高效生成与多进程加速技术,例如通过Sentence-Transformers库结合all-MiniLM-L6-v2轻量级模型,在保持精度的同时显著提升推理速度。这一方向与热点事件如智能客服系统的精准问答匹配、搜索引擎的语义去重紧密相关,推动了从传统文本特征工程向深度语义表达范式的转变。该数据集的持续应用不仅验证了对比学习在句子表示中的有效性,还催生了面向低资源场景的分布式编码方案,对构建可扩展的实时语义检索系统具有重要实践意义。
以上内容由遇见数据集搜集并总结生成
二维码
社区交流群
二维码
科研交流群
商业服务