単語が存在するかどうかを判断するために、ウィクショナリーの API をどのように使用できますか?
9 に答える
ウィクショナリー APIを使用して、単語が存在するかどうかを照会できます。
既存のページと存在しないページの例:
http://en.wiktionary.org/w/api.php?action=query&titles=test
http://en.wiktionary.org/w/api.php?action=query&titles=testx
最初のリンクは、解析しやすい他のタイプの形式の例を提供します。
小さな XHTML 形式で単語のデータを取得するには (存在以上のものが必要な場合)、ページの印刷可能なバージョンを要求します。
http://en.wiktionary.org/w/index.php?title=test&printable=yes
http://en.wiktionary.org/w/index.php?title=testx&printable=yes
これらは、標準の XML パーサーで解析できます。
探している名前のページがウィクショナリーにあることを確認するだけでも、いくつかの注意点があります。
警告 #1 : 英語のウィクショナリーを含むすべてのウィクショナリーは、実際にはすべての言語のすべての単語を含めるという目標を持っているため、単純に上記の API 呼び出しを使用すると、質問している単語が少なくとも 1 つの言語の単語であることがわかりますが、必ずしも英語ではない: http://en.wiktionary.org/w/api.php?action=query&titles=dicare
警告 #2 : ある単語から別の単語へのリダイレクトが存在する可能性があります。別の綴りによるものかもしれませんが、何らかのエラーによるものかもしれません。上記の API 呼び出しは、リダイレクトと記事を区別しません: http://en.wiktionary.org/w/api.php?action=query&titles=profilemetry
警告 #3 : 英語のウィクショナリーを含む一部のウィクショナリーには、「よくあるスペルミス」が含まれています: http://en.wiktionary.org/w/api.php?action=query&titles=fourty
警告 #4 : 一部のウィクショナリでは、用語に関する情報がほとんどまたはまったくないスタブ エントリが許可されています。これはいくつかのウィクショナリーで一般的でしたが、英語のウィクショナリーではそうではありませんでした。しかし、今では英語のウィクショナリーにも広がっているようです: https://en.wiktionary.org/wiki/%E6%99%B6%E7%90%83スタブの外観: https://en.wiktionary.org/w/index.php?title=%E6%99%B6%E7%90%83&oldid=39757161 )
これらが必要なものに含まれていない場合は、ウィキテキスト自体を読み込んで解析する必要がありますが、これは簡単な作業ではありません。
ウィクショナリー データのダンプをダウンロードできます。詳細については、FAQを参照してください。あなたの目的のためには、XML ダンプよりもおそらく定義ダンプの方が適しています。
シンプルにするために、次のようにダンプから単語を抽出します。
bzcat pages-articles.xml.bz2 | grep '<title>[^[:space:][:punct:]]*</title>' | sed 's:.*<title>\(.*\)</title>.*:\1:' > words
JWKTL を試してみてください。私はちょうどそれについて知りました;)