aitech-eks-pub/cw/14_ekstrakcja_informacji_se...

4.4 KiB

Logo 1

Ekstrakcja informacji

14. Ekstrakcja informacji seq2seq [ćwiczenia]

Jakub Pokrywka (2021)

Logo 2

  1. zainstaluj faiss i zrób tutorial: https://github.com/facebookresearch/faiss
  2. wczytaj treści artykułów z BBC News Train.csv
  3. Użyj któregoś z transformerów (możesz użyć biblioteki sentence-transformers) do stworzenia embeddingów dokumentów
  4. wczytaj embeddingi do bazy danych faiss
  5. 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]