--- TermExtract/JapanesePlainText.pm.orig 2005-07-14 18:34:22.000000000 +0900 +++ TermExtract/JapanesePlainText.pm 2012-11-17 21:04:37.000000000 +0900 @@ -1,8 +1,9 @@ -package TermExtract::JapanesePlainTextEUC; +package TermExtract::JapanesePlainText; use TermExtract::Calc_Imp; use strict; use Exporter (); +use Encode 'from_to'; use vars qw(@ISA $VERSION @EXPORT); @ISA = qw(TermExtract::Calc_Imp Exporter); @@ -36,6 +37,8 @@ $data = ; close IN; } + # convert utf-8 to eucjp. + Encode::from_to($data, 'UTF-8', 'EUC-JP'); foreach my $morph ((split /\n/, $data)) { chomp $morph; @@ -43,6 +46,10 @@ my $terms = get_katakana_kanji($morph); foreach my $cmp_noun (@$terms) { next if @$cmp_noun < 2; + # convert eucjp to utf-8. + foreach my $elem (@$cmp_noun) { + Encode::from_to($elem, 'EUC-JP', 'UTF-8'); + } $cmp_noun_list{ join ' ', @$cmp_noun }++ if $$cmp_noun[0]; } } @@ -135,16 +142,16 @@ =head1 NAME - TermExtract::JapanesePlainTextEUC - -- 専門用語自動抽出モジュール(和文「カタカナ・漢字抽出方式」EUC版) + TermExtract::JapanesePlainText + -- 専門用語自動抽出モジュール(和文「カタカナ・漢字抽出方式」UTF-8版) =head1 SYNOPSIS - use TermExtract::JapanesePlainTextEUC; + use TermExtract::JapanesePlainText; =head1 DESCRIPTION - 日本語のテキストデータ(EUC)からそのまま専門用語を抽出するプログラム。 + 日本語のテキストデータ(UTF-8)からそのまま専門用語を抽出するプログラム。 当モジュールの使用法については、親クラス(TermExtract::Calc_Imp)か、 以下のサンプルスクリプトを参照のこと。 @@ -154,10 +161,10 @@ #!/usr/local/bin/perl -w # - # ex_JPTE.pl + # ex_JPT.pl # # 標準出力に専門用語とその重要度を返すプログラム - # 和文「カタカナ・漢字抽出方式」EUC版 + # 和文「カタカナ・漢字抽出方式」UTF-8版 # # version 0.05 # @@ -165,7 +172,7 @@ use TermExtract::JapanesePlainTextEUC; #use strict; - my $data = new TermExtract::JapanesePlainTextEUC; + my $data = new TermExtract::JapanesePlainText; my $InputFile = "JPTE_out.txt"; # 入力ファイル # プロセスの異常終了時処理 --- TermExtract/Chasen.pm.orig 2005-07-19 09:18:40.000000000 +0900 +++ TermExtract/Chasen.pm 2012-11-17 21:35:07.000000000 +0900 @@ -3,6 +3,7 @@ use strict; use Exporter (); +use Encode 'from_to'; use vars qw(@ISA $VERSION @EXPORT); @ISA = qw(TermExtract::Calc_Imp Exporter); @@ -48,6 +49,10 @@ $end =~ /^\s+$/ || $must) { pop @$terms } } + # convert eucjp to utf-8. + foreach my $elem (@$terms) { + Encode::from_to($elem, 'EUC-JP', 'UTF-8'); + } $cmp_noun_list->{ join ' ', @$terms }++ if defined $terms->[0]; @$terms = (); }; @@ -59,6 +64,8 @@ $data = ; close IN; } + # convert utf-8 to eucjp. + Encode::from_to($data, 'UTF-8', 'EUC-JP'); # 単名詞の連結処理 foreach my $morph ((split "\n", $data)) { --- TermExtract/MeCab.pm.orig 2005-07-14 18:35:06.000000000 +0900 +++ TermExtract/MeCab.pm 2012-11-17 21:34:49.000000000 +0900 @@ -3,6 +3,7 @@ use strict; use Exporter (); +use Encode 'from_to'; use vars qw(@ISA $VERSION @EXPORT); @ISA = qw(TermExtract::Calc_Imp Exporter); @@ -47,6 +48,10 @@ $end =~ /^\s+$/ || $must) { pop @$terms } } + # convert eucjp to utf-8. + foreach my $elem (@$terms) { + Encode::from_to($elem, 'EUC-JP', 'UTF-8'); + } $cmp_noun_list->{ join ' ', @$terms }++ if defined $terms->[0]; @$terms = (); }; @@ -58,6 +63,8 @@ $data = ; close IN; } + # convert utf-8 to eucjp. + Encode::from_to($data, 'UTF-8', 'EUC-JP'); # 単名詞の連結処理 foreach my $morph ((split "\n", $data)) { --- SampleScripts/UNIX/ex_JPT.pl.orig 2005-07-14 18:31:14.000000000 +0900 +++ SampleScripts/UNIX/ex_JPT.pl 2012-11-17 20:59:57.000000000 +0900 @@ -1,19 +1,19 @@ #!/usr/local/bin/perl -w # -# ex_JPTE.pl +# ex_JPT.pl # # 標準出力に専門用語とその重要度を返すプログラム -# 和文「カタカナ・漢字抽出方式」EUC版 +# 和文「カタカナ・漢字抽出方式」UTF-8版 # # version 0.05 # # -use TermExtract::JapanesePlainTextEUC; +use TermExtract::JapanesePlainText; #use strict; -my $data = new TermExtract::JapanesePlainTextEUC; -my $InputFile = "JPTE_out.txt"; # 入力ファイル +my $data = new TermExtract::JapanesePlainText; +my $InputFile = "JPT_out.txt"; # 入力ファイル # プロセスの異常終了時処理 # (ロックディレクトリを使用した場合のみ)