水道屋がRubyを活用する(その2)

その1での手順で求めた固有ベクトルは、対応する部品と共に値が大きい順に並べると、関連のある(同じ見積書の中に出てくる可能性の高い)部品が集まります。うちのデータで行ったものはこんな感じになりました。固有ベクトルは行列の次元数だけありますが、とりあえず一部を示します。

部品名
カニカル継手工 0.440263
塩ビ管用鋳鉄継手スリーブ工 0.337004
埋設表示シート工 0.325982
菅明示テープ工 0.325237
仕切弁室築造工 0.318161
フランジ継手工 0.285637
仕切弁設置工 0.275278
塩ビ管布設工 0.218837
鋳鉄管布設工 0.168255
ポリエチレンスリーブ工 0.167788
離脱防止金具取付工 0.139654
消火栓・空気弁室築造工 0.135662
鋳鉄管切断工 0.128218
NS継手工 0.120586
ゴム輪形塩ビ管継手工 0.104157

これは、道路などに埋設されている配水管の工事の労務費がまとまっています。

部品名
フランジ継手材 0.496939
硬質塩化ビニル管 0.297529
ソフトシール仕切弁 0.296968
空洞ブロック 0.243058
鋳鉄製継手VSジョイント片落 0.206172
仕切弁筺1型 0.198184
硬質塩化ビニル管(ゴムリング付き) 0.189774
鋳鉄製継手チーズ三受T字管 0.178762
鋳鉄製継手VC片フランジ短管 0.172702
鋳鉄製継手ベンド 0.163757
鋳鉄製継手離脱防止金具 0.163221
ボール式補修弁 0.159338
消火栓・空気弁筺 0.147844

これは、配水管の工事の材料費がまとまっています。

部品名
機械埋戻工 0.763639
残土処理工 0.267258
舗装切断工(アスファルト) 0.256090
機械掘削 0.241483
Asガラ処理工 0.225705
舗装版直後掘削積込工As・Co舗装バックホウ施工 0.211365
路盤工 0.205821
仮復旧工 0.158050
仮表層工人力施工 0.155073
人力埋戻工 0.070800
人力掘削 0.069813
舗装版破砕掘削積込工t=16cm以上 0.059926
舗装切断工 0.058485
機械掘削工 0.049504

これは、土工(掘ったり埋め戻したりの労務費・砂などの材料費)がまとまっています。

こんな感じで、各固有ベクトルが見積書の典型的なパターンになっています。あとは、新しく入力した見積書がどの固有ベクトルに近いか調べて、その中の値の大きな重要なメンバーが無いときは「必要じゃないですか?」と聞くとミスが減るかもしれないなーと思います。

次回は、話を細かくして見積書からどうやってデータを取り出すかを書きたいと思います。見積書はExcelで書いているのでwin32oleを使ってデータを抽出しています。これが、Rubyを使っている大きな理由の1つですとかそんな話です。