便利なTikaを使います。
なお今回はapp版を使います。
https://tika.apache.org/download.html
からダウンロードしましょう。
実行可能なjarになっているのでダウンロードしたら
1 |
$ java -jar tika-app-1.11.jar |
でコンソールが開きます。
ここでメニューから指定しても問題ありませんが、概ね時間が掛かって大変レスポンスが悪く使いにくいためコマンドラインでの処理を考えます。
WORDファイルからの抽出
国土地理院のWordファイルからテキストを抽出する処理を実施してみます。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
$ curl http://psgsv2.gsi.go.jp/koukyou/G-award/file%5C%E9%9B%BB%E5%AD%90%E5%9B%BD%E5%9C%9F%E8%B3%9E%E3%83%AD%E3%82%B4%E3%83%9E%E3%83%BC%E3%82%AF%E4%BD%BF%E7%94%A8%E7%94%B3%E8%AB%8B%E6%9B%B8.doc | java -jar tika-app-1.11.jar --text % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 32768 100 32768 0 0 51275 0 --:--:-- --:--:-- --:--:-- 51360 (様式1) 電子国土賞ロゴマーク使用申請書 平成 年 月 日 国土地理院企画部長 殿 (略) $ |
PDFファイルからの抽出
次にPDFから情報を取得するテストを実施します。
総務省のPDFをサンプルとして利用します。Tika以外にもPDFからテキストを抽出する方法はたくさんあるのであまりありがたみがないと思いますが
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
$ curl http://www.soumu.go.jp/main_content/000162017.pdf | java -jar tika-app-1.11.jar --text % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 254k 100 254k 0 0 345k 0 --:--:-- --:--:-- --:--:-- 345k 公衆電話の特徴と使用方法 ①災害時優先電話 公衆電話は、災害等の緊急時において電話が混み合い、通信規 制が実施される場合であっても、通信規制の対象外として優先的 に取り扱われます。 (略) $ |
Excelファイルからの抽出
次に経産省のEXCELファイル(xls)からデータを抽出することをテストします。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
$ curl http://www.meti.go.jp/policy/alcohol/formfiles/siyou_setsumei2.xls | java -jar tika-app-1.11.jar --text % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 359k 100 359k 0 0 533k 0 --:--:-- --:--:-- --:--:-- 532k 目次 アルコール使用業務報告書作成支援ソフトウエア取扱説明書(詳細編) -目次- 1.概要 1-1 1.1 機能構成 1-1 (1)業務報告書作成支援 1-1 (2)業務報告書データの入出力 1-1 (3)業務報告書形式の出力 1-1 1.2 入出力 1-1 (1)業務報告書 1-1 (2)報告書データ(電子媒体テキストファイル) 1-1 <報告書データのファイル名について> 1-2 <複数のファイルの扱いについて> 1-2 (3)処理結果ログ 1-2 |
これも綺麗に取得できますね。
対応フォーマット
https://tika.apache.org/1.11/formats.html
を見ての通り、tikaは相当なフォーマットがサポートされています。
DWGParserとかMIDIとかいろんなものがサポートされていますね。
社内ドキュメントのインデクシングを行ったりテキストマイニングをやってみるなど、使い道は広いと思います。
それでは良いドキュメントライフを!
投稿者プロフィール
-
インフラ系のエンジニアです。
運用系のスクリプトを書いたり、オートメーションな世界に向かって日々精進しています。
最新の投稿
- Apache2016年6月24日ApacheWebServerで圧縮転送の設定
- AWS2016年5月17日SkyHopperのインストーラで作成するChef Serverについてのご注意
- AWS2016年3月29日SkyHopper v1.15.2の評価用AMI公開しました
- AWS2016年3月8日SkyHopperのプロダクトページを作成しました