以前書いてたやつ、とりあえず公開です。
とりあえず使ってみるには、GetSenフォームインターフェースをどうぞ
GetSenとは?
GetSenとは Get Sentence の略で、複数の文で構成される日本語の文章から、代表的な一文を機械的に取り出すためのひとつの実装です。
GetSenの仕組み
- 文章を文に分割します
- 専門用語(キーワード)自動抽出システムと同じ仕組みでキーワードおよび単語のスコアリングを行います。
- 文中に含まれるキーワードと単語から、文そのものスコアを決定します。
- 文のスコアが一番高いものを、要約文とみなします
よくあるんじゃないかって思った質問と回答
なんでこんなのつくったの?
専門用語(キーワード)自動抽出システムを見てムラムラしたからです。名前もGensenをパチってます。
あと、RSS の description の自然言語要約を AppleScript に任せた を見て、AppleScriptが羨ましくなったのですが、そんなことのためにOSXを買うわけにもいかず、また、AppleScript同様にベクトル演算して抽出するのも芸がないような気がしたので、単純な実装をしてみたのです。
フォームインターフェース以外の方法で使わせてください
ってゆう人が多かったら考えます。ってゆーか今時はXMLRPCとかがいいの?SOAPは勘弁してくれますか?
じゃ、ソースコードください
えーと、一部勤務先で書いたものが含まれていて、ライセンスの関係で厳しいのです。
けど、実装は上に書いた通りで簡単なので、自分でやってください。
意味がさっぱりわかりません
ごめんなさい。
文句がいいたいんですけど・・・
お手数ですけどコメントでもトラックバックでもしてください。
で、これどーやって遊ぶの?
たとえば、新聞社の記事を丸ごといれると、かなりイイ感じに重要なセンテンスを抽出できます。
記事の見出しとこれで抽出した文だけ流し読みすれば、ニュースジャンキーにはたまらない感じですよ。
これをRSSリーダに組み込めば、contentからイイ感じに要約できる可能性がちょっとだけある気がします。
あと、自分で適当に書いた文章を入れてみると、いかに自分の文章が何が言いたいのかわからないってことがわかっていいかも。
6個のコメント
ついにでましたね。
ところでgensenの解説にあるように、重要度計算における「学習」はgetsenでも行ってるんでしょうか?
ボクはXMLRPCよりSOAPで体をゴシゴシ洗いたいと思います。
Gensenの学習は単名詞の単名詞の連接情報を覚えて、重要度計算にあてはめるってやつですね
GetSenは学習せずに、一発勝負です。
学習させると専門家になっちゃうので、いろんなジャンルで使う前途だとよくないです。
逆に特定分野でしか使わないなら学習させたほうがいいかと思われ。
あと、GetSenではGensenのTermExtractをそのままつかってるわけじゃなく、別の言語で書き下したclassが(Gensenの方式とほぼ同じ仕組みで)キーワードのスコアリングをしてます
初めまして。
利用してみました。長い文章であれば要約結果が返ってきて、色々な用途に利用できそうです。
お聞きしたいのですが、「X文字以下に要約して欲しい」などの指定はできないのでしょうか・・・?
例えば50文字程度の短い文章だと要約結果が返ってきません。この場合も「20文字以下に要約する」という形で「20文字」を指定したいのですが・・・
教えて下されば幸いです。
「GetSenの仕組み」にも書きましたが、分割した文章のなかから、一番スコアが高いものを返しているだけなので、現状では「20文字以下に要約」というようなことはできないです
しかし、そういうことまで出来るとスゴクいいですね〜!
緑茶が好きだ。
熱い緑茶が好きだ。
冷たい緑茶も好きだ。
もっと大好きなのはコーヒーだ。
というテキストを入力したんですけど、
サマリとして「緑茶が好きだ。」が出てきちゃいました。
頻出語を含むセンテンスを出してもサマリにならないですよね?
この例だと4文とも同じスコアになっちゃいますね
3個のトラックバック
GetSenで新聞記事を切り出す
GetSenで新聞記事を切り出す例として、対象記事の見出しと抽出されたサマリを引用していきます
基本的に新聞記事という文章では、最初の一文に重要なことを書くように求められるわけですが、そういう具合いになっているというのがわかります。
ガルーダ航空機、乱気流..
GetSen XML-RPC API
GetSenのXML-RPCインターフェースをおいときます
Service URI
http://www.ryo.com/getsen/rpc.php
ryocomJapanese.getsen
GetSenを使用して、日本語の文章からサマリ(要約)を取り出します
引数
String copus // サマリ抽出の対象とする日本語の文章
返り値
Str…
キーワードに対する記事のスコア
ネタ蔵をスタートして数日たった。
各キーワードのページを眺めていると、「おもしろそうかどうか」ってのは記事のタイトル(見出し)で判断するしかない。
・・・といっても・・・タイトルがGoodな感じでも、…