Nltk: Verbnetコーパスは古くなっています

作成日 2018年05月05日  ·  13コメント  ·  ソース: nltk/nltk

nltkデータインデックス(https://raw.githubusercontent.com/nltk/nltk_data/gh-pages/index.xml) verbnet 、バージョン2.1を指すverbnet定義は3.2です。

最新バージョンでは、句動詞の構造に関するより多くの情報を提供するフレームの説明が更新されています。 たとえば、最新バージョンのクラスfuture_having-13.3フレームの主な説明はNP V NP-Dative NPで、フレームの構造を(名詞句、動詞、名詞句(与格)、名詞-フレーズ)バージョン2.1では、 Dativeます。

bug corpus enhancement nltk_data

最も参考になるコメント

@alvations
それは私がそれを使用しているもののために働きます。 私のコードをお見せしましょう:

import nltk
v3 = nltk.corpus.util.LazyCorpusLoader(
    'verbnet3', nltk.corpus.reader.verbnet.VerbnetCorpusReader,
    r'(?!\.).*\.xml')
v3.classids('add') # returns ['mix-22.1-2', 'multiply-108', 'say-37.7-1']

それが機能するためには、ここからverbnet3ます。 このファイルをフォルダー~/nltk_data/corpora~. When unzipped it should create a new folder 〜/ nltk_data / corpora / verbnet3 which contains all the Verbnet3 definitions. Then you should be able to run the code above. Notice that for Verbnet 2 (the default) the code v3.classids( 'add') `で解凍すると、最初のクラス(mix-22.1-2)のみが返されます。

基本的にVerbnet3を使用しているのはそれだけなので、他のAPIはテストしていませんが、 classidsメソッドはさまざまな単語でテストされており、すべて機能します。 これがお役に立てば幸いです。

全てのコメント13件

@agodbehere 、この問題を報告していただきありがとう

次のステップは、誰かが対応するコーパスリーダーnltk.corpus.verbnet3を提供することです。これにより、既存のコードの一部を共有できるようになります。

しばらくの間、両方をサポートする必要があります。

@ stevenbird 、verbnet 2で既存のコーパスリーダーを使用した場合、どのような問題が発生しましたか? コーパスを更新した後、テストスイートを実行しませんでしたが、私のユースケース(クラスIDとフレームの要求)では、既存のコーパスリーダーは問題なく機能します。

問題はverbnet3に存在します。別のコーパスリーダーが必要です。
それ。

水で、2018年5月16日10:45アンドリューGodbehere [email protected]
書きました:

@stevenbird https://github.com/stevenbird 、どのような問題が発生しましたか
verbnet 2で既存のコーパスリーダーを使用するために見つけますか? 私は実行しませんでした
コーパスを更新した後のテストスイートですが、私のユースケース(リクエスト
classidsとframes)、既存のコーパスリーダーは問題なく動作します。


あなたが言及されたのであなたはこれを受け取っています。
このメールに直接返信し、GitHubで表示してください
https://github.com/nltk/nltk/issues/2015#issuecomment-389363521 、またはミュート
スレッド
https://github.com/notifications/unsubscribe-auth/AADYbsgbjtFTKsyamRPG0OpJuWnF3UJ0ks5ty33DgaJpZM4Tzc0d

@stevenbird @agodbehereこんにちは、私はCU BoulderでVerbNetプロジェクトに取り組んでおり、VerbNet3 +のコーパスリーダーのコードを提供および保守できれば幸いです。

@amosleokim :ありがとう、それは大歓迎です!

ここにverbnet (2)とverbnet3データがあることがわかります

ここにverbnet3エントリを追加することを提案します

次に、 verbnet.pyを拡張してverbnetverbnet3両方をサポートする方法を考えます。

それはどのように聞こえますか? 両方を同時にサポートする必要があり、(最終的には)verbnet2を非推奨にします。

必要に応じて詳細について話し合うことができるNLTKスラックチャネルがあります。 ありがとう!

@stevenbirdそれは私にはいいですね! Slackチャネルに招待コードを送っていただければ、私は飛び乗って、核心を突くことができます。

このトピックに関する進展はありますか? 調査にverbnetを使用しようとしていますが、 classidsメソッドから取得した出力がおかしいようです。

@stevenbirdのおかげで、古いバージョンが問題の原因のようでした。 手動でverbnet3.zipをダウンロードし、nltkにあるverbnet2.1のリーダーで読み取ることができました。

@salompasもう一度確認するのと同じように、NLTKのverbnet APIはverbnet3で機能しますか?

@alvations
それは私がそれを使用しているもののために働きます。 私のコードをお見せしましょう:

import nltk
v3 = nltk.corpus.util.LazyCorpusLoader(
    'verbnet3', nltk.corpus.reader.verbnet.VerbnetCorpusReader,
    r'(?!\.).*\.xml')
v3.classids('add') # returns ['mix-22.1-2', 'multiply-108', 'say-37.7-1']

それが機能するためには、ここからverbnet3ます。 このファイルをフォルダー~/nltk_data/corpora~. When unzipped it should create a new folder 〜/ nltk_data / corpora / verbnet3 which contains all the Verbnet3 definitions. Then you should be able to run the code above. Notice that for Verbnet 2 (the default) the code v3.classids( 'add') `で解凍すると、最初のクラス(mix-22.1-2)のみが返されます。

基本的にVerbnet3を使用しているのはそれだけなので、他のAPIはテストしていませんが、 classidsメソッドはさまざまな単語でテストされており、すべて機能します。 これがお役に立てば幸いです。

@Salompasこんにちは、あなたの解決策をありがとう! 'verbnet3'はverbnet3のどのバージョンですか? バージョン3.3または3.2ですか?

@Salompasこんにちは、あなたの解決策をありがとう! 'verbnet3'はverbnet3のどのバージョンですか? バージョン3.3または3.2ですか?

@ songhee-kimさん、これに取り組んでから2年が経ちましたので、どのバージョンを使用していたのか正確にはわかりません。

このページは役に立ちましたか?
0 / 5 - 0 評価