Biblioteca simples e utilitário de linha de comando para extrair resumos de páginas HTML ou textos simples. O pacote também contém uma estrutura de avaliação simples para resumos de texto. Os métodos de resumo implementados estão descritos na documentação. Também mantenho uma lista de implementações alternativas dos resumidores em várias linguagens de programação.
Há uma boa chance de que sim. Mas se não, não é muito difícil adicioná-lo.
Certifique-se de ter Python 3.6+ e pip (Windows, Linux) instalados. Execute de forma simples (maneira preferida):
$ [sudo] pip install sumy
$ [sudo] pip install git+git://github.com/miso-belica/sumy.git # for the fresh version
Graças a alguma boa alma por aí, a maneira mais fácil de experimentar o sumy é no seu navegador em https://huggingface.co/spaces/issam9/sumy_space
Sumy contém utilitário de linha de comando para resumo rápido de documentos.
$ sumy lex-rank --length=10 --url=https://en.wikipedia.org/wiki/Automatic_summarization # what's summarization?
$ sumy lex-rank --language=uk --length=30 --url=https://uk.wikipedia.org/wiki/Україна
$ sumy luhn --language=czech --url=https://www.zdrojak.cz/clanky/automaticke-zabezpeceni/
$ sumy edmundson --language=czech --length=3% --url=https://cs.wikipedia.org/wiki/Bitva_u_Lipan
$ sumy --help # for more info
Vários métodos de avaliação para algum método de resumo podem ser executados pelos comandos abaixo:
$ sumy_eval lex-rank reference_summary.txt --url=https://en.wikipedia.org/wiki/Automatic_summarization
$ sumy_eval lsa reference_summary.txt --language=czech --url=https://www.zdrojak.cz/clanky/automaticke-zabezpeceni/
$ sumy_eval edmundson reference_summary.txt --language=czech --url=https://cs.wikipedia.org/wiki/Bitva_u_Lipan
$ sumy_eval --help # for more info
Se não quiser se preocupar com a instalação, você pode experimentá-lo como um contêiner.
$ docker run --rm misobelica/sumy lex-rank --length=10 --url=https://en.wikipedia.org/wiki/Automatic_summarization
Ou você pode usar sumy como uma biblioteca em seu projeto. Crie o arquivo sumy_example.py
(não o nomeie sumy.py
) com o código abaixo para testá-lo.
# -*- coding: utf-8 -*-
from __future__ import absolute_import
from __future__ import division , print_function , unicode_literals
from sumy . parsers . html import HtmlParser
from sumy . parsers . plaintext import PlaintextParser
from sumy . nlp . tokenizers import Tokenizer
from sumy . summarizers . lsa import LsaSummarizer as Summarizer
from sumy . nlp . stemmers import Stemmer
from sumy . utils import get_stop_words
LANGUAGE = "english"
SENTENCES_COUNT = 10
if __name__ == "__main__" :
url = "https://en.wikipedia.org/wiki/Automatic_summarization"
parser = HtmlParser . from_url ( url , Tokenizer ( LANGUAGE ))
# or for plain text files
# parser = PlaintextParser.from_file("document.txt", Tokenizer(LANGUAGE))
# parser = PlaintextParser.from_string("Check this out.", Tokenizer(LANGUAGE))
stemmer = Stemmer ( LANGUAGE )
summarizer = Summarizer ( stemmer )
summarizer . stop_words = get_stop_words ( LANGUAGE )
for sentence in summarizer ( parser . document , SENTENCES_COUNT ):
print ( sentence )
Encontrei alguns projetos interessantes enquanto navegava na internet ou às vezes pessoas me escreviam um e-mail com dúvidas, e fiquei curioso para saber como usam o sumy :)