Natural-language-toolkit-looking-up-words-in-wordnet
Wordnetで単語を検索する
ワードネットとは?
ワードネットは、プリンストンによって作成された英語の大規模な語彙データベースです。 これはNLTKコーパスの一部です。 名詞、動詞、形容詞、副詞はすべて、一連の同義語、つまり認知的同義語にグループ化されます。 ここで、synsetの各セットは異なる意味を表します。 以下はWordnetのいくつかの使用例です-
- 単語の定義を調べるために使用できます
- 単語の同義語と反意語を見つけることができます
- 単語の関係や類似点は、Wordnetを使用して調べることができます
- 複数の用途と定義を持つ単語の単語感覚の明確化
Wordnetをインポートするには?
Wordnetは次のコマンドの助けを借りてインポートすることができます-
よりコンパクトなコマンドについては、次を使用します-
Synsetインスタンス
Synsetは、同じ概念を表す同義語のグループです。 Wordnetを使用して単語を検索すると、Synsetインスタンスのリストが表示されます。
wordnet.synsets(ワード)
Synsetのリストを取得するには、* wordnet.synsets(word)*を使用してWordnet内の任意の単語を検索できます。 たとえば、次のPythonレシピでは、「犬」のSynsetと、Synsetのいくつかのプロパティとメソッドを検索します-
例
まず、次のようにワードネットをインポートします-
次に、Synsetを検索する単語を入力します-
ここでは、name()メソッドを使用して、Synsetを直接取得するために使用できるSynsetの一意の名前を取得しています-
次に、単語の定義を提供するdefinition()メソッドを使用しています-
別のメソッドは、単語に関連する例を提供するexamples()です-
完全な実装例
Hypernymsの取得
Synsetは、 _ Hypernyms_ がより抽象化された用語を表し、 _ Hyponyms_ がより具体的な用語を表す、構造のような継承ツリーで編成されます。 重要なことの1つは、このツリーがルートの上位まで追跡できることです。 次の例の助けを借りて概念を理解しましょう-
出力
ここでは、犬とドメスティックアニマルが「犬」の上位概念であることを確認できます。
今、私たちは次のように「犬」のハイポニームを見つけることができます-
出力
上記の出力から、「dog」は「domestic_animals」の多くの下位語の1つにすぎないことがわかります。
これらすべてのルートを見つけるには、次のコマンドを使用できます-
出力
上記の出力から、ルートが1つだけあることがわかります。
完全な実装例
出力
Wordnetの見出し語
言語学では、単語の標準形または形態論形を補題と呼びます。 単語の同義語と反意語を見つけるために、WordNetで見出し語を検索することもできます。 方法を見てみましょう。
同義語の検索
lemma()メソッドを使用すると、Synsetの同義語の数を見つけることができます。 この方法を「犬」のシンセットに適用しましょう-
例
出力
上記の出力は、「dog」に3つの補題があることを示しています。
次のように最初の補題の名前を取得する-
次のように2番目の補題の名前を取得する-
次のように第三の補題の名前を取得する-
実際、Synsetは、すべて同じような意味を持つ見出し語のグループを表し、見出し語は異なる単語形式を表します。
対義語を見つける
WordNetでは、一部の補題にも反意語があります。 たとえば、「good」という単語には合計27個のsynetがあり、そのうち5個は対義語付きの補題を持っています。 対義語を見つけましょう(「good」という単語が名詞として使用された場合と「good」という単語が形容詞として使用された場合)。
例1
出力
出力
上記の例は、「good」という単語が名詞として使用される場合、最初の反意語「evil」があることを示しています。
例2
出力
出力
上記の例は、形容詞として使用される場合、「良い」という単語に最初の反意語「悪い」があることを示しています。