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)
数据集概述
该数据集源自 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)




