データ分析や自然言語処理タスクなどでは「データラングリング」が欠かせません。本稿では、なぜデータラングリングが重要なのか、Pythonを利用したテキスト抽出例や特定文字列のフィルタリング、Unicode文字への対応など幾つかのユースケースを交えながら解説します。
この記事は会員限定です。会員登録(無料)すると全てご覧いただけます。
八楽のNLP(自然言語処理)エンジニアリングチームに所属するGiovanni Gatti De Giacomo(ジョバンニ・ガッティ・デ・ジャコモ)、Vipul Mishra(ビプル・ミシュラ)です。
八楽はAI(人工知能)の自動翻訳プラットフォーム「ヤラクゼン」の企画、開発、運用を通じて、翻訳業務の効率化と翻訳品質の向上、翻訳チームのナレッジ共有を支援しています。ヤラクゼンはソニーや帝人、コニカミノルタなどの大手企業を含め、延べ1000社以上に導入されています。
われわれNLPチームでは、自然言語処理の知見を生かしたツールの開発、ツールの裏側で機能するエンジンの開発・改善、最新の研究結果をビジネスに適用する手法を日々検討しています。
翻訳エンジンなど言語処理の領域では、「データラングリング」(データの前処理)が欠かせません。本稿では、なぜデータラングリングが重要なのか、Pythonを利用したテキスト抽出例や特定文字列のフィルタリングなど実例を交えながら解説していきます。
まずは、Microsoft WordやGoogle Docsなどで作成された.docxファイルから、Pythonを利用してテキストデータを抽出する方法を紹介します。
.docx形式のファイルを解析(パース)するためのパッケージをインストールする必要があります。ドキュメントからテキストを抽出することだけに焦点を当てることとし、.docx形式のファイル構造やパースの方法は割愛します。
今回使用するパッケージは「python-docx」です。インストールには、Pythonに標準で付属しているパッケージマネジャーのpipを使用します。以下のコマンドを実行すると、パッケージを入手できます。
$ pip install python-docx
Copyright © ITmedia, Inc. All Rights Reserved.