質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

90.48%

  • Perl

    461questions

    Perlは多目的に使用される実用性が高い動的プログラミング言語のひとつです。

  • teratail

    415questions

    teratail(テラテイル)は、プログラミングに特化した日本語Q&Aサイトです。

perl言語 要約プログラミング

受付中

回答 0

投稿 編集

  • 評価
  • クリップ 0
  • VIEW 1,428

abcdefghi

score 2

単語の重要度を用いた文書の要約のプログラミングをperl言語で作ろうと思っているんですが、いまいち閃かず困っています。

ソースコード分かる方いたら教えていただけないでしょうか。
何か知識を持っている方教えてください。
よろしくお願いします。

これはtf-idf値を計算するソースコードです。
これから単語の重要度を基にして文の重要度を決定。重要な文を選択して要約する感じにしたいです。

!/usr/bin/perl

&load_file;
&print_dat;

sub load_file{

    open(DFLOG, ">> /mkyozai/jk1sum/log/calc_df.log");

    date >> /mkyozai/jk1sum/log/calc_df.log;

    whoami >> /mkyozai/jk1sum/log/calc_df.log;

    print DFLOG "perl calc_df.pl $ARGV[0] $ARGV[1] $ARGV[2] $ARGV[3]\n---\n";

    close(DFLOG);

    #---load tf file to count df values---#
    $fname=$ARGV[0];
    $document=$ARGV[1];
    @word=();
    open(FP,$fname)||die "cannot open $fname\n";
    while(defined($line=<FP>)){
        chomp($line);
    ($tmp_word,$tmp_pos,$tmp_tf,$tmp_df,$tmp_idf)=split(/\t/,$line);
    if($tmp_word ne ""){
        push(@word,$tmp_word);
        push(@pos,$tmp_pos);
        push(@tf,$tmp_tf);
        push(@df,$tmp_df);
        push(@tf_idf,sprintf("%.2f",$tmp_tf*(log($document/($tmp_df+1))+1)));
    }
    }
    close(FP);
   }

sub print_dat{

    ($fname,$tmp)=split(/.df/,$ARGV[0]);
    $fname=$fname.".idf";

    print "output file=$fname\n";

    open(DF, ">$fname")||die("cannot open $fname\n");
    for($i=0; $i<= $#word; $i++){
    if($word[$i] ne ""){
        print DF "$word[$i]\t$pos[$i]\t$tf[$i]\t$df[$i]\t$tf_idf[$i]\n";
    }
    }
    close(DF);
}

  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

質問への追記・修正の依頼

  • abcdefghi

    2016/04/21 14:26

    perl言語を学びたてなので知識が少なくこの様な質問をしました。

    キャンセル

  • 退会済みユーザー

    2016/04/21 14:36

    こちらの質問が他のユーザから「やってほしいことだけを記載した丸投げの質問」という指摘を受けました
    「質問を編集する」ボタンから編集を行い、調査したこと・試したことを記入していただくと、回答が得られやすくなります。

  • ttyp03

    2016/04/21 14:39

    もう少し具体例を書いた方がよいのでは?

    キャンセル

  • argius

    2016/04/21 15:56

    レイアウトが崩れていて読みにくいので、コード部分の前後に```行を追加してください。

    キャンセル

まだ回答がついていません

15分調べてもわからないことは、teratailで質問しよう!

  • ただいまの回答率 90.48%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

関連した質問

  • 解決済

    pythonで、ファイルの拡張子を変換してみたい。

    pythonで、ファイルの拡張子を.txt → .xlsx に変換したいです。 .txtがまとめられているディレクトリを/Users/txt .xlsxに変換した後にファイルをまと

  • 解決済

    初心者です。rubyを使った正規表現とファイルの入出力について。

    ファイルの先頭の2行を削除したいのと正規表現を使ってcsv形式のデータを1行につき1単語ずつに振り分けたいと考えています。 まず、「ファイルの先頭のn行を削除する」というサン

  • 解決済

    perl バイオインフォマティクス

    実現させたいこと ダウンロードしたmultifastaを一行ずつのものに分割し、NGSによるreadのようなものを作成したい。 先日同じような質問をさせて頂きましたが、今回もそ

  • 解決済

    Perl初心者(ハッシュ)

    いつもお世話になっています。perl初心者でただいま勉強中です。課題でweather.datというファイルを読み込んで、if文を使わず、ハッシュを使って、1ヶ月分の天気を集計するプ

  • 解決済

    辞書データを用いたシステムを作りたい

    前提・実現したいこと 単語を入力すると、その単語の意味を表示するようなプログラムをC#やJAVAで構築したいと思い、それを実現させるために、Web上に存在する辞書データを利用して

  • 解決済

    perlによる文字変換スクリプト

    漢字かな混じりの文章ファイルと、単語とその読みを記載したファイルの2つを用いて文章を全てひらがなに変換するスクリプトを作成したいと考えているのですが、上手くいく方法が思い浮かばず困

  • 解決済

    perlスクリプトの不具合

    いつもお世話になっております。自身で書いたperlスクリプトが思うように動かずに困っています。どなたか御教授頂けたら幸いです。 入力ファイルについて ・ file.fa >1-

  • 解決済

    perl 検索範囲指定

    前提実現したいこと perlでhoge.txtのデータの一部を置換してhogehoge.txtにコピーしたいと考えています。 hoge.txtの中身 <ccc> abcde

同じタグがついた質問を見る

  • Perl

    461questions

    Perlは多目的に使用される実用性が高い動的プログラミング言語のひとつです。

  • teratail

    415questions

    teratail(テラテイル)は、プログラミングに特化した日本語Q&Aサイトです。