アプリ版:「スタンプのみでお礼する」機能のリリースについて

大学で自動要約について研究しています。研究を行う上でtiny_summarizerという自動要約システムを使用しているのですが、javascriptには詳しくなく、正直、プログラムの内容がほとんど理解できていません。
とりあえず理解できているのは、tiny_segmenterとTinySplitterで文章を分かち書きし、文分割したものをtiny_summarizerに送り、重要な単語の抽出、重要文の抽出、要約文字数に合った文の抽出を行って要約しているということです。
しかし、tiny_summarizerがどのような基準、手法で単語を選別しているのか、プログラムを見ても理解ができませんでした。

作者様のページでは
「様々な文書ドメインにおいて比較的頑健であると思われる単語頻度のみを用いて重要文の抽出を行っています。TinySegmenter による前処理を想定しているため、品詞による内容語と機能語の選別を行っておらず、内部に保持したストップ・ワードのリストに基づいて重要文の抽出に利用する単語の選別を行います。」
と書かれています。

作者様のページから、tiny_summarizerをダウンロードして頂いて、TinySummarizer.jsの内容について説明していただけるとありがたいです。

参考URL:https://hitoshin.github.io/tiny_summarizer/

A 回答 (1件)

TinySummarizer.prototype.summarize = function(words, length) {


this.preprocess(words);
this.decode(length);
return this.output();
}

とあるので、summarizeに引数をつけて呼び出すとこの順序で実行される

this.preprocessでは、引数の配列 words が評価される。(おそらく行を配列に、その行は単語に分かれ、さらに配列にしてあると推測。二次元配列。)
評価としては 各単語?にstop_wordsが含まれていなければ、その単語の評価値を上げる
行ごとにその行で評価された単語の点数を加算して合計を求める

あとの this.decode は誰かに任せた。
    • good
    • 1
この回答へのお礼

ありがとうございます!

お礼日時:2020/01/04 20:55

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!