2009-01-19 6 views
8

Wenn es darum geht, Musik nach Genre zu klassifizieren, habe ich herausgefunden, dass Wikipedia interessantere Genre-Informationen hat als die meisten anderen Datenquellen.Musik Künstlerdaten aus Wikipedia abrufen?

Ich erinnere mich an eine Datenbank, die diese Art von Informationen aus Wikipedia gesammelt und leichter zugänglich gemacht hat, aber ich konnte heute nichts googeln.

Wenn ich versuchen sollte, diese Daten abzurufen, was sind meine Optionen? Gibt es etwas wie das, was ich beschrieben habe oder muss ich screenen?

Antwort

2

Ich fand, was ich dachte, als ich meine Frage postete. Infochimps hält Sammlungen von Infoboxen aus Wikipedia, wie this one für Musiker. Es ist nicht wirklich was ich will, weil es nur als Download verfügbar ist.

Während ich gesucht habe, habe ich gefunden, wie auf Artikel in XML format mit nicht gerenderten Wiki-Markup zugreifen. Anscheinend ist es auf den Wikipedia-Servern einfacher, aber ich bin mir nicht sicher, ob es einfacher wäre, es zu analysieren.

+0

Link funktioniert nicht – mtk

11

Sie sollten in Freebase suchen (siehe zum Beispiel ihre musical artists table). Wenn Sie Wikipedia wählen, sollten Sie wahrscheinlich eine database dump herunterladen.

Beispiel Genre Inserate von Freebase und Wikipedia für die Band Radiohead zu vergleichen:

  • Freebase: Alternativer Rock, Art-Rock, elektronische Musik, Progressive Rock, Electronica und experimenteller Rock.
  • Wikipedia: Alternative Rock, elektronische und experimentelle Rock.

bearbeiten: Noch wichtiger ist, ich habe ein funktionierendes Beispiel mit mjt enthalten, einen Rahmen Javascript entwickelt für Freebase. Kopieren Sie es in eine Datei, öffnen Sie es mit Ihrem Browser, geben Sie einen Künstlernamen ein und sehen Sie, welche Genres Freebase für sie hat.

Weniger wichtig, ich habe meine Beispiele geändert und standardmäßig Radiohead. =)

<html> 
<head> 
    <script type="text/javascript" src="http://mjtemplate.org/dist/mjt-0.6/mjt.js"></script> 
</head> 
<body onload="mjt.run()"> 
<pre mjt.script=""> 
var name = mjt.urlquery.name ? mjt.urlquery.name : 'Radiohead'; 
</pre> 
<div mjt.task="q"> 
mjt.freebase.MqlRead([{ 
    type: '/music/artist', 
    name: { 
    value:name, 
    lang:{name:{value:'English'}} 
    }, 
    genre: [{ 
    name: { 
     value:null, 
     lang:{name:{value:'English'}}} 
    }] 
}]) 
</div> 

<form method="get" action=""> 
<input type="text" name="name" value="$name" /> 
<input type="submit" value="search" /> 
</form> 

<table mjt.for="topic in q.result"> 
    <tr mjt.for="(var rowi = 0; rowi &lt; topic.genre.length; rowi++)"> 
    <td><pre mjt.script="">var gname = topic.genre[rowi].name;</pre>$gname.value</td> 
    </tr> 
</table> 
</body></html> 

Sie verwenden wahrscheinlich eine andere Sprache, aber hoffentlich können Sie die obige Abfrage leicht übersetzen.

+0

+1 für Freebase, wahrscheinlich die beste Quelle gibt es, abgesehen von dem Label/Künstler selbst. – UnkwnTech

+0

Freebase sieht ziemlich gut aus. Ich werde weiter untersuchen. Vielen Dank! – Kenny

+0

Es gibt angeblich gute APIs für die Interaktion mit Freebase, verfügbar in den meisten Sprachen?Leider habe ich nur durch mjt, ein Javascript-Framework interagiert: http://stackoverflow.com/questions/33484/can-export-translations-of-place-names-from-freebase-com –

7

MusicBrainz (http://musicbrainz.org/) kann sein, was Sie wollen, anstelle von Wikipedia. Es ist ein Projekt, um eine frei lizensierte, qualitativ hochwertige Sammlung von Musik-Metadaten (Name des Komponisten, Titel des Albums, Titel des Titels, Name des Posaunisten auf dieser Spur, etc.) zu machen. Sie haben eine großartige Datenbank, ein detailliertes Datenbankschema, umfassende Stilrichtlinien für die präzise und konsistente Erstellung von Metadaten, Anwendungssoftware, die Metadaten in Tags in Musikdateien einfügen kann, und eine API, mit der Sie die Daten verwenden können, entwickelt. Alle frei verfügbar und gemeinsam bearbeitet.

Der eine schwache Bereich der Metadaten von MusicBrainz ist Musikgenre. Dies liegt daran, dass es sich um ein so hartnäckiges Problem handelt: Der "Funk" einer Person ist der "Pop" einer anderen Person.

Verwandte Themen