Example #1
0
def find_negative_item(user_id):

    db_handler = DBHandler()

    all_items = db_handler.get_all_items()
    items_ids = [item.id for item in all_items]

    interacted_items = db_handler.get_interactions_by_id(user_id=user_id)
    interacted_items_id = [item.item_id for item in interacted_items]
    not_interacted_items_id = list(set(items_ids) - set(interacted_items_id))
    not_interacted_items = db_handler.get_items_by_ids(not_interacted_items_id)

    if not_interacted_items is None:
        return None
    else:
        not_interacted_item = np.random.choice(not_interacted_items)
        return not_interacted_item