forked from filipg/aitech-eks-pub
4.4 KiB
4.4 KiB
Ekstrakcja informacji
14. Ekstrakcja informacji seq2seq [ćwiczenia]
Jakub Pokrywka (2021)
SIMILARITY SEARCH
- zainstaluj faiss i zrób tutorial: https://github.com/facebookresearch/faiss
- wczytaj treści artykułów z BBC News Train.csv
- Użyj któregoś z transformerów (możesz użyć biblioteki sentence-transformers) do stworzenia embeddingów dokumentów
- wczytaj embeddingi do bazy danych faiss
- wyszukaj query 'consumer electronics market'
import pandas as pd
import pickle
import numpy as np
import faiss
from sklearn.metrics import ndcg_score, dcg_score, average_precision_score
!pip install sentence-transformers
from sentence_transformers import SentenceTransformer
sentences = ["Hello World", "Hallo Welt"]
model = SentenceTransformer('LaBSE')
embeddings = model.encode(sentences)
print(embeddings)
r = pd.read_csv('BBC News Train.csv')
DOCUMENTS = list(r.Text)
embeddings = model.encode(DOCUMENTS)
embeddings = model.encode(list(r.Text))
QUERY_STR = 'consumer electronics market'
query = model.encode([QUERY_STR])
index = faiss.IndexFlatL2(embeddings.shape[1])
index.add(np.ascontiguousarray(embeddings))
D, I = index.search(query, 5)
I
D
DOCUMENTS[1363]