見出し画像

【はじめてのIT勉強会】noteでTeX記法が使えるようになっていた話(あとづけで、自然言語処理の話)

本記事は【はじめてのIT勉強会 Advent Calendar 2021】10日目の記事です。
今回は、note が数式(TeX記法) に対応していた ので、早速使ってみました

■ はじめに

はじめまして、さとうです。

本記事は、noteが数式(TeX記法)に対応した と公式発表があったので、早速使ってみたという記事です。

■ やってみたこと

note が数式(TeX記法) に対応したので数式をTeX記法で書いてみました。

□ tf(t,d) = \frac {f(t, d)}{\sum^nf(t_k,d_j)}


$$
tf(t,d) = \frac {f(t, d)}{\sum^nf(t_k,d_j)}
$$

□ idf(t) = log \frac {N}{df(t)} + 1


$$
idf(t) = log \frac {N}{df(t)} + 1
$$

□ TF \times IDF


$$
TF \times IDF
$$

■ あとづけテーマ

数式が書きたいがための記事なので、内容はあとづけです。
はじめてのIT勉強会 Advent Calendar 2021】2日目の記事で、音声合成技術の進歩を目の当たりにしたので、こちらも周回遅れで自然言語処理をテーマに取り上げることにしました

■ 自然言語処理とは

Wikipedia によると、以下のようなことが書かれていました。
要約すると、コンピュータが人の言葉を理解できるようにすることを目的にした技術のような感じでしょうか。

自然言語処理(しぜんげんごしょり、英語: natural language processing、略称:NLP)は、人間が日常的に使っている自然言語をコンピュータに処理させる一連の技術であり、人工知能と言語学の一分野である。

Wikipedia - 自然言語処理

個人的な解釈としては、曖昧性をコンピュータに理解させる技術と広く捉えることにしました。

■ 自然言語処理の基本技術

自然言語処理は、要素技術(単語分割など)をベースにおいて、複合技術(音声認識など)に展開されています。

Siri や Alexa などの質疑応答を筆頭に、より技術を身近に感じる場面が増えていること、目覚ましい技術の進歩だなと。

今回は、要素技術に位置する単語分割について触れていきます。

■ 単語分割のお話

自然言語処理は、ここ十数年で認知率の向上した機械学習と合わせて触れられることが多い印象ですが、基本的な自然言語処理は代表的な基礎技術として以下のような技術について研究が進められています。

  • 形態素解析

  • 構文解析

  • 意味解析/意味理解

  • 文脈解析

  • 感情分析

単語分割は、基礎技術の形態素解析に位置するお話です。
形態素とは意味を持つ最小要素のことを指し、形態素解析は、単語への分解と品詞情報の分類づけを目的として行います(解析例は以下)。

原文:私は寿司が好きだ
形態素解析結果:私/は/寿司/が/好き/だ

本記事では重要ではないですが、形態素解析は利用する自然言語(日本語、英語など)の影響を受けて、処理の難易度が大きく異なり、日本語は難易度が非常に高い言語だったりします。

■ 形態素(文字列)のベクトル化

文字情報である形態素をコンピュータが処理できるようにするために必要な処理がベクトル化(数値化)です。

このベクトル化するための手法はさまざまあり、今回はTF-IDFについて紹介します(代表的な手法には、BoW(Bag-of-Words)が挙がりやすいです)。

■ TF-IDF

TF-IDFは、文章中の単語の重要度を評価することを実現する手法で、TFとIDFを掛け合わせることで成立する手法です。


□ TF(=Term Frequency)

TFは、解析対象とする文章内における単語の出現頻度を示します。
出現頻度を求める数式は以下のとおりです。

$$
tf(t,d) = \frac {f(t, d)}{\sum^nf(t_k,d_j)}
$$

分子:文章(=d)内における、指定した単語(=t)の出現回数
分母:文章内の全単語の出現回数


□ IDF(=Inverse Document Frequency)

IDFは、出現する単語の希少度を示します。
希少度は以下の数式で求めることが可能です。

$$
idf(t) = log \frac {N}{df(t)} + 1
$$

分子:総文章数
分母:とある単語(t)が出現する文章の数


□ TF-IDF

TF-IDF は、前述のとおり、TF と IDF を掛け合わせた結果となるので、最終的に以下の計算で求めることが可能となります。

$$
TF \times IDF
$$

■ おまけ

自然言語処理として、未だ技術的に解決が難しい領域が、意味解析以降の高次の分野です。

意味解析の領域になると、ベクトル空間解析を利用した潜在意味解析や、ベクトル空間モデルなど単語や文書の関連度を求めることを行います。

意味解析を実現するには、その曖昧性を掴む必要があり、前後の文脈情報だけではなく、情報として起こされていない情報を取得することが重要となる場面が多く、この課題を解決するためにいろいろな手法が試行されているのが現状です。

■ おわりに

note の数式(TeX記法) 対応を受けて書き上げた記事ですが、太字・斜体などの文字装飾も綺麗に反映されるなど個人的には満足のできる使用感でした。

今回、自然言語処理と記載しましたが、実際は形態素解析に触れるか触れないかに留まる内容になってしまいました。またの機会に続きを書ければと思います。

ご拝読ありがとうございました。

いいなと思ったら応援しよう!