#freeze
*研究紀要2010(小学校)資料2 [#h52620dc]
**小学校学習指導要領解説の読み取り [#ef248c5e]
-キーワード『コンピュータ』『インターネット』『ネットワーク』『問題解決』『情報』
-方法
++小学校学習指導要領解説のPDFをフリーソフトxdoc2txtを使用し、プレーンテキストを抽出。
++キーワード検索スクリプト2にて、キーワードを含む行を検索。
++文脈上、キーワードを含む文章が、「ICTに関連する学習活動であるかどうか」妥当性を検証
**プレーンテキストの抽出 [#we04fc2a]
 実行方法: xdoc2txt -f *.pdf
 注意:PDFはパスワードなしで暗号化されているので、同フォルダにcryptlib.dllを用意する必要がある。
**キーワード検索スクリプト1(keyword1.rb) [#f87aa7cb]
 #
 # 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)  調査では、こちらのスクリプトを使用した。 [#k0b5ed27]
 #
 # 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)  ヒットした場合ハイライトさせる [#ob487359]
 #
 # 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
 }

トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS