検索
ニュース

Python向け日本語自然言語処理ライブラリ「GiNZA」、リクルートがGitHubで公開新元号「令和」にも対応

リクルートのAI研究機関であるMegagon Labsは、Python向け日本語自然言語処理ライブラリ「GiNZA」をオープンソースとしてGitHubで公開した。国立国語研究所のテキストコーパスを利用した学習済みモデルも組み込んだ。

Share
Tweet
LINE
Hatena

 リクルートは2019年4月2日、Python向け日本語自然言語処理ライブラリ「GiNZA(ギンザ)」をオープンソースソフトとして公開したと発表した。1.0.1版では新元号「令和」にも対応した。

 公開したのは同社のAI(人工知能)研究機関であるMegagon Labs。同ライブラリでは、国立国語研究所との共同研究成果の学習モデルを用いた。

 GiNZAは、Python向けの自然言語処理ライブラリ「spaCy」をフレームワークとして利用し、オープンソースの形態素解析器「Sudachi」のPython版である「SudachiPy」を内部に組み込んだ。

import spacy
nlp = spacy.load('ja_ginza_nopn')
doc = nlp('依存構造解析の実験を行っています。')
for sent in doc.sents:
    for token in sent:
        print(token.i, token.orth_, token.lemma_, token.pos_, token.dep_, token.head.i)
    print('EOS')
文単位で依存構造解析結果を出力するサンプルコード

日本語は取り残されていた

 ソフトウェアで国際化を進める場合、spaCyなどの自然言語処理フレームワークではリソースを切り替えることにより、各国語に対応可能だ。ただこれまでは日本語に未対応の状況が続いていた。日本語の自然言語処理技術の多くは、欧米言語に用いられる単語依存構造解析でなく、言語として意味を持つ最小単位の形態素に分割し、品詞を推定する「形態素解析」や文節間の修飾/被修飾の関係を解析する「文節係り受け解析」を用いていたからだ。

 GiNZAはspaCyの国際化機能に対応しており、複数の欧米言語と日本語の言語リソースを切り替えて使用可能だ。複数の言語を、単一のライブラリで解析できる。さらに、国立国語研究所との共同研究成果である学習済みモデルを「GiNZA日本語UDモデル」に組み込んだ。

 UD(Universal Dependencies)とは、多様な言語を一貫した構文構造/品詞体系で解析可能にするための取り組みで、自然言語処理系の学会を中心に全世界で2014年ごろに始まった。日本でもUDを日本語に適用するための研究と、日本語版UDコーパスの構築が進められてきた。

 GiNZA日本語UDモデルは、国立国語研究所が蓄積してきた大規模なテキストコーパスに加えて、日本語Wikipediaのテキストも用いて機械学習に適用した。リクルートでは、幅広い分野に適応可能なモデルとして構築したとしている。

Copyright © ITmedia, Inc. All Rights Reserved.

ページトップに戻る