Python での見出し語化 | 初心者向けガイド

Python での見出し語化 | 初心者向けガイド

このチュートリアルでは、単語のさまざまな要素をグループ化するために使用されるメソッドであるPythonの見出し語化について説明します。見出し語化は、単語の語形変化を減らすことも目的としており、単語の見出し語が意味する語の語根または基本形を提供することに重点を置いています。

目次

見出語化とステミング

見出し語化はステミングに似ており、単語の語尾変化を軽減する機能もあります。唯一の違いは、見出し語化では結果として辞書ベースの単語が使用されることです。

一方、ステミングでは語形変化した単語から接辞が削除されるだけなので、単語が存在しない可能性があります。

たとえば、単語Studiesに対してステミングを利用すると、単語Studiesから接尾辞es を削除することを目的としているため、単語Study が出力として得られます。

一方、見出し語化を利用すると、単語の基本形を提供することに重点が置かれるため、結果として単語の学習が行われます。

見出語化を利用する際に考慮すべきこと

  • 辞書に基づいた単語を使用します。単語の語根または基本形を意味する補題という用語を使用した補題化は、単語の語形変化を単に削除するのではなく、単語の基本形を提供することを目的としています。
  • 基本となる単語を見つけるかどうかは、品詞に完全に依存します。品詞を指定しないと)、見出し語化が適切に実行されず、探している結果が得られない可能性があります。
  • ステミングよりも遅いですが、より強力です。見出語化は単語に対して実行するアルゴリズムに従わず、品詞を提供する必要があるため、ステミングよりも遅いと考えられます。ただし、結果に辞書ベースの単語を使用するという点で、より強力です。 
  • ルートワードを検索する精度が高くなります。見出し語化では、語形変化した単語からの結果をレイアウトする際に辞書ベースの単語が使用されるため、正確な出力が得られる可能性が高くなります。

Python での見出し語化の準備段階

見出し語化の実装に進む前に、 textblobからWordライブラリをインポートすることから始めましょう。

Python での見出し語化 |  初心者向けガイド

次に、単語オブジェクトを作成します。 

Python での見出し語化 |  初心者向けガイド

Word オブジェクトを作成するために、 wという名前の変数を作成しました。次に、 octopusという単語の複数形である octopi という単語オブジェクトを保持する Word ライブラリを保存しました。 Word ライブラリを使用して要素を渡すときは、その要素を一重引用符で囲むことが重要であることに注意してください。

変数wを初期化して、作成したばかりの単語オブジェクトが保持されているかどうかを確認してみましょう。

Python での見出し語化 |  初心者向けガイド

w変数を実行すると、結果として単語オブジェクトoctopiが得られます。

Python での見出し語化の実装

次に、 .lemmatize関数を使用して見出し語化を実装します。 

Python での見出し語化 |  初心者向けガイド

このステップでは、単語オブジェクトoctopiを保持するw変数を使用し、 .lemmatize関数を利用して見出し語化を適用しました。その結果、octopiという単語の語根または基本形であるoctopusという単語が得られました。

その後、better という単語で見出し語化を適用してみましょう。

Python での見出し語化 |  初心者向けガイド

前の例では、 word オブジェクトをoctopiからbetterに更新しました。次に、.lemmatize関数を使用してこれを見出し語化しました。したがって、得られた結果は、使用した単語オブジェクトと同じになります。

.lemmatize 関数を使用すると、品詞を渡すことで見出し語化の方法を変更できます。例として、品詞の形容詞を表す .lemmatize 関数に aを渡してみます。

Python での見出し語化 |  初心者向けガイド

.lemmatize 関数に品詞を追加すると、結果として適切な基本単語を取得できます。

word オブジェクトを再度runningに変更しましょう。また、.lemmatize 関数に渡す品詞を動詞を表すvに変更しましょう。

Python での見出し語化 |  初心者向けガイド

変更を加えて .lemmatize 関数を初期化すると、結果としてrunという単語のルート単語が取得されました。レンマタイザのほとんどは、.lemmatize 関数を使用して行った方法を実行できません。

ただし、.lemmatize 関数は、 Python で特定の種類のテキスト分析を実行して単語の基本形式を取得するときに利用できる重要なツールです。


LuckyTemplates で Python スクリプトを使用する方法
Python でサンプル データセットを読み込む方法
Python ユーザー定義関数 | 概要

結論

簡単に言うと、 Pythonでの見出し語化の使用法とその仕組みを理解できました。見出し語化ステミングの類似点と相違点についても説明しました。Wordライブラリを使用して Word オブジェクトを作成することや、 .lemmatize関数の利用方法についても説明します。

さらに、.lemmatize 関数でさまざまな品詞を適用する方法を学びました。日常のテキスト分析タスクに見出語化を実装すると、特定の単語のベース単語を検索する時間と労力が大幅に軽減されます。

ではごきげんよう、

ガリム


Python における Self とは: 実際の例

Python における Self とは: 実際の例

Python における Self とは: 実際の例

RでRDSファイルを保存してロードする方法

RでRDSファイルを保存してロードする方法

R の .rds ファイルからオブジェクトを保存および読み込む方法を学習します。このブログでは、R から LuckyTemplates にオブジェクトをインポートする方法についても説明します。

最初の N 営業日の再考 – DAX コーディング言語ソリューション

最初の N 営業日の再考 – DAX コーディング言語ソリューション

この DAX コーディング言語チュートリアルでは、GENERATE 関数の使用方法とメジャー タイトルを動的に変更する方法を学びます。

LuckyTemplates のマルチスレッド動的ビジュアル手法を使用したインサイトのショーケース

LuckyTemplates のマルチスレッド動的ビジュアル手法を使用したインサイトのショーケース

このチュートリアルでは、マルチスレッド動的ビジュアル手法を使用して、レポート内の動的データ視覚化から洞察を作成する方法について説明します。

LuckyTemplates のフィルター コンテキストの概要

LuckyTemplates のフィルター コンテキストの概要

この記事では、フィルター コンテキストについて説明します。フィルター コンテキストは、LuckyTemplates ユーザーが最初に学習する必要がある主要なトピックの 1 つです。

LuckyTemplates Online Service でアプリを使用する際の最良のヒント

LuckyTemplates Online Service でアプリを使用する際の最良のヒント

LuckyTemplates Apps オンライン サービスが、さまざまなソースから生成されたさまざまなレポートや分析情報の管理にどのように役立つかを示したいと思います。

時間の経過に伴う利益率の変化を分析する – LuckyTemplates と DAX を使用した分析

時間の経過に伴う利益率の変化を分析する – LuckyTemplates と DAX を使用した分析

LuckyTemplates でのメジャー分岐や DAX 数式の結合などの手法を使用して、利益率の変化を計算する方法を学びます。

DAX Studio でのデータ キャッシュのマテリアライゼーションのアイデア

DAX Studio でのデータ キャッシュのマテリアライゼーションのアイデア

このチュートリアルでは、データ キャッシュの具体化のアイデアと、それが結果を提供する際の DAX のパフォーマンスにどのように影響するかについて説明します。

LuckyTemplates を使用したビジネス レポート

LuckyTemplates を使用したビジネス レポート

これまで Excel を使用している場合は、ビジネス レポートのニーズに合わせて LuckyTemplates の使用を開始するのに最適な時期です。

LuckyTemplates ゲートウェイとは何ですか? 知っておくべきことすべて

LuckyTemplates ゲートウェイとは何ですか? 知っておくべきことすべて

LuckyTemplates ゲートウェイとは何ですか? 知っておくべきことすべて