8章汚れたデータをクリーニング

本書ではこれまで、一般にきちんとフォーマットされたデータソースを使うことで、フォーマットがひどいデータという問題を無視していて、期待したものと違っていればデータすべてを捨てていました。しかし、どこからデータを得るかについて選り好みできないこともしばしばあるのです。

誤った句読法、不統一な大文字の使い方、行の分割、スペルミス等によって、汚れたデータは、Webの大問題になっています。本章では、いくつかのツールと技法を使って、コードを書く方法を改め、データベースでデータをクリーニングすることで、この問題を根源から防ぎます。

8.1 コードでのクリーニング

例外を扱うコードを書くのと同じように、予期せぬものを扱う防御的コーディングには練習が必要です。

言語学でnグラムは、テキストまたは発話で使われるn個の語の列です。自然言語解析では、テキストを使われるnグラムで、あるいは、繰り返し一緒に使われる語の集合で分割していくのが便利です。

本節では、きちんとフォーマットされたnグラムを使って分析することよりも、それらを得ることに焦点を絞ります。後の「9章 自然言語の読み書き」で、要約と分析のために2グラムと3グラムを使う方法を述べます。

次のコードは、Wikipediaの項目「Python (programming language)」から2グラムを数え上げてそのリストを返します。

from urllib.request import urlopen from bs4 import BeautifulSoup def getNgrams(content, n): content = content.split(' ') output = [] for i in ...

Get PythonによるWebスクレイピング 第2版 now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.