レンマ化とステミングの違いは何ですか?


131

いつ使用しますか?

また、NLTKの見出し語化は品詞に依存していますか?もしそうなら、それはより正確ではないでしょうか?


2
これは私の頭の上の方法ですが、なぜpythonタグがあるのですか?
ジミー、

7
@jimmy:タグ付けされたpython b / c python nltkライブラリについて話している
ealdent 09年

2
この正確な質問に
Jacob

回答:


130

短くて高密度:http : //nlp.stanford.edu/IR-book/html/htmledition/stemming-and-lemmatization-1.html

ステミングと見出し語化の両方の目的は、語の屈折形と、場合によっては派生的に関連する形の単語を共通の基本形に減らすことです。

ただし、2つの単語の味は異なります。ステミングは通常、ほとんどの場合この目標を正しく達成することを期待して単語の終わりを切り落とす大まかなヒューリスティックプロセスを指し、多くの場合、派生接辞の削除を含みます。見出し語化は通常、語彙と単語の形態学的分析を使用して物事を適切に行うことを指し、通常は語尾の末尾のみを削除し、単語の基本形式または辞書形式を返します。これは見出し語として知られています。

NLTKドキュメントから:

レンマ化とステミングは、正規化の特殊なケースです。それらは、関連する一連の単語形式の標準的な代表を識別します。


平均のレンマ化の長さがドキュメントについて教えてくれることを知りたいですか?
sAguinaga

1
それは質問に完全に答えるものではありません。いつ使用するかは説明しません。どちらも正規化に役立ちますが、多くの場合、どちらを選択するかは、精度と速度のトレードオフです。
dzieciou

1
@dzieciou、入力いただきありがとうございます。回答を編集できる場合があります。そして、もう少しコンテキストを追加してみます。
miku

79

Lemmatisationは密接に関連して生じます。違いは、ステマーはコンテキストを認識せずに単一の単語を操作するため、品詞によって意味が異なる単語を区別できないことです。ただし、ステマーは通常、実装と実行が容易であり、一部のアプリケーションでは精度の低下が問題にならない場合があります。

例えば:

  1. 「より良い」という言葉は、その補題として「良い」を持っています。このリンクは辞書検索を必要とするため、ステミングでは見逃されます。

  2. 「歩く」という単語は「歩く」という単語の基本形なので、ステミングと見出し語化の両方で一致します。

  3. 「ミーティング」という単語は、文脈によって、名詞の基本形または動詞の形(「会う」)になります。たとえば、「最後の会議で」または「明日また会いましょう」などです。語幹解釈とは異なり、見出し語化は原則として、コンテキストに応じて適切な見出し語を選択できます。

出典https : //en.wikipedia.org/wiki/Lemmatisation


24

それらの違いを示す2つの側面があります。

  1. ステマは、単語の形態学的なルートに同一である必要はない言葉の茎を返します。通常、関連する単語が同じ語幹にマッピングされていれば十分です。語幹自体が有効な語根でない場合でも、見出し語化では、単語の辞書形式が返されます。これは有効な単語でなければなりません。

  2. lemmatisation、単語の品詞が最初に決定されるべきであり、正規化ルールはながら、音声の異なる部分について異なるであろうステマーは、コンテキストの知識がなくても、単一のワードで動作し、したがって異なる有する単語を区別することができません品詞による意味。

リファレンスhttp://textminingonline.com/dive-into-nltk-part-iv-stemming-and-lemmatization


18

ステミングとレンマ化の両方の目的は、形態的変動を減らすことです。これは、語彙の意味、構文、または正字法のバリエーションにも対応できる、より一般的な「用語の統合」手順とは対照的です。

ステミングと見出し語化の実際の違いは3つあります。

  1. ステミングは語形を(疑似)語幹に減らしますが、見出し語化は語形を言語学的に有効な補題に減らします。この違いは、形態がより複雑な言語では明らかですが、多くのIRアプリケーションでは無関係である可能性があります。

  2. レンマ化は屈折変化のみを扱いますが、ステミングは派生分散も扱います。

  3. 実装の点では、見出し語化は通常より洗練されており(特に形態学的に複雑な言語の場合)、通常はある種の辞書が必要です。一方、満足のいくステミングは、ルールベースのかなり単純なアプローチで実現できます。

