LoginSignup
Yama_peersta
@Yama_peersta

Are you sure you want to delete the question?

Leaving a resolved question undeleted may help others!

WikiExtractorの使い方が分かりません

解決したいこと

今、fastText用の学習モデルを作成したいと思っています。
WikipediaのダンプデータからWikiExtractorを用いて文章を抽出しようとしています。

発生している問題・エラー

$ python wikiextractor/WikiExtractor.py -b 500M -o wikiextractor_output/corpus jawiki_dump/jawiki-20181020-pages-articles-multistream.xml.bz2

上記のコマンドを実行すると、以下のエラーが発生します。

python: can't open file 'wikiextractor/WikiExtractor.py': [Errno 2] No such file or directory

自分で試したこと

cd wikiextractor/

ディレクトリを変えてみたり、

pip install wikiextractor

wikiextractorをインストールして試しました。

cd wikiextractor
python setup.py

上記のコマンドを実行すると、以下のメッセージが表示されました。

Traceback (most recent call last):
  File "setup.py", line 4, in <module>
    from wikiextractor.WikiExtractor import version
ImportError: No module named WikiExtractor

そもそもgitからcloneしたwikiextractorフォルダの中にWikiExtractor.pyファイルが見当たらないですが、色んなサイトで
python wikiextractor/WikiExtractor.py
を実行するように書かれてあるので混乱しています…

0

2Answer

git clone した場合はpython setup.py installをするとよいかと思います。

使い方は以下のようにモジュールを指定するようです。

python -m wikiextractor.WikiExtractor <Wikipedia dump file>

0

Comments

  1. @Yama_peersta

    Questioner
    wikiextractorディレクトリに移動し、
    python setup.py install
    を実行してみたのですが、相変わらずWikiExtractorモジュールが見つからないというメッセージが表示されます…
  2. なるほど、その方法ではうまく行かないかもしれませんね。

Comments

  1. @Yama_peersta

    Questioner
    $ sudo -H pip3 install wikiextractor(-Hを入れないと実行できませんでした)
    →Requirement already satisfied: wikiextractor in /Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages (0.1)

    $ python3 -m wikiextractor.WikiExtractor --help 2>/dev/null | head
    →画像と同じ結果になりました

    $ python setup.py install
    →ImportError: No module named WikiExtractor
    モジュールが見つからないようです…

    ちなみに今、Macで試してます。何度もすみません…
  2. pip3 install
    が成功しているので、「python setup.py install」は不要です。

    「python3 -m wikiextractor.WikiExtractor 〜」の使い方で利用ができると思います。
  3. @Yama_peersta

    Questioner
    その使い方で出来ました!
    ありがとうございました!

Your answer might help someone💌