OpenRefine
開発元 | Freebase。後にGoogle。現在はオープンソースコミュニティ |
---|---|
初版 | 2010年11月10日 |
最新版 | |
リポジトリ | |
プログラミング 言語 | Java[2] |
プラットフォーム | Microsoft Windows, Linux, macOS |
対応言語 | 英語、イタリア語、中国語、日本語、フランス語 |
サポート状況 | Active |
種別 | |
ライセンス | BSD License |
公式サイト |
openrefine |
OpenRefine(旧称:Google Refine、さらに以前はFreebase Gridworks)は、スタンドアローンでオープンソースのデスクトップアプリケーションで、データのクリーンナップ、他の形式への変換、データラングリングと呼ばれる処理を行うことができる[3]。見た目はスプレッドシートアプリケーションに似ているが(スプレッドシートファイル形式も処理できる)、よりデータベースに近い動作をする。
各列(カラム)の下にセルを持つデータの各行に対して様々な操作を行う。これは、リレーショナルデータベースのテーブルに非常によく似ている。1つのOpenRefineプロジェクトは1つのテーブルからなる。ユーザーは、ファセット(facet)と呼ばれるフィルタリング条件(例えば、指定した列が空でない行のみを表示するなど)の定義を使用して、表示する行をフィルタすることができる。スプレッドシートとは違い、OpenRefineのほとんどの操作は、表示された行全体に対して実行される。たとえば、1つのカラムの下にある全ての行のすべてのセルに対して変換処理が適用されたり[4]、すでにあるカラムを元にして新しいカラムが作成されるといった処理となる。すべての操作はプロジェクト内に保存された1つのデータセットに対して実行され、別のデータセットに対して同じ操作を繰り返し適用することができる。
スプレッドシートとは異なり、セルの中には数式は保存されず、数式はデータの変換に使われ、また、データの変換は1回のみ実行される[5]。データを変換する処理式はGeneral Refine Expression Language (GREL)[6]と呼ばれるDSLの他、Jython(つまりPython)やClojureで記述することも可能である[7]。
プログラムにはウェブユーザーインターフェイスが組み込まれているが、ウェブサービス(SaaS)としてホストされるわけではなく、ダウンロード後にローカルマシンで動作するためのものである。OpenRefineを実行すると、ローカルでウェブサーバが起動し、このウェブサーバ上で動作するウェブUIがブラウザで自動的に開かれる。
ソフトウェアの使用例
[編集]- 乱雑なデータのクリーニング:たとえば、部分的にしか構造化されていないテキストファイルを編集するとき、変換やファセット、クラスタリング機能を利用することで、きれいに構造化されたデータを作成することができる[8]。
- データの変換:正規化・非正規化の処理を行いながら、他の形式に変換することができる。
- ウェブサイトのデータのパース:OpenRefineにはURL取得機能がある理、jsoup HTMLパーサとDOMエンジンが搭載されている[9]。
- (JSONを返す)ウェブサービスからデータを取得しながらデータセットへデータの追加[10]。たとえば、住所のジオコーディングを地理座標系に変換するために使用できる[11]。
- Wikidata(旧称:Freebase[12])への名前合わせ:これは照合(名寄せ)機能に関係し、セル内の文字列の値をWikidataのエンティティにマッピングすることができる[13]。
インポートとエクスポートの対応フォーマット
[編集]インポートは以下のフォーマットに対応している[14]。
- TSV、CSV
- 任意の区切り文字または固定長で列が区切られたテキストファイル
- XML
- RDF triples(RDF/XMLおよびNotation3シリアライズフォーマット)
- JSON
- Google Spreadsheets、Google Fusion Tables[15]
入力データが標準化されていないテキストフォーマットだった場合、行全体をカラムに分割せずにインポートすることができ、その後、OpenRefineのツールを使ってカラムが抽出できる。アーカイブと圧縮ファイルもサポートされ(.zip, .tar.gz, .tgz, .tar.bz2, .gz, or .bz2)、URLから入力ファイルを直接インポートすることもできる。ウェブページをインプットとして使用するときは、URLのインポートリストを指定して、URL取得機能を呼び出せる。
エクスポートは以下のフォーマットに対応している[16]。
- TSV
- CSV
- Microsoft Excel
- HTML table
- Templating exporter:出力データに対してカスタムのテンプレートを定義することができる。これを使えば、たとえばMediaWikiのテーブルを出力することができる。
独自フォーマットのOpenRefineのプロジェクト全体は、.tar.gzアーカイブ形式で出力できる。
歴史
[編集]OpenRefineは、MetawebによってFreebase Gridworksとして開発が始まり、2010年1月にオープンソース化された[17]。2010年7月16日、GoogleはFreebaseの作者であるMetawebを買収し[18]、2010年11月10日にFreebase Gridworksと呼ばれていたソフトウェアをGoogle Refineと改名し、バージョン2.0をリリースした[19]。2012年10月2日、元の作者のDavid HuynhはGoogleではGoogle Refineのサポートを終了すると発表した[20][21][22]。以降、コードベースがオープンソースプロジェクトに移行し、OpenRefineと改名された[23]。
脚注
[編集]- ^ "Release 3.8.7"; 閲覧日: 2024年11月24日; 出版日: 2024年11月21日.
- ^ “OpenRefine/OpenRefine - GitHub”. 25 June 2017閲覧。
- ^ “OpenRefine Project Home”. 2018年10月5日閲覧。
- ^ “Editing by transforming: Cell Editing wiki page from Refine documentation”. 18 April 2012閲覧。
- ^ “Comparison with spreadsheet software: Cell Editing wiki page in Refine documentation”. 18 April 2012閲覧。
- ^ General Refine expression language OpenRefine/OpenRefine Wiki GitHub. Github.com (2013-04-03). Retrieved on 2013-08-16.
- ^ “Expressions: Refine documentation”. 18 April 2012閲覧。
- ^ “Screencast: Google Refine 2.0 - Introduction (1 of 3) - editing government data”. 18 April 2012閲覧。
- ^ “Stripping HTML: Refine documentation wiki page”. 18 April 2012閲覧。
- ^ “FetchingURLsFromWebServices wiki page: Refine documentation”. 18 April 2012閲覧。
- ^ “Screencast: Google Refine 2.0 - Data Augmentation (3 of 3) - using Openstreetmap Nominatim for geocoding and Freebase for augmentation”. 18 April 2012閲覧。
- ^ “Schema Alignment: Refine documentation wiki page”. 18 April 2012閲覧。
- ^ “OpenRefine documentation: Reconciliation”. 12 March 2017閲覧。
- ^ “Importers: Refine documentation wiki page”. 18 April 2012閲覧。
- ^ “Changelog for 2.5”. 18 April 2012閲覧。
- ^ “Exporting: Refine documentation wiki page”. 18 April 2012閲覧。
- ^ https://code.google.com/p/google-refine/source/detail?r=2
- ^ “Google Official Blog: Deeper understanding with Metaweb” 18 April 2012閲覧。
- ^ “Google Opensource blog: Announcing Google Refine 2.0, a power tool for data wranglers” 18 April 2012閲覧。
- ^ “[announcement the future of the Refine projects”]
- ^ “From Freebase Gridworks to Google Refine and now OpenRefine”
- ^ OpenRefine. OpenRefine. Retrieved on 2013-08-16.
- ^ google-refine - Google Refine, a power tool for working with messy data (formerly Freebase Gridworks) - Google Project Hosting. Code.google.com. Retrieved on 2013-08-16.