自然言語処理 (NLP)
人間が日常的に使う言語 (自然言語) をコンピュータで処理・理解・生成する技術の総称。形態素解析、構文解析、意味解析、機械翻訳、感情分析などを含む。
自然言語処理 (Natural Language Processing、NLP) は、人間の言語をコンピュータで扱うための技術分野です。「自然言語」とはプログラミング言語のような人工言語に対する概念で、日本語、英語、中国語など、人間が自然に発達させた言語を指します。検索エンジン、音声アシスタント、機械翻訳、チャットボット、スパムフィルターなど、日常的に使うサービスの多くが NLP 技術に支えられています。
NLP の処理は階層的に構成されます。最下層の形態素解析はテキストを単語に分割し品詞を付与します。構文解析は単語間の文法的な関係 (主語-述語、修飾-被修飾) を解析します。意味解析は文の意味を理解し、語義の曖昧性を解消します。談話解析は文を超えた文脈 (指示語の解決、文間の論理関係) を処理します。各層が下位層の結果に依存するため、形態素解析の精度が全体の品質を左右します。
日本語の NLP には英語にはない固有の課題があります。第一に、単語間にスペースがないため、形態素解析が必須です。第二に、主語の省略が頻繁で、文脈から補う必要があります。第三に、敬語体系が複雑で、同じ意味でも「食べる」「召し上がる」「いただく」のように多様な表現があります。第四に、漢字の読みが文脈依存 (「生」は「なま」「いきる」「うまれる」など) で、読み仮名の推定が困難です。
2017 年の Transformer アーキテクチャの登場以降、NLP は劇的に進化しました。BERT (2018 年) は文脈を考慮した単語表現を学習し、GPT シリーズ (2018 年〜) は大規模なテキスト生成を実現しました。これらの大規模言語モデル (LLM) は、従来の NLP タスク (翻訳、要約、質問応答) を人間に近い精度でこなすだけでなく、プログラミングや創作など従来は NLP の範疇外だった領域にも応用されています。
NLP と文字数カウントは密接に関連しています。形態素解析の結果は「単語数」のカウントに直結します。文の区切り検出は「文数」のカウントに必要です。読了時間の推定には単語数と文の複雑さの分析が使われます。感情分析は SNS 投稿の文字数制限内でどれだけ感情が伝わるかの指標になります。文字数カウントツールの高度な機能は、NLP 技術なしには実現できません。