Как выполнить моделирование topi c для текста в базе данных SQLite - PullRequest
0 голосов
/ 26 апреля 2020

Я работаю над веб-сайтом, который выполняет топи c моделирование для ввода текста пользователем. В настоящее время мой код читает текст из текстового файла.

Это код, который у меня сейчас есть:

@app.route('/topicmodelling', methods=['POST', 'GET'])

def topicmodelling():
    st = RSLPStemmer()
    texts = []

    file2 = open('C:/Users/anjal/Desktop/Final Year Project ITX3999/extracted datasets/test1.txt', 'r', encoding="utf8")

    for i in file2:
        tokens = word_tokenize(i.lower())
        stopped_tokens = [w for w in tokens if not w in stopwords.words('english')]
        stemmed_tokens = [st.stem(i) for i in stopped_tokens]
        texts.append(stemmed_tokens)

    dictionary = corpora.Dictionary(texts)
    corpus = [dictionary.doc2bow(text) for text in texts]

    # generate LDA model using gensim
    ldamodel = gensim.models.ldamodel.LdaModel(corpus, num_topics=5, id2word=dictionary, passes=20)
    displayresult=ldamodel.print_topics(num_topics=5, num_words=4)

    return render_template('topicmodelling.html',displayresult=displayresult)

Я хочу преобразовать этот код, чтобы он читал текст, который находится в моей базе данных, и выполнял на нем топи c моделирование. .

Это схема моей таблицы SQLite, из которой я хочу взять текст для моделирования topi c.

CREATE TABLE text (tID INTEGER PRIMARY KEY AUTOINCREMENT, inptext varchar (10000));

Я уже кодировал функции, которые позволяют пользователям вводить текст с помощью текстового поля. Код показан ниже:

def inputtext(inptext):
    params = {'inptext':inptext}
    connection = s.connect(DB_FILE)
    cursor = connection.cursor()
    cursor.execute("insert into text(inptext) VALUES(:inptext)", params)
    connection.commit()
    cursor.close()

def getText(inptext):
    return inptext

@app.route('/inputtext', methods=['POST','GET'])
def input():
    if (request.method == 'POST'):
        inptext = request.form['inptext']
        getText(request.form['inptext'])
        inputtext(request.form['inptext'])
        return render_template('inputtext.html', msg2="Topic Modelling completed. SEE RESULTS")
    else:
        return render_template('inputtext.html')

Все, что я хочу сделать, это изменить часть файла в функции topicmodelling, чтобы он брал значения из таблицы в моей базе данных.

Пожалуйста, скажите мне как будет выглядеть код

...