データ活用。自分でやってみようと思ったときに、知っておくとよいこと。
テキストデータってどんなもの?
テキストデータについて説明する前に、「データ」とは何かを考えましょう。私たちは「データ」というと「真実」と思ってしまいますが、「データ(生データ)」は「事実」と捉えるのが正しいでしょう。ここについての詳細は別の説明に譲りたいと思いますが、「データ」とは「ある程度集まっている事実を観測した情報で、それを選別し、論理を積み上げることで物事の推論・判断・効率化などに利用できるもの」とここでは定義します。
データベースに格納された財務情報や世界各国の人口推移情報といったもの(構造化データと呼びます)であれば、計算・集計なども比較的容易に行えますが、文章・画像・動画など(非構造化データと呼びます)は、何らかの手段で加工し、情報を抽出する必要があります。
テキストデータは、この非構造化データの中でも、主に自由記述の文章を指すことが多く、アンケートやメール・SNS等の文、プレゼン資料や会話の書き起こしなどとして、日常のありとあらゆる場所に存在します。
その中には、筆者の感情、結論に至った理由、あるいはアンケート設問設計者がまったく想定していなかった回答など、数値化されたデータには含まれない、未整理の情報がふんだんに含まれています。しかしごちゃごちゃに溜まってしまった奥底から必要な情報の手掛かりを探し出すのは至難のわざです。
何に使えるの?
ではテキストデータはどのように活用するのでしょう?
テキストデータの活用方法としては、①「テキストデータ自体を検索の対象とする」、②「機械学習の学習源とする」、③「テキストデータに対しテキストマイニングを行い、情報を抽出する」といったものが挙げられます。
皆さんの中でも最も馴染み深いのは①でしょう。過去に作成した資料や質問に対する答えなどを、キーワードや質問文を指定して見つけ出す、ということは毎日のように実施しておられるかと思います。②も、機械翻訳、AIアシスタント、チャットボット、絵画の自動生成といった分野の技術の実現には欠かせないもので、いまや生活の一部となっています。
③のテキストマイニングは直訳すれば文章からの情報の掘り起こしとなります。これは、たくさんの文章に対して、構文・意味・文脈等の解析を行い、文章の話題や感情、一緒に出現する単語の組、誰がどこで何をどうしたといった情報などを抜き出すことで、数値情報のように集計・分類・可視化などを可能とする分析手法の一種です。皆さんも、テレビなどで、今週のSNSのトピックとして、様々な文字の大きさのキーワードが雲のように表示された画像(冒頭に示したワードクラウド)や、アンケートの代表的な回答結果が喜怒哀楽の顔アイコンとともにまとめられた図などを見たことがあるのではないでしょうか?
これらの情報抽出と分析を毎回手作業で実施するのは大変なため、「自然言語処理」と呼ばれる技術を活用します。具体的な手法は他の解説サイトなどに譲りますが、弊社を含むNTTグループでも盛んに研究やサービスへの応用が行われています。
一見きれいなデータだけど
さて、テキストマイニングがどういったものか分かった、データもツールも用意した、では早速分析してみよう!…となって引っ掛かるのが分析の前処理です。
前述の各種解説サイトなどでも、多くは既に比較的整ったデータからスタートしており、ファイルを読み込んだらすぐに処理結果が得られるような流れになっていることがほとんどかと思います。しかしながら現実のデータでは中々そうもいきません。
ここでは、筆者もしばしば遭遇する、あるある事例をご紹介します。
-
そもそも文字列が正しく格納されていない
- 紙資料をスキャナで取り込んだ画像データや、PDF化された文書など、人は容易に読めてもテキストデータがデジタルデータとして格納されていない、あるいはデジタル化する際におかしな状態となっていた。前者に気づくのは簡単だが、後者は例えば「力」を「カ」と間違えている、「ごはん」が「ごごごごごはははははんんんんん」のようになっている、資料枠外のヘッダーやページ番号等が本文に混入している、など後々になって気づく厄介なパターンがある。
- プレゼン資料などで、吹き出しやテキストボックスの見た目上の順序と内部の格納順序がバラバラで、そのままテキストを抽出しただけではパズルのような状態となっていた。
- 独自の自動ファイル暗号化処理が掛かっており、ファイル作成環境以外では読み込めなかったといったことも。
-
書式ルールが守られておらず必要な情報が取り出せない
- 表計算ソフトで作られた資料でありがちなのは、定型書式で集められた申請書類にも関わらず、シートの名称変更、セルの挿入削除による位置ずれ、セル非表示、取り消し線、白背景への白文字化、図形による文字隠しといった機械が理解できない形での修正といった、書式作成者が想定していなかった方法を取られているファイルが混在していた。
- 年度や部署毎に書式が変わっており、必須項目の有無や記載粒度が揃わず経年比較が困難だった。
-
誤字・脱字・衍字で意味が取れない
- コールセンターの応対履歴や議事メモなど、急いで入力される文章には、誤字が多く含まれるケースがある。ローマ字入力の失敗(「お願いします」→「尾根ギアしまs」)や誤変換(「感動しました」→)「勘当しました」)、間違った予測入力(「○○課長」→「○○花鳥風月」)など、どのような間違いがあるか分からない状況では、網羅的に検知・修正することはできなかった。(注 衍字:語句の中に間違ってはいった不要な字)
-
表記揺れや、社内・業界独自の用語・略称が正しく抽出・集計できない
- 「見積」→「お見積り、お見積、お見積もり」、「美味しい」→「うまい」、「NTTアドバンステクノロジ」→「NTT-AT」のような一般的なもの、社外に公表されているようなものは、類義語辞書(弊社でもExpress Finderというシソーラス辞書をご提供しています)で同一視させたり、機械学習により類義語判定することが可能だが、「お客様対応」→「OT」、「休憩」→「3番」などは、事前によく出現する文字列を集めて辞書登録するなどの対処が必要だった。
- 機械学習モデルを用いた分類等を行おうとしたが、一般公開されている汎用モデルの構築時データとはかけ離れた用語、表現、言い回し、文化が多用されており、期待するような結果が得られなかった。
-
背景知識を要する言い回し、皮肉表現などの意図を解釈できない
- 「まるで○○のようです」「まったく素晴らしい運営ですね!!」のようなアンケート回答があったとして、前者は「○○」について知らなければ、褒めているのか貶しているのか分からないし、後者は一般的なポジネガ分析等では強く褒めていると判断してしまう。さらに、機械分類の際に比喩表現に引っ張られ、誤ったジャンルに判定されてしまうことも。(注 ポジネガ分析:ポジティブな発言が多いのか、ネガティブな発言が多いのかなどの感情分析)
-
「何について述べた文書なのか」が、文章作成者にとって自明すぎるため、本文内には書いていない
- クチコミ投稿、動画のシーンに対するコメントなど、文章作成者にとって対象が自明であるため文中に記載がなかった。
- 「今日」、「1週間前」などが示す日時の情報や、「これ」、「近くの」といった指示語などの手掛かりがなかった。
-
個人情報等の伏字処理に過不足がある
- 個人情報保護の観点で、文中に出現する個人名や電話番号等が伏字化されている場合において、社内人物や取引先企業名(名字が企業名になっている場合等)、製品ID等まで隠されてしまい、必要な情報が得られなかった。
- 逆に、カタカナで記載された人名、電話番号の桁誤りや省略等が伏字されずに残ってしまっていた。
- 住所や年齢等では、都道府県名や何歳台だったのか、といった丸められた情報も残っていなかった。
-
従来の自然言語処理が想定できていない文章構成をしていた
- 若者向けのSNSやメッセンジャーアプリのような文章を入力したところ、1,2単語の超短文の連続、句読点が使われていない文、絵文字/スタンプ/ハッシュタグ/音声メッセージ等が入り乱れ、従来のツールでは1文の認識すら適切にできなかった。
…などなど細かいことを挙げだすとキリがありませんね。状況に応じて取り得る対策はケースバイケースであり、ここでは詳細は言及しません。残念ながら後からはどうしようもないこともありますが、テキストデータを扱うのに完璧な対応は不可能ですので、ある程度でも対処できれば十分目的は果たせると考えて割り切って対応していきましょう。
他の情報との紐付け。必要な情報・手掛かりはそこにある?
ここまではデータを取り出す際の留意点について記載しましたが、ここからは取り出した後の話です。
アンケートやコールセンターの応対履歴のようなデータを分析する場合、それをどういった人が書いた(言った)のか、どのような状況だったのか、その前後どういった行動を取ったのか、というような情報と紐付けられるのかどうかで、分析の深さ・有用性が大きく変わってきます。
例えば対象がコールセンターの応対履歴データとして、主目的が「コールセンターの業務効率を上げる」であれば、問合せ自体を減らす、後処理も含めた解決までに掛かる時間を減らす、ということがまず考えられますし、「サービス改善や新商品開発の手掛かりを得たい」のであれば、苦情やご要望の具体的な内容を取り出すということになるでしょう。
この際、応対本文から、製品名を取り出す、お客様の感情の度合いを判定する、問い合わせ種別を類似性で分類・集計するといった方法で分析を行うことが考えられます。とはいえ手入力されたデータに欲しい情報が全て揃っていることは稀であり、結局多少効率は良くなれど分析者の感覚頼りになりがちです。ここで、本文情報だけでなく、応対に掛かった時間や、顧客データベース、問合せまでに参照したWebサイトのページなどの定量情報との紐付けが可能であれば、対象の絞り込みや関係性の抽出、属性毎の傾向比較などが容易に行えるため、より的確な分析が行えます。また、分析結果を踏まえた施策実施前後の効果測定も行いやすくなります。
AIが何とかしてくれるのでは?
ここまでに挙げたような課題も、最近はAIが良い感じに解決してくれるんじゃないの?と思われる方も多いと思います。
確かに、この数年の自然言語処理や画像処理等に関するニューラルネットワーク等の技術の進化は目覚ましく、従来はルールベースや研究者の職人芸的なパラメータチューニング等を必要としていた処理が、機械に大量のデータを学習させるだけでその精度を大きく上回る場面が多くなりました。画像からの文字の読み取り(OCR技術)などの精度も上がりましたし、単に文章を読み解くだけでなく、人が記述した文章の続きを書く、指定された内容の絵を描く、人とチャットする、といったことも可能になってきました。現在はまだ粗も目立ちますが、毎週のようにその対処や新たな活用方法が現れています。
とはいえ残念ながら(少なくともまだしばらくは)何でもAI任せとは行かず、用途を限定したり、人によるお膳立てが必要になります。特に、何を解決するのか?本質的な課題は何なのか?考慮すべき範囲はどこまでなのか?文書の作成背景はどうなのか?というような点は人の洞察・暗黙知が不可欠です。
さいごに
今回は、実際にテキストマイニングを行う前の段階で引っ掛かりがちな「罠」の一例をご紹介しました。様々なデータをかき集め、またノイズを減らして分析精度を高めようとしていくと際限がありませんが、とりあえず何もせずに手持ちのデータを取り込んでみるだけでも、これまで見えなかった気づきが得られる可能性があります。臆することなくトライしてみてください。
関連する商材
AIデータ分析コンサルティングサービスExpress Finder(エクスプレスファインダー) / シソーラス辞書
執筆者
デジタルAI事業本部 アドバンスデータアナリシスビジネスユニット
AIデータ分析コラム
このコラムは、NTT-ATのデータサイエンティストが、独自の視点で、AIデータ分析の技術、市場、時事解説等を記事にしたものです。
※本コラムの著作権は執筆担当者名の表示の有無にかかわらず当社に帰属しております。
AIデータ分析シリーズ
- ソリューション
- パッケージ(Spotfire、TIBCO製品)
※DeAnoSは日本電信電話株式会社の登録商標です。
※当社とNTTコム オンライン・マーケティング・ソリューション(株)は、Spotfireの販売契約を締結しています。
※TIBCO、Spotfireは、Cloud Software Group, Inc.の商標または登録商標です。