Автоматическое суммирование возвращает только первое предложение - Python / Flask - PullRequest
0 голосов
/ 18 октября 2018

Попытка создать сайт, который использует несколько алгоритмов для автоматического суммирования статей.Столкнувшись с проблемой, когда из выбора берется только первое предложение, приветствуется любая помощь.

Я использую библиотеку sumy, являющуюся библиотекой суммирования, и использую колбу и HTML / CSS для вывода автоматических суммирований изалгоритм.Помимо LSA, единственный вывод, который выходит, - это первое предложение, заставляющее меня думать, что это как-то связано с моей переменной "para".Я создал его, потому что он добавляет строки для создания полных абзацев, но я уверен, что есть более простой способ сделать это.

   @app.route('/dependent', methods = ['POST'])
def mySumD():
if request.form['action'] == 'LSA':
    para = ""
    url = request.form['url_link']
    parser = HtmlParser.from_url(url, Tokenizer(LANGUAGE))
    stemmer = Stemmer(LANGUAGE)
    summarizer = Summarizer(stemmer)
    summarizer.stop_words = get_stop_words(LANGUAGE)

    for sentence in summarizer(parser.document, SENTENCES_COUNT):
        data = str(sentence)
        para += data 
    return render_template('dependent.html', para = para)

elif request.form['action'] == 'Luhn':
    para = ""
    url = request.form['url_link']
    parser = HtmlParser.from_url(url, Tokenizer(LANGUAGE))
    stemmer = Stemmer(LANGUAGE)
    summarizer = LuhnSummarizer(stemmer)
    summarizer.stop_words = get_stop_words(LANGUAGE)

    for sentence in summarizer(parser.document, SENTENCES_COUNT):
        data = str(sentence)
        para += data 
        return render_template('dependent.html', para = para)

elif request.form['action'] == 'LexRank':
    para = ""
    url = request.form['url_link']
    parser = HtmlParser.from_url(url, Tokenizer(LANGUAGE))
    stemmer = Stemmer(LANGUAGE)
    summarizer = LexSummarizer(stemmer)
    summarizer.stop_words = get_stop_words(LANGUAGE)

    for sentence in summarizer(parser.document, SENTENCES_COUNT):
        data = str(sentence)
        para += data 
        return render_template('dependent.html', para = para)

<form action = "{{ url_for('mySumD') }}" method = "POST" id="urlForm" class="standard">

 <input type="url" id = "url" name="url_link" class= "form-control" placeholder="Insert URL here...">
        <div id="url_field_is_empty" class="error" style="display: none"> You must submit a valid URL</div>
  <h1>Choose Your Summarization Method</h1>
  <div class="btn-group" style="width:100%" id="subscribersoptions">
     <button style="width:20%" type ="submit" name="action" value="LSA">LSA</button>
     <button style="width:20%" type ="submit" name="action" value="Luhn">Luhn</button>
     <button style="width:20%" type ="submit" name="action" value="LexRank">Lex Rank</button>
     <button style="width:20%" type ="submit" name="action" value="TextRank">Text Rank</button>
     <button style="width:20%" type ="submit" name="action" value="SumBasic">SumBasic</button>
     <button style="width:20%" type ="submit" name="action" value="KL-Sum">KL-Sum</button>
  </div>    
  <br>
  {{para}}

</form>
...