ウィクショナリーAPIを使って選択した単語の意味を知りたいのですが。コンテンツ取得データは、「今日の単語」に示されているものと同じである必要があります。たとえば、語源、類義語などを含まない基本的な意味のみです。
「postichen偽のあごひげやかつらなど、頭や顔につけられた偽の髪のアイテム。」
ドキュメントを使用してみましたが、同様の例を見つけることができます。誰かがこの問題を解決できますか?
ウィクショナリーAPIを使って選択した単語の意味を知りたいのですが。コンテンツ取得データは、「今日の単語」に示されているものと同じである必要があります。たとえば、語源、類義語などを含まない基本的な意味のみです。
「postichen偽のあごひげやかつらなど、頭や顔につけられた偽の髪のアイテム。」
ドキュメントを使用してみましたが、同様の例を見つけることができます。誰かがこの問題を解決できますか?
MediaWikiにはAPI( )がありますが、1つのリビジョンのソースコード(APIではなくXML、JSONなどでラップされていない)を取得する場合は、パラメーターをapi.php
使用するのが最も簡単な場合があります。 。action=raw
index.php
たとえば、これは11月14日のその日のページの生の単語です。
http://en.wiktionary.org/w/index.php?title=Wiktionary:Word_of_the_day/November_14&action=raw
残念なことに、Wikiページの形式は、セマンティクス(マシンの場合)ではなくプレゼンテーション(人間の読者の場合)に焦点を合わせているため、「getworddefinition」APIコマンドがないことに驚かないでください。代わりに、スクリプトは、ウィクショナリーの編集者が作成して使用した多数のテキスト書式設定テンプレートと、見出し、順序付けされていないリストなどの複雑な表示書式設定構文を理解する必要があります。たとえば、ページ「オーバーフロー」のソースコードは次のとおりです。
http://en.wiktionary.org/w/index.php?title=overflow&action=raw
APIには「XML解析ツリーの生成」オプションがありますが、プレゼンテーションのフォーマットの多くをXMLに分割することはありません。自分の目で確かめてください。
MediaWiki以外のMediaWiki形式のページ用のパーサーが存在するかどうか疑問に思っている場合は、いいえ、ありません。少なくとも、現在維持されているJavaScriptで記述されたものはありません(代替パーサーのリストを参照し、リストされている2つのパーサーのWebサイトを確認してください)。それでも、一般的なテンプレートのほとんど/すべてをサポートすることは大きな課題になります。幸運を。
わかりました、敗北を認めます。
Pywikipediabotにはウィクショナリーに関連するファイルがいくつかあり、コードを見てみると、意味/定義フィールドを解析するために取得できるはずです。
しかし、最後の30分で、そうではないと確信しました。コードはうまく書かれておらず、これまでに機能したことがあるかどうか疑問に思っています。
だから私はidealmachineの答えを延期しますが、他の誰かが同じ間違いを犯すのを防ぐためにこれを投稿すると思いました. :)
前述のように、ウィクショナリー ページのコンテンツは人間が読める形式でありwikitext
、データが構造化されていないため、MediaWiki API は単語の意味を取得できません。
ただし、各ページは特定の規則に従っているため、 から意味を抽出することはそれほど難しくありませんwikitext
。また、WordnikやLingua Robotなど、ウィクショナリーのコンテンツを解析して JSON 形式で提供する API もいくつかあります。
MediaWiki には API がありますが、それは低レベルであり、各ウィキに固有のものをサポートしていません。たとえば、ウィキペディアの百科事典サポートはなく、ウィクショナリーの辞書サポートもありません。API を使用して、ページまたはセクションの生のウィキテキスト マークアップを取得できますが、自分で解析する必要があります。
最初の警告は、各ウィクショナリーが独自の形式を進化させていることですが、英語のウィクショナリーのみに興味があると思います. 多くのツールが使用する安価なトリックの 1 つは、'#' 文字で始まる最初の行を取得することです。これは通常、最初の同音異義語の最初の意味の定義のテキストになります。
もう 1 つの注意点は、すべてのウィクショナリーが多くの wiki テンプレートを使用しているため、未加工のテキストを見ていると、これらがたくさん表示されることです。これらのテンプレートを確実に展開する唯一の方法は、action=parse
.