皆さん、基本的に単純な XML ファイルである NLTK の一連のコーパスをまとめました。次のように問題なくロードできます。
>>> from nltk.corpus import cicero
>>> print cicero.fileids()
['cicero_academica.xml', 'cicero_arati_phaenomena.xml', ...]
XMLCorpusReader は一度に 1 つの XML だけを処理することを想定しているため、これらすべての XML ファイルの内容を一度に取得できないことは理解できました。for ループを記述してバイパスし、すべてをリストに入れて XMLCorpusReader に渡そうとしましたが、うまくいきませんでした...
簡単に言えば、NLTK を使用して複数の XML コーパスをロードし、それらすべてで一度に .words() を実行するにはどうすればよいでしょうか? 実際のコード例は良いでしょう。
すべての XML を一度に読み込んで、それらをクラス Text() で使用して、一度に 1 つずつではなく、すべての XML ファイルから単語のコンコーダンスを出力することはできないようです。
これに対する回避策または実際の NLTK ソリューションはありますか? それを行う XMLCorpusReader の魔法の継承クラスを作成する必要がありますか? XML をやめて、フラット ファイルを使用する必要がありますか?
これは私の問題に似ていますが、これまでのところ、そこにある答えは NLTK に関してはあまり役に立たないと思います:複数ファイルのコーパスで NLTK の XMLCorpusReader を使用できますか?