書籍「15Stepで踏破 自然言語処理アプリケーション開発入門」をやってみる - 4章Step15メモ「データ収集」


内容

15stepで踏破 自然言語処理アプリケーション入門 を読み進めていくにあたっての自分用のメモです。
今回は4章Step15で、自分なりのポイントをメモります。(ほとんど書くことないですが)

準備

  • 個人用MacPC:MacOS Mojave バージョン10.14.6
  • docker version:Client, Server共にバージョン19.03.2

章の概要

書籍の最終章として、これまでに見てきた自然言語処理や機械学習を行う上で、各々の目的に合致したデータセットを公開データから探したり、自前で構築したりするときのヒント集となっている。

  • データセットの収集
  • クラウドソーシング

15.2 データセットの収集

公開データセットの利用

データセット 特徴
Wikipedia Web百科事典で、公式に全データのダンプファイルが公開されている。
青空文庫 著作権の失効した文芸作品のテキストファイルを無料でダウンロードできる。
livedoorニュースコーパス ライブドアニュースの記事の一部がクリエイティブ・コモンズ・ライセンス(表示-改変禁止)で提供されている。
日本語WordNet 単語の意味の階層構造を表現したデータベースで、前処理や形態素解析の際に利用することが考えられる。

この他にも有料であったり利用申し込みが必要なもの、利用用途に制限のあるものもある。

クローリング

欲しい公開データセットがない場合、Webサイトをクローリングしてデータを収集することが考えられる。
教師なしデータは集めやすい。

  • 多くのWebサーニスではクローリング目的の大量アクセスを規約で禁止している
  • データ収集先のWebサイトの利用規約で、コンテンツの利用目的に制限が課されていることもある

15.3 クラウドソーシング

クローリングは無料だが、教師ありデータを集めにくい。
クラウドソーシングを使うと有料(クラウドワーカーに報酬が必要)だが、タスクを設定することができる他、多数の作業者が並行して多数のタスクを安価に依頼できる。

日本語のデータセット構築では日本語話者の作業が必要となるため、必然的に国内のサービス(クラウドワークスやランサーズなど)を利用することになる。