Простая библиотека и утилита командной строки для извлечения сводки из HTML-страниц или обычного текста. Пакет также содержит простую структуру оценки текстовых резюме. Реализованные методы суммирования описаны в документации. Я также веду список альтернативных реализаций сумматоров на различных языках программирования.
Есть хороший шанс, что это так. Но если нет, то добавить его не так уж и сложно.
Убедитесь, что у вас установлены Python 3.6+ и pip (Windows, Linux). Запустите просто (предпочтительный способ):
$ [sudo] pip install sumy
$ [sudo] pip install git+git://github.com/miso-belica/sumy.git # for the fresh version
Спасибо добрым людям, самый простой способ попробовать сумы — это https://huggingface.co/spaces/issam9/sumy_space в вашем браузере.
Сумы содержат утилиту командной строки для быстрого обобщения документов.
$ 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
Различные методы оценки для некоторого метода суммирования могут быть выполнены с помощью команд ниже:
$ 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
Если не хотите заморачиваться с установкой, можете попробовать в качестве контейнера.
$ docker run --rm misobelica/sumy lex-rank --length=10 --url=https://en.wikipedia.org/wiki/Automatic_summarization
Или вы можете использовать sumy как библиотеку в своем проекте. Создайте файл sumy_example.py
(не называйте его sumy.py
) с приведенным ниже кодом, чтобы проверить его.
# -*- 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 )
Просматривая Интернет, я нашел несколько интересных проектов, а иногда люди писали мне по электронной почте с вопросами, и мне было любопытно, как они используют сумы :)