Data cleaning before text mining is very difficult because it is too complex and yet too simple to be solved by AI or PG, etc. Therefore, data processing using human cognitive abilities is a very effective solution to this problem.
テキストデータのクレンジングの難しさについて
学習器に突っ込む前のテキストデータは余計な文章がテキスト全体に含まれていることが多い。例えばPubMedからDLしたPLOS ONEのアブストラクトテキストデータが今私の手元にあるがこのデータを端的にクレンジングしようとしてもとっても難しい状況に相対することになってしまう。まず問題なのは収録されている各論文のタイトルを残しながらメールアドレスデータ・著者データ・論文の引用情報データ・論文の持つID的データなどはくまなく削除する必要があるということ。これがすごく難しい…。
なぜそうなのか?
というのもR上あるいはPython上で単に正規表現を用いてクレンジングしようとしても所謂エージェント的なAIを用いることは容易ではない。特にRユーザはAIのプログマラブルな部分とは無縁であることが多く専門的に言ってPython流の自動処理AIプログラムとは根本的に違っている構造を前提としている。Rはマーケット分析には強いが本流の自動化AIとはかなりの程度無縁で設計思想が違うからだ。だからこそRでクレンジングするのは難しいしたとえPythonを用いてもコラボレトリーレベルのコーディングでこのクレンジング自動化をするのには困難が伴いがちだ。
散乱する問題
なぜこのようになっているかと言うともちろんそもそもジャンクワードが点在していることもあるがその中でさらに空行もありもともとの行列内である距離的に程度論文の離れた位置にある論文タイトルを(AIを用いるとしたらそのAIが)認識しないとダメなこともある。さらにピリオドで行を区切っているにしても大本のデータがそのようになっておらず適当に改行されている問題もあれば固有名詞(もっと言うと専門用語)の略称にピリオドが含まれていて解析の困難性をより強めているという問題もあるのだ。古典的で単純な問題だがこれは本当に難しい対応が迫られるトコロ…。
問題の整理
このクレンジングの問題自体をGoogle検索のAIに投げてみたがこう出てきた。まず「表記の「ゆらぎ」と多様性」…これは方言とかスペルの大小の違いだとか日英混合文書のことだとかを指す。次に「コンテキスト(文脈)の保持とノイズ除去のバランス」…過剰なクレンジングが為され全体バランスを欠くこともあり得る。「日本語特有の難しさ」…これはまぁ良いだろうw。さらに「データの不整合と構造化のコスト」…解析器に突っ込む前の元データが多様なソース(アンケート・メール・フォームなど)の形を取っていること。最後に(既に述べたけど)「エイリアス(偽名・別称)と専門用語」の問題があるわけ。…とまぁAIの問題をAIに聞いてみたのだ(笑)。
【手作業最強】
正規表現でできるのは大筋のみ。よってAIを用いて文章判断させ上述のジャンク系を除去しようとしてもそれはそれで高度なPGスキルが必要になってくる。結局何が言いたいのか?って言うと【手作業最強】ということである。もっと言うと【正規表現+手作業】が最強である。クレンジングにおいてはAIが担う可能性は否定できない。多分どっかのWEBサイトベースでそういう専門のAIが出て来るだろうことは想像に難くない。だが現状クレジングを巡る問題は手作業でやっていく以外効率の良い方法論は見て取れないと私は思っている。