レンマ化は、同音異義語を明確にするために、品詞タガーによってバックアップされる場合もあります。


13

MYYNが指摘したように、ステミングとは、元の単語のすべてがおそらく関連している基本形への語形変化、時には派生形の接辞を削除するプロセスです。見出し語化は、一連の活用形をグループ化できる単一の単語を取得することに関係しています。これは、ステミングがコンテキストを無視する一方で、コンテキスト(したがって、単語の意味)を考慮する必要があるため、ステミングより困難です。

どちらを使用するかについては、コンテキスト内の単語の意味を正しく取得するためにアプリケーションがどの程度依存するかが問題になります。機械翻訳をしている場合、おそらく単語の誤訳を避けるために見出し語化が必要です。クエリの99%が1〜3語の範囲にある10億以上のドキュメントで情報検索を行っている場合は、ステミングで解決できます。

NLTKについては、WordNetLemmatizerは品詞を使用しますが、提供する必要があります(そうでない場合、デフォルトで名詞になります)。「dove」と「v」を渡すと「dive」、「dove」と「n」を渡すと「dove」になります。


12

レンマ化とステミングの違いに関する例に基づく説明:

見出し語化は、「car」を「cars」に一致させるとともに、「car」を「automobile」に一致させることを処理します。

ステミングは、「car」と「cars」を照合します。

レンマ化は、同じサブシステムによって引き続き処理される、あいまいな単語マッチングのより広い範囲を意味します。これは、エンジン内の低レベル処理のための特定の手法を意味し、エンジニアリング用語の優先を反映している場合もあります。

[...] FASTを例にとると、その見出し語化エンジンは、単数形と複数形などの基本的な単語の変化だけでなく、「ホット」と「ウォーム」の一致などのシソーラス演算子も処理します。

もちろん、他のエンジンがシノニムを処理しないというわけではありませんが、低レベルの実装は、ベースステミングを処理するものとは別のサブシステムにある可能性があります。

http://www.ideaeng.com/stemming-lemmatization-0601


3

ianaclです
が、ステミングは、同じ単語のすべての異なる形式を、それ自体が正当な単語である必要はない基本形式に変換するために使用するラフなハックだと思います
ます

レンマ化は単語をその実際の基本形に変換します。不規則な動詞の場合、
FSTを使用して名詞と動詞を基本形に持ってくるMorphaのようなものに見えません。


Porter Stemmerは、正規表現に頼らずに実装されていると思います。古い言語の多くには正規表現がないためです。
ケンブルーム

3

ステミングは、単語の最後の数文字を削除またはステミングするだけで、多くの場合、誤った意味とスペルにつながります。レンマ化は文脈を考慮して、単語をレンマと呼ばれる意味のある基本形式に変換します。場合によっては、同じ単語に複数の異なるLemmaが含まれることがあります。その特定のコンテキストで単語の品詞(POS)タグを識別する必要があります。以下に、すべての違いと使用例を示す例を示します。

  1. Caring」という単語を見出し語化すると、「Care」が返されます。ステムすると、「Car」が返され、これは誤りです。
  2. Stripes」という単語を動詞の文脈で見出し語化すると、「Strip」が返されます。名詞の文脈でそれを見出し語化すると、' Stripe ' が返されます。あなたがそれを止めるだけなら、それはただ ' Strip 'を返すでしょう。
  3. あなたは、次のような言葉lemmatizeまたは幹も同じ結果になるだろう、水泳、ランニング、ウォーキングをする... 水泳、ランニング、散歩など
  4. 見出し語化にはルックアップテーブルが含まれるため、計算コストがかかります。大きなデータセットがあり、パフォーマンスが問題である場合は、Stemmingを使用してください。独自のルールをステミングに追加することもできます。正確さが最優先であり、データセットが膨大ではない場合は、補題化に進みます。

2

ステミングは、特定の単語の最後の数文字を削除して、その形式に意味がない場合でも、より短い形式を取得するプロセスです。

例、

"beautiful" -> "beauti"
"corpora" -> "corpora"

ステミングのその他の例

ステミングは非常に迅速に行うことができます。

一方、見出し語化は、与えられた単語をその辞書の意味に従ってその基本形式に変換するプロセスです。

例、

"beautiful" -> "beauty"
"corpora" -> "corpus"

レンマ化のその他の例

レンマ化はステミングよりも時間がかかります。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.