0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

AI-900学習メモ:Text Analytics(テキスト分析)

Last updated at Posted at 2025-09-23

導入

最近「テキスト分析」という言葉をよく目にする。なんとなくカッコよさそうだけど、具体的に何をするのかはピンとこない。AIとかビッグデータとかに出てくるから、どうせ数式と英単語だらけで難しいんだろうな……と身構えていた。

でも、いざ少し調べてみると「単語を数える」「似ている言葉をまとめる」みたいな、けっこうシンプルな発想から始まっているらしい。コーヒー片手に整理してみた学習メモをここに残しておく。

コーパス(Corpus)って何?

まず前提として出てくるのが「コーパス」。
これは たくさんの文章や会話を集めて検索できるようにしたデータの山 のこと。

たとえば「犬」という単語がどういう文脈で使われているのかを調べたいとき、辞書だけでは足りない。小説やSNS投稿、記事など実際の用例を大量に集めて「犬ってこんなときに使われやすいよ」というデータベースにする。それがコーパス。

トークン分割(Tokenization)

次に出てくるのが「トークン分割」。
要するに文章を 意味のある最小単位(トークン) に切り分けること。

英語なら単語ごとに区切るのが基本。
日本語だと「私はリンゴを食べる」を「私 / は / リンゴ / を / 食べる」と細かく区切る。この作業は「形態素解析」に近い。

切り分けたあとにやっておくと便利な前処理もある:

  • テキストの正規化:句読点を消したり、大文字小文字をそろえたり。
  • ストップワード削除:”the”や”a”のように、あまり意味を持たない単語を省く。
  • n-グラム:1単語だけじゃなく「I have」みたいに2語以上の組み合わせも単位にする。
  • ステミング:”power”, “powered”, “powerful”を全部「power」にまとめる。

こうしてシンプルにしたデータを使うと、その後の分析がだいぶやりやすくなる。

分析その1:頻度分析

もっとも直感的なのがこれ。
どの単語がどれだけ出てきたかを数えるだけ

たとえば日記の文章から「カフェ」「コーヒー」「エスプレッソ」がやたら出てくるなら、書き手はカフェ好きかもしれない。単純だけど、文章の主題を探る入口になる。

分析その2:テキスト分類

次は「テキストをグループ分けする」方法。

たとえばレビューをポジティブ(肯定的)とネガティブ(否定的)に分けるとき。

  • “great”, “tasty”, “fun” → ポジティブ
  • “terrible”, “slow”, “substandard” → ネガティブ

こういうルールを学習させて自動で分類する。
ここでよく出てくるのが ロジスティック回帰 という仕組み。名前は難しそうだけど、ざっくり言えば「条件に応じて確率的に0か1かを決める仕組み」くらいの理解でいい。

分析その3:意味的な関係性(セマンティックモデル)

ここから少し高度になる。
単語同士の「意味の近さ」を数値で表す方法だ。

例えば:

  • “dog” → [10, 3, 2]
  • “cat” → [10, 3, 1]
  • “bark” → [10, 2, 2]
  • “meow” → [10, 2, 1]
  • “skateboard” → [3, 3, 1]

このとき「dog」と「cat」は数値の並びが近いので、意味的にも近いと判断できる。逆に「skateboard」はまったく違う場所にあるので無関係とみなされる。

実際には数百〜数千次元のベクトルで表現されるので、人間の頭では直接イメージできないけれど、コンピュータはこの「ベクトルの距離」を計算して意味を推測している。

NLP(自然言語処理)のタスク例

こうした仕組みを使って、いろいろなタスクが可能になる。たとえば:

  • キーフレーズ抽出:文章から重要な言葉を抜き出す
  • 名前付きエンティティ認識:人名や地名を識別する
  • 感情分析:ポジティブかネガティブかを判定
  • 要約:長い文章を短くまとめる
  • 翻訳:言語をまたいで意味を変換
  • 会話型AI:人間の言葉を解釈して返答

映画のレビューを一瞬で「面白い派」と「つまらない派」に仕分けたり、ニュース記事を数行で要約したり。普段何気なく使っている検索エンジンやAIチャットも、この辺の技術が詰まっている。

Azure AI Languageでできること

クラウドサービスを使えば、自分で複雑なアルゴリズムを組まなくても、この分析を体験できる。

Microsoft Azureの AI Language では、以下のような機能が提供されている:

  • 名前付きエンティティ認識(人・場所・イベントなどを特定)
  • エンティティリンク(Wikipediaとつなげる)
  • 個人情報の検出(電話番号や住所などのマスク処理に使える)
  • 言語検出(英語、日本語、中国語…など)
  • 感情分析・オピニオンマイニング
  • 要約生成
  • キーフレーズ抽出

つまり「セマンティック言語モデルを自分で作る」のではなく、すぐ使えるAPIとして提供してくれている。これは便利。

Hands-onで試せる

ありがたいことに、Azure AI Languageを体験するための手順がまとめられているGithubサイトがある。
実際に触ってみると「ニュース記事を一瞬で要約」とか「人名と場所だけピックアップ」といった体験ができる。

👉 Azure AI Language Hands-on(公式ラーニング)


まとめ

今回の学習メモをざっくり整理すると:

  • コーパス:文章データの集合体
  • トークン分割:文章を単語レベルに分ける前処理(正規化やストップワード削除も大事)
  • 頻度分析:単語の出現回数を数えて主題を探る
  • テキスト分類:ポジティブ/ネガティブなどに分類
  • セマンティックモデル:単語同士の意味的な近さを数値ベクトルで表す
  • NLPタスク:要約、翻訳、感情分析など幅広い応用あり
  • Azure AI Language を使えばAPIとして手軽に体験可能

数式や理論に深入りしなくても、「テキストを分解して、数を数えて、意味を近さでつなぐ」――そんなイメージがあれば十分入口に立てる。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?