{NLP}Swadeshリストの活用

NLTKにはSwadeshリストが含まれています。今回はSwadeshリストを用いて言語間の語彙比較をしてみます。

Swadeshリストは、どの文化での生活でも最初の段階で発生する、基本的な語彙を並べたリストで、比較言語学ではこのSwadeshリストに含まれる語彙がどの程度近いかを調べることで、言語間の距離(どの段階で分かれた言語か)が分かったりします。
大学の頃は、マイナーな言語のSwadeshリストは、英語のSwadeshリストを見ながらそれに対応する単語を辞書などを用いて地道に調べた記憶もあります。
NLTKSwadeshリストは24の言語しかなく、マイナーな言語については調べられません。
しかし、Swadeshリストとは別に、NLTKにはShoeboxとToolboxという語彙目録が存在し、ここにはより多くの言語の情報が詰まっているそうなので、そちらも活用するとさらに幅を広げられるかもしれません。
ShoeboxとToolboxについては、また改めて別のエントリで触れたいと思います。
(※Swadeshリストについてはこちらを参照:Appendix:Swadesh lists│Wiktionary


Swadeshリストの中身を見る

  • インポート
  • from nltk.corpus import swadesh

  • 言語一覧を見る
  • wadesh.fileids()
    出力結果:

    [u'be', u'bg', u'bs', u'ca', u'cs', u'cu', u'de', u'en', u'es', u'fr', u'hr', u'it', u'la', u'mk', u'nl', u'pl', u'pt', u'ro', u'ru', u'sk', u'sl', u'sr', u'sw', u'uk']

    ISO639言語コードで言語名が表示されます。
    (※言語コードについてはこちらを参照:ISO 639言語コード│Cyber Librarian

  • 特定言語のSwadeshリストを見る
  • swadesh.words('de')[:20]
    出力結果:

    [u'ich', u'du, Sie', u'er', u'wir', u'ihr, Sie', u'sie', u'dieses', u'jenes', u'hier', u'dort', u'wer', u'was', u'wo', u'wann', u'wie', u'nicht', u'alle', u'viele', u'einige', u'wenige']

    ドイツ語Swadeshリストの20番目までを出力しました。


    entries()で単語を比較する

    entries()を使うと引数に指定した言語の比較ができます。
    (指定した言語のSwadeshリストから、同じインデックスにある要素を同時に取得することができる)
    英語、フランス語、ロシア語、ポーランド語の語彙比較を見てみます。

    出力結果:

    I , je , я , ja ,
    you (singular), thou , tu, vous , ты , ty ,
    he , il , он , on ,
    we , nous , мы , my ,
    you (plural) , vous , вы , wy ,
    they , ils, elles , они , oni, one ,
    this , ceci , это , ten, ta, to ,
    that , cela , то , tamto ,
    here , ici , тут , tu ,
    there , là , там , tam ,



    簡単な辞書の作成

    任意の2言語のリストをPythonの辞書型に格納して簡単な辞書を作ることもできます。

    出力結果:

    drei in English? ->  three
    three in Germany? ->  drei

    Leave a Reply

    Your email address will not be published. Required fields are marked *