web-dev-qa-db-ja.com

ウィクショナリーを解析した人はいますか?

ウィクショナリー は、多くの言語をカバーするwiki辞書です。翻訳もあります。私はそれを解析してデータを操作することに興味がありますが、以前に誰かがこのようなことをしていますか?使用できるライブラリはありますか? (できればPython。)

32
Rory

ウィクショナリーはMediaWikiで実行されます (APIあり )。

APIドキュメントのサブページの1つは クライアントコードで、いくつかのPythonライブラリ をリストしています)です。

20
Amber

私はかつてウィクショナリーダンプをダウンロードして、スラブ言語の単語と定義を集めようとしていました。 elementtreeを使用して、ダンプであるxmlファイルを通過するようにアプローチしました。サイトをこすったりクロールしたりすることは避け、ウィキメディアがウィクショナリーに提供するxmlダンプをダウンロードするだけです。 wikimedia downloads に移動し、英語のウィクショナリーダンプ( enwiktionary )を探して、最新のダンプに移動します。おそらく、pages-articles.xml.bz2ファイルが必要です。これは、記事のコンテンツであり、履歴やコメントはありません。 Pythonで好きなxml処理ライブラリを使用してこれを解析します。個人的にはelementtreeを好みます。幸運を。

23
razzmataz

wordnik は構文解析の定義などをうまく行っており、 great api

他の人が述べたように、ウィクショナリーはフォーマット障害であり、コンピューターで読み取り可能に構築されていません

15
spencercooly

はい、多くの人がウィクショナリーを解析しました。通常、過去の経験は Wiktionary-lメーリングリストのアーカイブ で確認できます。

他の回答で言及されていないプロジェクトは、DBPediaの ウィクショナリーRDF抽出 です。

ウィクショナリーを解析した他の数十の研究プロジェクト:ウィキメディア研究ニュースレターの最近の ウィクショナリースペシャル および その他の問題 にいくつかの例があります。

最近 誰かが 英語のウィクショナリーにも作成しましたREST API これには、ウィクショナリーデータの未指定のサブセットが含まれています。将来の予定は不明ですまだ。

10
Nemo

ドイツ語のウィクショナリーの解析でひび割れがありました。私はそれを難し​​すぎると書いてしまいましたが、あきらめる前に https://github.com/benreynwar/wiktionary-parser に(整頓されていない)コードを入れました。編集者が使用する規則はありますが、それらはピアの監視以外のものによって強制されていません。ページ内のすべてのタイプミスとともに使用されるテンプレートの多様性により、解析は非常に困難になります。

問題は、彼らがウィクショナリーと同じシステムを使用していることだと思います。これは、エディターによる使いやすさには優れていますが、より構造化されたウィクショナリーのコンテンツには適していません。ウィクショナリーを簡単に解析できれば非常に便利なリソースになるので、それは残念です。

9
Ben Reynwar

MySQLでパースされたウィクショナリーデータベースをお楽しみいただけます。 Javaで書かれたパーサーによって作成された2つのデータベース(英語ウィクショナリーとロシア語ウィクショナリー)があります。 http://wikokit.googlecode.com

PHPが好きなら、 piwidict -PHPこの機械可読ウィクショナリーへのAPI 2

4

私はそのようなドイツのダンプから単語リストを作成しました:

bzcat pages-articles.xml.bz2 | grep '<title>[^[:space:][:punct:]]*</title>' | sed 's:.*<title>\(.*\)</title>.*:\1:' > words
4
benroth

興味があるかもしれません dbnary プロジェクトではなく、pythonではありませんが興味深いものです。クレームは21言語の解析をサポートし、 wikdict を強化します。

3
yota

[〜#〜] jwktl [〜#〜] もあり、ウィクショナリーから構造化データを解析および抽出するのに適しています。 Javaで書かれており、英語、ドイツ語、ロシア語版をサポートしています。

1
Jan Berkel

それをどの程度徹底的に解析する必要があるかによります。 Wordのすべてのコンテンツ(定義、語源、発音、活用など)を取得する必要がある場合は、非常に簡単です。 in Java jsoupを使用

ただし、コンテンツのさまざまなコンポーネントにまで解析する必要がある場合(たとえば、Wordの定義を取得するだけ)、それははるかに困難になります。言語のWordのウィクショナリーエントリには事前定義されたテンプレートがないため、ヘッダーは<h3>から<h6>、セクションの順序が乱れている可能性があります。繰り返しになる場合もあります。

0
Chin