如何使用维基词典获取发音数据?

时间:2011-03-21 13:19:28

标签: php api mediawiki mediawiki-api wiktionary

我一直在寻找一种方法来查询任何给定单词的发音,方法是查询某种API。由于Wiktionary可以方便地找到我试图使用其API的单词的发音,但我如何获得特定单词的发音?

似乎他们的API只允许获取整篇维基文章。

3 个答案:

答案 0 :(得分:6)

维基词典没有自己的API。 MediaWiki,Wiktionary运行的软件确实有一个API,但它完全没有意识到维基词典的结构和内容。

您可以做的最好的事情是使用MediaWiki API查找所需单词的Wiki页面,然后查看目录。如果目录中包含您所需语言的语言部分,并且其中有Pronunciation部分,则使用其他API调用来获取该部分的wikitext,您必须自己解析该部分。由于维基词典不断发展,它可能会在不同的单词上使用或不使用不同的模板。

还有WiktionaryMediaWiki API的邮件列表。

答案 1 :(得分:4)

您可以在wiktionary dbpedia上构建一个SPARQL查询,如下所示their SPARQL endpoint

PREFIX dc: <http://purl.org/dc/elements/1.1/>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX wt:<http://wiktionary.dbpedia.org/terms/>

SELECT DISTINCT ?spell ?pronounce
WHERE { 
  ?spell rdfs:label "work"@en ;
            wt:hasLangUsage ?use .

  ?use dc:language wt:English ;
          wt:hasPronunciation ?pronounce .
}

在这种情况下,“work”是您要查找拼写的单词。

编辑:

类似的项目是dbnary,它更活跃,并提供更可靠的结果。您可以将SPARQL endpoint与以下查询一起使用:

SELECT DISTINCT ?pronun
WHERE {
  ?form lemon:writtenRep "work"@en ;
        lexinfo:pronunciation ?pronun .
}

答案 2 :(得分:1)

以下是我为类似情况所做的事情。

  1. 访问 Scraping Links With PHP 。它将教你如何使用PHP刮取链接。请不要复制和粘贴,但要尝试学习它。
  2. 现在我们有了链接,我们需要将音频(* .ogg)与普通链接分开。我们需要在PHP中使用pathinfo函数。 The officual documentation for pathinfo应该是一个好的开始。
  3. 从结果中创建XML。
  4. 使用Ajax或任何其他首选方式传送内容。
  5. 或者您可以尝试“http://api.forvo.com/demo”。看起来很有希望。

    我不会给你完整的答案!因为它不再有趣了。我希望它有所帮助。