#!/usr/bin/perl

# get_amazon_data.plの出力ファイルの第11カラムの日本語文章をセンテンスに分割する。
# センテンスごとにISBN, センテンスをタブ区切りで出力する。
# perl split_sentence.pl input_file > output_file

use strict;
use warnings;
use Encode qw/decode/;
use Encode qw/encode/;
use utf8;

open IN, "$ARGV[0]" or die;
while (<IN>) {
	chomp;
	my $line = decode('UTF-8', $_);
	my @data = split /\t/, $line;
	my $text = $data[10];
	if ($text) {
		$text =~ s/。/。\n/g;
		$text =~ s/\?/\?\n/g;
		$text =~ s/!/!\n/g;
		$text =~ s/\n+/\n/g;
		$text =~ s/\n([!\?])/$1/g;
		$text =~ s/\(\n/\(/g;
		$text =~ s/\n\)/\)/g;
		$text =~ s/\n」/」\n/g;
		$text =~ s/\n([^\n「]+」)/\n$1\n/g;
		$text =~ s/\n+/\n/g;

		my @text = split /\n/, $text;
		foreach my $sentence (@text) {
			print encode('UTF-8', "$data[5]\t$sentence\n");
		}
	}
}
close IN;
