ホームページ >バックエンド開発 >Python チュートリアル >Stanford Parser を Python の NLTK と統合するにはどうすればよいですか?

Stanford Parser を Python の NLTK と統合するにはどうすればよいですか?

Barbara Streisand
Barbara Streisandオリジナル
2024-12-15 22:19:11915ブラウズ

How to Integrate Stanford Parser with NLTK in Python?

Stanford Parser を Python 用の NLTK に組み込む

自然言語解析のための包括的なツールである Stanford Parser は、NLTK にシームレスに統合できます。広く普及している Python 用の自然言語処理ツールキット。これを実現する方法の詳細なガイドは次のとおりです:

Python 実装:

import os
from nltk.parse import stanford

# Set environment variables to specify jar paths
os.environ['STANFORD_PARSER'] = '/path/to/standford/jars'
os.environ['STANFORD_MODELS'] = '/path/to/standford/jars'

# Initialize the parser
parser = stanford.StanfordParser(model_path="/location/of/englishPCFG.ser.gz")

# Parse sentences
sentences = parser.raw_parse_sents(("Hello, My name is Melroy.", "What is your name?"))
print(sentences)

# GUI visualization
for line in sentences:
    for sentence in line:
        sentence.draw()

サンプル出力:

[Tree('ROOT', [Tree('S', [Tree('INTJ', [Tree('UH', ['Hello'])]), Tree(',', [',']), Tree('NP', [Tree('PRP$', ['My']), Tree('NN', ['name'])]), Tree('VP', [Tree('VBZ', ['is']), Tree('ADJP', [Tree('JJ', ['Melroy'])])]), Tree('.', ['.'])])]), Tree('ROOT', [Tree('SBARQ', [Tree('WHNP', [Tree('WP', ['What'])]), Tree('SQ', [Tree('VBZ', ['is']), Tree('NP', [Tree('PRP$', ['your']), Tree('NN', ['name'])])]), Tree('.', ['?'])])])}

メモ:

  • この例では、jar ファイルとモデルが同じフォルダーに配置されていることを前提としています。
  • Stanford Parser および Models の jar ファイル名は通常「stanford-parser.jar」です。それぞれ「stanford-parser-x.x.x-models.jar」。
  • 「stanford-parser-x.x.x-models.jar」から「englishPCFG.ser.gz」を抽出し、モデル内でそのパスを指定します。
  • ランタイムを回避するために Java JRE 1.8 (Oracle JDK 8) が使用されていることを確認します。エラー。

インストール プロセス:

オプション 1: NLTK ダウンローダーを使用する

  1. NLTK v3 をインストールする.
  2. Python で次を実行します。 nltkをインポートします。 nltk.download()

オプション 2: 手動インストール

  1. Stanford Parser zip ファイルを解凍します。
  2. フォルダーを作成します「jars」という名前を付け、抽出したjarファイルを配置します
  3. 「stanford-parser-x.x.x-models.jar」から「englishPCFG.ser.gz」を抽出し、その場所をメモします。
  4. StanfordParser インスタンスを作成し、ser.gz モデルを提供します。パス。

以上がStanford Parser を Python の NLTK と統合するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。