Ejemplo n.º 1
0
def tfidfs():
    """Calcule le TF-IDF de tous les livres de la base"""
    # Récupération de la liste des id_book de la base
    id_books = db.get_id_books()
    # Nombre de livres dans la base
    nb_books = len(id_books)
    # Récupération, pour chaque mot, du nombre de livres où chaque mot apparaît
    occ_in_books = db.dic_idword_nbbooks()
    # Construction d'un dictionnaire des IDF de la base de données
    dic_idf = st.dic_idf(nb_books, occ_in_books)
    # Construction d'un dictionnaire associant son TF-IDF à chaque id_book
    tfidfs = {}
    for id_book in id_books:
        dic_tf = db.dic_tf_book(id_book)
        tfidf = []
        for idword in dic_idf:
            tfidf.append(float(dic_tf.get(idword, 0)) * float(dic_idf[idword]))
        tfidfs[id_book] = tfidf
        # print("TFIDF du livre " + str(id_book) + " calculé")
    return tfidfs