今回は、テキストマイニングでの分析の重要性について解説したいなと思います。
また、どんな分析手法があるかなど、分析が大好きな人用の記事になります笑
目次
テキストマイニングとは
テキストマイニングという言葉をよく理解するためにも、まずはこの言葉を分割して考えましょうか。
テキストは、当然テキストデータと呼ばれるものからきています。マイニングは、マイン(鉱山発掘)から由来します。
つまり、ビッグデータのテキストデータの中に埋もれている「重要で意味のある情報」を発掘するということです。
それらのたくさんのテキストデータから、言語を解析する技術と数学的・統計的なツールを使用して、より質が高く意味のある情報を抽出します。
また、ここでは「テキストデータ」と「情報」という二つのキーワードとして分けています。
ここでのテキストデータとは、ネット上やローカル上といった様々な文書であったり、SNSでの投稿であったり、はたまた製品・商品といったもののアンケートに関するデータを指しています。
つまり、物事に対して何かしらの「目的」を持ったテキストであり、入力された「データ」ということになります。
そしてテキストマイニングは、これらの「データ」群から、SNSにおける最近のトレンドを抽出したり、アンケートからある商品のポジティブ・ネガティブといった評価を抽出したりします。
このように、ある「データ」群からまさにターゲットとした内容を的確に抜き取ります。
この圧縮され、選別された「データ」を私自身は「情報」と考えています。
分かりやすく整理しておきましょう。
テキストマイニングは、大量のテキストデータから圧縮された情報を抽出するためのプロセスということになります。
テキストマイニングが利用される理由
私自身、テキストマイニングによる分析を始めるようになってから、他ブログや書籍も確実に増えてきました。
なぜここまで言えるかというと、ブログにはピンバックといった機能があります。
このピンバックとは、参考にした記事をサイト管理者に「リンク貼りましたよ〜」って通知してくれます。
つまり、私の情報発信は報われ、様々な人の目に触れている証拠であり、テキストマイニングの利用価値が増加してきているようです。
事実、私のブログもテキストマイニングに関する記事がトップクラスでアクセスが多いです。
この場を借りて、あなたに見て頂けるような記事でよかったと思ってます。
いつも一読して頂いている方、ありがとうございます。
さて、本題に戻ります。
他にもテキストマイニングが盛んに行われている理由はいくつか挙げられます。
まず、機械に可読可能なテキストデータが容易に入手できるようになった点です。
例えば、SNSの代表格であるTwitterがありますが、短文によるツイートといった機能で、様々なテキストや画像を発信しています。
また、最近APIによってデータを簡単に取り出せれるようになりました。
もちろん、APIの制限も年々厳しくなっていますが、まだまだ利用用途はあると考えています。
次に、私が今まさに記載しているブログやサイトといったネット上にあるデータが増加している点です。
例えば、pythonでのWebスクレイピング技術によって、Web上のデータを抜き取るなど、プログラミング技術が多少あれば、簡単にできるようになりました。
さらに、テキストデータにおける解析のためのプログラムであったり、仕組みが世の中に広く公開されており、容易に入手できる点です。
国土交通省や郵便局など、公にしているデータや個人情報を含まない有益なデータというのは意外と転がっています。
さらにさらに、情報社会になってデジタルコンテンツが様々な形で提供されるようになった点です。
無料で配布されていたり、GitHubなどでソースコードを公開していたりします。
また、様々な人に活用されることで、利用されているコンテンツが加速度的に成長することで、改善を繰り返されていくわけです。
そういう積み重ねが今後も著しく見られ、ネット社会における分析という分野は発展していくと考えています。
もうないかと思いきや、まだあります。特に目覚ましい変化として、解析の仕組みに学習という考え方を組み合わせる手法が挙げられます。
簡単にいうと、機械学習です。
つまり、解析手法とプログラミングが行えれば、個人で様々なテキストや画像といった分析が可能というわけです。
データクレンジング
できるだけ簡潔に述べると、必要のないデータを取り除き、利用できる情報へと整形することを指します。
Twitterのツイート情報などを抽出すると、文章だけでなく、無駄なURLなども抽出してしまい、分析の妨げになることがあります。
そのため、必要に応じたデータの整形を行い、本当に意味のある情報へとクレンジングをかける必要があります。
これをデータクレンジングと言います。
非構造化データ分析の課題
ここまで記述してきた内容だけでなく、プログラミングにてデータを抽出する際の流れを考えていかなければなりません。
その前に、非構造化データと呼ばれる日頃目にするテキストデータは、課題をいくつか残しています。
一つ目に、データが持つ意味を理解しなければならない点です。
扱うこととなるデータの頻度・相関関係はもちろん、そのデータに含まれるキーワードのトレンドなど、把握しなければならないポイントがあり、分析スキルが必要となります。
要するに、分析をするにあたっての考え方を養う必要があり、日頃から自分にWhy?を投げかけられるようになるといいかもしれません。
自分はなぜこのデータを分析するのかといった目的であったり、データを分析した結果から何が得られるんであろうとかですね。
二つ目は、様々なデータにおけるフォーマットの多種類化です。
単純なテキストファイルから、csvファイル、JSONファイルなど、データのフォーマットが異なるケースが非常に多く、それらを結合する整形方法が重要になります。
また、情報は常に更新されていくものなので、定期的な情報の更新を考えておかなければなりません。
三つ目が、上記のように加工処理に手間がかかる点です。
やはり必要な情報を抽出するためには、誰かがクレンジングであったり、フォーマットの統一を行わなければなりません。
そのため、手間暇かけてあげる気持ちが大切です。データとにらめっこしてあーだこーだ悩める人は向いていると思います。
どんな分析・データマイニングができるのか
ここまでで、どんなことを意識してテキストマイニングしなければならないかざっくりとですが、書き記してきました。
あなたの周りにも分析対象となるデータは必ず落ちていると思うので、探してみるのも楽しいと思います。
探した結果、見つかったとしたら、ぜひどんな方法でもいいんで分析してみてほしいなと。「発見」ってそういうところからだと考えます。
あなたもデータサイエンティストになれちゃうわけですね。
ここからは、様々な分析対象となるものを紹介していきます。
参考にしていただければと思います。
アンケート・FAQの分析・データマイニング
現在、本当にいろんなところで、製品やサービスが提供されています。紙媒体のものからネットワークを介したデジタルコンテンツまで。
そんな様々なものの印象や評価を行うため、そしてさらなる改善を行うためにアンケートや一問一答といったFAQと呼ばれるものがあります。
つまり、利用者の方や不特定多数の方にどう感じているか、どう利用しているかなどを調査するわけです。
その調査結果を元に分析し、新たな発展に分析は利用されています。
SNS分析・データマイニング
もう言うまでもなく、スマートフォンの普及により、SNSが爆発的に利用されています。
そのSNSを利用している方の情報を分析することで、様々な物事に応用が効いてくるわけですね。
私は、Twitterの感情分析や単語の頻度数や言葉の相関関係などを調べることが多いです。
トレンド分析・データマイニング
ファッションと同じで、データの中に潜む意味のある情報にもトレンドが存在します。
このトレンドを掴むことで、商品の売れ行きや今後の施策、はたまた関連商品のレコメンドなどを行う際に活用できます。
時系列分析といったものを利用すれば、トレンドがより浮き彫りになり、いつ頃この商品は有名になったとか、年齢層で測ればどの層に人気があるのかなど、様々なトレンド情報を取得することができます。
特に、マーケティングに関しての知見を持つ方は、そういったデータを扱うのに長けていると思うので、分析を応用すれば多角的な発見をすることができるのではないかなと思います。
ネットワーク分析・データマイニング
ネットワーク分析と聞いて、あまりピンとこない方もいるかもしれません。
この分析手法は、コネクション分析であったり、コロケーション(共起)分析とも呼ばれています。
簡単に言うと、関連している単語や画像を紐づけて可視化している状態を作り出す分析のことです。
大量のデータを扱う際に、データが膨大なだけに気づきにくい関連したキーワードが可視化することによって、相関の高いものと判断することができ、より情報の深堀りを行う際に利用されることが多いです。
あとは単純にみてて楽しいです笑
言語的分析・データマイニング
これは、純粋に言語といった日本語や英語だけの話ではなく、人物を捉える内容も含まれています。
例えば、怒りやすい人、幼稚な人、悲しそうな人、嬉しそうな人など、言葉には名詞の他に動詞や形容詞といった様々な品詞があります。
そういった品詞をうまく利用することで、例に出した人たちの言動に関する特徴を浮き彫りにすることも可能です。
テキストマイニング用pythonのソースコード
私自身、自分のツイートを検証で分析することがありますが、明らかにプログラミング関係と分析に関するキーワードが特出しています。
ブログ内の別ページに分析用のコードは転がっているので、試しに私のツイッターアカウントを分析してみてほしいです笑
だいぶ偏った人だな〜って分かるかと思います笑
あ、@sugi_rxで見つけてみてください。
勝手に分析してくれて構いませんので、どんどん分析してみてください。
そして、分析した結果、報告してくれれば泣いて喜びます笑
ここまで読んでくださった方、ありがとうございます。
今後も不定期ではありますが、記事更新していきたいと思います。
以下に、関連URLを貼っておきます。
また、今後もプログラミングに取り組み続けていく中で、実務に利用できる学びを身につけていかなければなりません。
実務の中のヒントを導き出してくれるテキストマイニングという技術を習得できたおすすめのPython本が以下のものになります。
・Pythonによるテキストマイニング入門
・やってみよう テキストマイニング -自由回答アンケートの分析に挑戦!-
・言語研究のためのプログラミング入門: Pythonを活用したテキスト処理
プログラミング学習で作りたいものがない場合
独学・未経験から始める人も少なくないので、プログラミング学習の継続や学習を続けたスキルアップにはそれなりのハードルが設けられています。
また、プログラミング学習においても、学習者によってはすでに学習対象とするプログラミング言語や狙っている分野が存在するかもしれません。
そのため、費用を抑えて効率的にピンポイント学習で取り組みたいと考える人も少なくありません。
また、プログラミング学習において目的を持って取り組むことは大切ですが、『何を作ればいいかわからない。。』といったスタートの切り方で悩む人もいると思います。
そういったプログラミング学習の指標となる取り組み方について詳細に記載したまとめ記事がありますので、そちらも参照して頂けると幸いです。
Pythonに特化した学習を進めたい人へ
筆者自身は、Pythonista(Python専門エンジニア)としてプログラミング言語Pythonを利用していますが、これには取り組む理由があります。
プログラミングの世界では、IT業界に深く関わる技術的トレンドがあります。
日夜新しい製品・サービスが開発されていく中で、需要のあるプログラミング言語を扱わなければなりません。
トレンドに合わせた学習がプログラミングにおいても重要となるため、使われることのないプログラミング言語を学習しても意味がありません。
こういった点から、トレンド・年収面・需要・将来性などを含め、プログラミング言語Pythonは学習対象としておすすめとなります。
オンラインPython学習サービス – 『PyQ™(パイキュー)』
「PyQ™」は、プログラミング初心者にも優しく、また実務的なプログラミングを段階的に学べることを目指し、開発されたオンラインPython学習サービスです。
Pythonにおける書籍の監修やPythonプロフェッショナルによるサポートもあり、内容は充実しています。
技術書1冊分(3000円相当)の価格で、1ヶ月まるまるプログラミング言語Pythonを学習することができます。
特に、、、
・プログラミングをはじめて学びたい未経験者
・本、動画、他のオンライン学習システムで学習することに挫折したプログラミング初心者
・エンジニアを目指している方(特にPythonエンジニア)
かなり充実したコンテンツと環境構築不要なため、今すぐにでも学び始めたい・学び直したい、Pythonエンジニアを目指したい人におすすめです。
オンラインPython学習サービス「PyQ™(パイキュー)」 ※技術書1冊分の価格から始めて実務レベルのPythonが習得できます |
おすすめしたいプログラミング学習プラットフォーム
独学・未経験から始める人も少なくないので、プログラミング学習の継続や学習を続けたスキルアップにはそれなりのハードルが設けられています。
また、プログラミング学習においても、学習者によってはすでに学習対象とするプログラミング言語や狙っている分野が存在するかもしれません。
そのため、さらに費用を抑えてピンポイント学習に取り組みたいと考える人も少なくありません。
そこで費用を抑えた上でプログラミングに取り組みたい人へ、オススメしたいプログラミング学習プラットフォームを紹介していきます。
プログラミング学習プラットフォーム – Udemy
Udemyは、世界最大級のオンライン学習プラットフォームとなります。
世界中の学びたい人と教えたい人をオンラインでつなぐサービスとなっており、Udemyは米国Udemy,Inc.が運営するプラットフォームで日本ではベネッセが事業パートナーとして協業をしています。
<利用者実績>
受講者数:約3000万人
講師数:約42000人
講座数:約10万
お手頃な価格帯の豊富なコンテンツ
1講座あたり数千~数万円程度で実践的なスキルアップが可能となっています。
講座は一度購入すれば視聴期限なく受講することができます。
また、30日返金保証もついているので安心して始めることができます。
学びやすい多彩な機能
0.5~2倍の変速機能で自分のペースで受講を可能にする機能や、専用アプリを利用することでスマホからオフライン環境でも学習対象となる講座の視聴が可能です。
また、講師にアプリ・サイト等の直接掲示板から質問ができるため、疑問を解決し自学自習をサポートしています。
どんな人が対象者になるのか?
Udemyを検討するにあたって、次のような内容で悩んでいるあるいは目的としている人にオススメすることができます。
・習得したいプログラミングスキルが明確で、年収アップのために学習しているエンジニア
・テクノロジー、ビジネスに関するスキルアップに関心が高い人(特にAI・機械学習を学んでスキルアップを検討されている人)
・Adobeのソフトなどウェブデザインを学びたいと考えている人
・仕事に関連して、スキル獲得や資格取得が必須な人
・転職・再就職・副業のために自己投資を検討している人
これらの内容に当てはまる人は、利用しやすい環境が整っています。
Udemyの主要コース
Udemyには数多くの講座ありますが、分野ごとに学習対象を区分けしておきましょう。
登録してすぐにでも学習が始められるので、特化した分野を以下にまとめておきます。
プログラミング学習は時間を無駄にせず、素早く学習を始めることも大切なので、一分一秒でも習得したいプログラミングスキルに時間を費やしましょう。
世界最大級のオンライン学習サイトUdemy ※講座数10万の中から取り組みたいものが分野別・レベル別で見つかります Python 3 入門 + 応用 +アメリカのシリコンバレー流コードスタイルを学ぶオンライン講座 |