GrammarGuru / src /models /inferencePaper.py
lewispons's picture
Initial Setup
2d4243e
raw
history blame
2.03 kB
"""
This script contains the logic for streamlit to generate inferences.
Example:
python3 ./src/models/paperRecommender.py --modelsize GrammarGuru
"""
import argparse
from random import choice
from utils.constants import user_requests_tests, TEST_INPUTS
from utils.mlutilities import get_recomendations_metadata,load_arxiv_parquet, load_model, load_dict, load_sparse_matrix
import time
args = parser.parse_args()
query = args.query
model_name = args.modelname
n = args.n
if args.query is None:
query = choice(TEST_INPUTS)
if model_name is None:
raise Exception('Please Select a model name to use: ["SemanticSherlock", "LanguageLiberator", "TextualTango", "GrammarGuru"]')
start = time.time()
parent_folder = f"/Users/luis.morales/Desktop/arxiv-paper-recommender/models/{model_name}"
parquet_file = f"{parent_folder}/data/{model_name}.parquet.gzip"
dictionary = f"{parent_folder}/dictionaries/{model_name}.dict"
model = f"{parent_folder}/tdidf/{model_name}.model"
sparse_matrix = f"{parent_folder}/similarities_matrix/{model_name}"
df = load_arxiv_parquet(parquet_file)
dict_corpus = load_dict(dictionary)
similarities = load_sparse_matrix(sparse_matrix)
tfidf_model = load_model(model)
results_df = get_recomendations_metadata(query=query, df=df, n=n, dictionary=dict_corpus, index=similarities, tfidf_model=tfidf_model)
results = list(zip(
results_df['title'].to_list(),
results_df['authors'].to_list(),
results_df['categories'].to_list(),
results_df['abstract'].to_list()
)
)
for abstract in results:
print(f"User Request ---- : \n {query}")
time.sleep(0.3)
print(f"--------------------------")
print(f"Title: {abstract[0]}")
time.sleep(0.3)
print(f"Author: {abstract[1]}")
time.sleep(0.3)
print(f"Categories: {abstract[2]}\n")
time.sleep(0.3)
print(f"Abstract: {abstract[3]}\n")
print(f"--------------------------")
time.sleep(1)
end = time.time()
total_time = end - start
print(f"-------------- Execution Time: {total_time}")