公報に付与されているFタームを集計して出力するツールとしてpft.rbを用意していますが、 どのようなテーマコードが付与されているかを集計して出力する機能を追加しました。
全テーマ分のテーマコード表<Microsoft ® Excel形式 629KB>が特許庁で公開されています。
テーマコード表を以下のプログラムでパースして、 テーマコード辞書を作りました。ファイル名はcode.lstとして下さい。 なお、テーマコード名が空欄になっているものは解析が停止され、他のテーマコードに変更され たか統合されたもののようです。
require 'win32ole'
def getAbsolutePath filename
fso = WIN32OLE.new('Scripting.FileSystemObject')
return fso.GetAbsolutePathName(filename)
end
filename = getAbsolutePath(ARGV[0])
xl = WIN32OLE.new('Excel.Application')
book = xl.Workbooks.Open(filename)
begin
book.Worksheets.each do |sheet|
sheet.UsedRange.Rows.each do |row|
record = []
row.Columns.each do |cell|
record << cell.Value
end
print "#{record[0]}\t#{record[3]}\n"
end
end
ensure
xl.Workbooks.Close
xl.Quit
end
Fタームではなくてテーマコードを出力させたい場合には、オプション「--theme」を 指定します。「--theme」を指定した場合は、自動的にFターム辞書ではなくてテーマコード 辞書を使用するようになります。
D:\Patent> ruby pft.rb --theme sample2.tsv | more 505 4G146 炭素・炭素化合物 93 4G169 触媒 77 4J002 高分子組成物 43 3K092 抵抗加熱 30 5F033 半導体集積回路装置の内部配線 26 4D075 流動性材料の適用方法、塗布方法 26 5H050 電池の電極及び活物質 25 2H200 電子写真における帯電・転写・分離 24 4J029 ポリエステル、ポリカーボネート 22 4K030 CVD 20 4L037 無機繊維 19 4K044 その他の表面処理