sumy
Add Arabic language support
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
善良な魂のおかげで、sumy を試す最も簡単な方法はブラウザで https://huggingface.co/spaces/issam9/sumy_space にアクセスすることです。
Sumy には、ドキュメントを素早く要約するためのコマンド ライン ユーティリティが含まれています。
$ 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 )
インターネットを閲覧しているときにいくつかの興味深いプロジェクトを見つけたり、時々人々が私に質問のメールを送ってきたりしましたが、彼らが sumy をどのように使用しているのか興味がありました :)