研究紀要2010(小学校)資料2

小学校学習指導要領解説の読み取り

プレーンテキストの抽出

実行方法: xdoc2txt -f *.pdf
注意:PDFはパスワードなしで暗号化されているので、同フォルダにcryptlib.dllを用意する必要がある。

キーワード検索スクリプト1(keyword1.rb)

#
# keyword1.rb - ファイルをキーワード毎に検索し、ヒットした場合、文を標準出力へ
# 1文にキーワードが複数ある場合は、単語毎に出力されるので、重複あり
# ruby keyword1.rb shakai.txt > kekka-shakai.csv
#

$KCODE="Shift_JIS"

keywords = ["コンピュータ","インターネット","ネットワーク","問題解決","情報"]
count = Hash.new(0)

puts  "ファイル名,キーワード,文"

open(ARGV[0]) {|io|
	keywords.each { | keyword |
		re = Regexp.new(keyword)
		while line = io.gets("。")
			if re =~ line
				count[$&] += 1
				print "#{ARGV[0]},"
				print "#{$&},"
				puts line.gsub(/\s+/,'')
			end
		end
		io.rewind
	}
}
print "\n□□□各キーワードの出現回数□□□\n"
count.each{| key , value |
	print "#{key} , #{value } \n"
}

キーワード検索スクリプト2(keyword2.rb)  調査では、こちらのスクリプトを使用した。

#
# keyword2.rb - ファイルをキーワード群で検索し、ヒットした場合、文を標準出力へ
# 1文にキーワードが複数ある場合は、最初にヒットした単語で出力、重複なし
# ruby keyword2.rb shakai.txt > kekka-shakai.csv
#

$KCODE="Shift_JIS"

keywords = /コンピュータ|インターネット|ネットワーク|問題解決|情報/s

puts  "ファイル名,キーワード,文"

open(ARGV[0]) {|io|
	while line = io.gets("。")
		if keywords =~ line
			print "#{ARGV[0]},"
			print "#{$&},"
			puts line.gsub(/\s+/,'')
		end
	end
}

キーワード検索スクリプト3(keyword3.rb)  ヒットした場合ハイライトさせる

#
# keyword3.rb - ファイルをキーワード群で検索し、ヒットした場合ハイライトさせる
# ruby keyword3.rb shakai.txt > kekka-shakai.txt
# 

$KCODE="Shift_JIS"

keywords = /コンピュータ|インターネット|ネットワーク|問題解決|情報/ms

open(ARGV[0]) {|io|
	while line = io.gets("。")
		line.gsub!(keywords){| matched |
			'&color(red,yellow){' + matched + '};'
		}
		print line.gsub!(/\n^/,"\~\n")
	end
}

添付ファイル: filedotoku.txt 201件 [詳細] filesansu2.txt 242件 [詳細] filetokubetsu.txt 209件 [詳細] filetaiiku.txt 204件 [詳細] filesousoku.txt 267件 [詳細] filesougou.txt 185件 [詳細] fileshakai.txt 189件 [詳細] fileseikatsu.txt 236件 [詳細] filesansu1.txt 189件 [詳細] filegaikokugo.txt 202件 [詳細] filerika.txt 190件 [詳細] fileongaku.txt 204件 [詳細] filekokugo.txt 172件 [詳細] filekeyword3.rb 182件 [詳細] filekeyword1.rb 159件 [詳細] filekeyword2.rb 182件 [詳細] filekatei.txt 206件 [詳細] filezugakousaku.txt 206件 [詳細]

トップ   編集 凍結解除 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2023-03-28 (火) 21:32:53