Eigentlich hatte ich eine ausführliche Antwort fertig, welche ich nicht senden konnte, weil mal wieder die Verbindung abgerissen ist. Dann habe ich gebastelt und ein anderes Problem hat sich ergeben (-> PlugIn-Weitergabe deaktiviert (Lieblingssendung)). Vielleicht kannst Du ja meine TVB-Dateien von gestern dafür auch mal durchsehen.
Also hier nochmal weiter:
Danke also nochmal für die Antwort.
ds10 hat geschrieben:Hospes hat geschrieben:Das grundsätzliche Problem liegt ja nun in den TV-Daten, welche eher selten aussagekräftig sind.
Was daran liegt, dass die Daten automatisch bereit gestellt werden und daher eine einheitliche Kennzeichnung der Genre nicht möglich ist.
Das ginge nur mit redaktionell aufbereiteten Daten, und das kostet Geld.
Entschuldijen Se, det war nur ne Einleitung.
Bei meinem Beispiel (Alien/Space) wollte ich nicht noch mehr ins Detail gehen, aber ich habe bereits mehrere Versionen ausprobiert: mit einfachem Stichwort, RegExp, Massenfilter-Liste, etc.
Das Problem mit den "\b"-Ausdruck ist, dass ich damit Worte wie "Alieninvasion", "Superalien", "Subspace" oder "Spacelord" verliere. Ich hatte sogar schon fehlende Treffer mit dem Ausdruck ".*sci(ence)?[\s-]*fi(ction)?.*", weil in den TV-Daten einmal "Sci. -Fict." stand. Also
(er)fand ich den Ausdruck ".*sci\w*[\s.-/]*fi\w*.*" als Optimum.
Außerdem kommen noch weitere Stich-Worte (und Varianten und deren Ausnahmen) vor, wie z.B. (
vereinfacht) "Zeit(reise|maschine|sprung)", Cyber, "Kosmo(s|naut|\w+)", usw. Und dann eben das Ganz auch für andere Themen wie Fantasy, Horror u.a.
Du siehst:
Gehirn-Knoten
Gerade versuche ich es mit einer Kombination von Filterkomponenten aus [RegExp-Liste für die wahrscheinlichsten SciFi-Worte] UND NICHT ([Symbole/Sender/Schlüsselworte für general Infotainment & Co.] ODER [RegExp-Liste für die bekannten SciFi-Wort-Ausnahmen (z.B. "Repressalien", "hollow space", etc.)]).
Vor einigen Stunden bin ich dann auf die Idee gekommen, die Sci-Fi-Ausnahmen zu relativieren (s. "K-PAX"/"Kevin Spacey"), indem ich festlege, dass wenn eine Negativ-Treffer/Ausnahme-Begriff eintritt, soll bei einem zweiten Positiv-Treffer der Film wieder in die Ergebnisliste aufgenommen werden. Aber ich glaube, da das eine IF-Bedingung ist, geht das nur mit einem BeanShell-Filter. Da weiß ich allerdings jetzt nicht, wie ich die beiden Filterkomponenten in einer weiteren Filterkomponente aufrufen soll. Aber es wäre eben auch zu fehleranfällig, die beiden Ausdruck-Listen in den BeanShell-Code direkt zu integrieren.
Für Serien ist das alles kein Problem. Die programmiere ich einfach über die Titel ("Star Trek/Wars", etc.)
Es muss aber einen Weg geben, wie die fehlende redaktionelle Bearbeitung der TV-Daten auf programmatischem Wege nachgebessert werden kann. Meine Code-Idee ist recht simpel im Ablauf und sollte eine größt-mögliche Treffergenauigkeit generieren können. Das Problem ist: mit fehlt die passende Filter-Struktur.
Mit folgender Ablaufsteuerung ließen sich alle Film-Genre Differenzierungen automatisieren:
1. die TV-Daten müssen mit den Positiv-Begriffen gefiltert werden (
z.B. "Sci-Fi" AND "Space"),
2. dieses (Positiv-)Ergebnis auf die Negativ-Begriffe prüfen (
z.B. "Kevin Spacey"),
3. das Negativ-Ergebnis dieses Negativ-Filters (
also was keine Ausnamen enthält) als (vorläufiges) End-Ergebnis übernehmen,
4. das Positiv-Ergebnis dieses Negativ-Filters (
also wo Ausnamen vorkommen) temporär von den Negativ-Begriffen bereinigen (
also "Kevin Spacey" löschen) und dann nochmals gegen die Positiv-Begiffe filtern (
also nochmal "Sci-Fi" AND "Space").
5. das resultierende Positiv-Ergebnis (des erneuten Positiv-Filters) ebenfalls zum End-Ergebnis hinzufügen.
Fertig.
Die Positiv- und Negativ-Listen könnten dann direkt in einem Fenster gepflegt werden. Dies bleibt auch manuelle Arbeit, da es einfach ein Problem der Sprache(n) ist und nicht nach Regeln sondern nur durch Lernen verarbeitet werden kann.
Da ich nun auch weiß, dass du hier alles alleine machst, denke ich, dass ich dir vllt. dabei helfen könnte, den Quellcode hierfür zu generieren. Ich müsste nur die Namen der Objekte/Variablen wissen - und natürlich die Programmiersprache.
[i][size=85]Eigentlich hatte ich eine ausführliche Antwort fertig, welche ich nicht senden konnte, weil mal wieder die Verbindung abgerissen ist. Dann habe ich gebastelt und ein anderes Problem hat sich ergeben (-> [url=http://hilfe.tvbrowser.org/viewtopic.php?f=3&t=16932]PlugIn-Weitergabe deaktiviert (Lieblingssendung)[/url]). Vielleicht kannst Du ja meine TVB-Dateien von gestern dafür auch mal durchsehen.
Also hier nochmal weiter:
[/size][/i]
Danke also nochmal für die Antwort.
[quote="ds10"][quote="Hospes"]Das grundsätzliche Problem liegt ja nun in den TV-Daten, welche eher selten aussagekräftig sind.[/quote]
Was daran liegt, dass die Daten automatisch bereit gestellt werden und daher eine einheitliche Kennzeichnung der Genre nicht möglich ist.
Das ginge nur mit redaktionell aufbereiteten Daten, und das kostet Geld.
[/quote]
Entschuldijen Se, det war nur ne Einleitung. :wink:
Bei meinem Beispiel (Alien/Space) wollte ich nicht noch mehr ins Detail gehen, aber ich habe bereits mehrere Versionen ausprobiert: mit einfachem Stichwort, RegExp, Massenfilter-Liste, etc.
Das Problem mit den "\b"-Ausdruck ist, dass ich damit Worte wie "Alieninvasion", "Superalien", "Subspace" oder "Spacelord" verliere. Ich hatte sogar schon fehlende Treffer mit dem Ausdruck ".*sci(ence)?[\s-]*fi(ction)?.*", weil in den TV-Daten einmal "Sci. -Fict." stand. Also [i](er)[/i]fand ich den Ausdruck ".*sci\w*[\s.-/]*fi\w*.*" als Optimum.
Außerdem kommen noch weitere Stich-Worte (und Varianten und deren Ausnahmen) vor, wie z.B. ([i]vereinfacht[/i]) "Zeit(reise|maschine|sprung)", Cyber, "Kosmo(s|naut|\w+)", usw. Und dann eben das Ganz auch für andere Themen wie Fantasy, Horror u.a.
Du siehst: [i]Gehirn-Knoten[/i] :?
Gerade versuche ich es mit einer Kombination von Filterkomponenten aus [RegExp-Liste für die wahrscheinlichsten SciFi-Worte] UND NICHT ([Symbole/Sender/Schlüsselworte für general Infotainment & Co.] ODER [RegExp-Liste für die bekannten SciFi-Wort-Ausnahmen (z.B. "Repressalien", "hollow space", etc.)]).
Vor einigen Stunden bin ich dann auf die Idee gekommen, die Sci-Fi-Ausnahmen zu relativieren (s. "K-PAX"/"Kevin Spacey"), indem ich festlege, dass wenn eine Negativ-Treffer/Ausnahme-Begriff eintritt, soll bei einem zweiten Positiv-Treffer der Film wieder in die Ergebnisliste aufgenommen werden. Aber ich glaube, da das eine IF-Bedingung ist, geht das nur mit einem BeanShell-Filter. Da weiß ich allerdings jetzt nicht, wie ich die beiden Filterkomponenten in einer weiteren Filterkomponente aufrufen soll. Aber es wäre eben auch zu fehleranfällig, die beiden Ausdruck-Listen in den BeanShell-Code direkt zu integrieren.
Für Serien ist das alles kein Problem. Die programmiere ich einfach über die Titel ("Star Trek/Wars", etc.)
Es muss aber einen Weg geben, wie die fehlende redaktionelle Bearbeitung der TV-Daten auf programmatischem Wege nachgebessert werden kann. Meine Code-Idee ist recht simpel im Ablauf und sollte eine größt-mögliche Treffergenauigkeit generieren können. Das Problem ist: mit fehlt die passende Filter-Struktur.
Mit folgender Ablaufsteuerung ließen sich alle Film-Genre Differenzierungen automatisieren:
1. die TV-Daten müssen mit den Positiv-Begriffen gefiltert werden ([i]z.B. "Sci-Fi" AND "Space"[/i]),
2. dieses (Positiv-)Ergebnis auf die Negativ-Begriffe prüfen ([i]z.B. "Kevin Spacey"[/i]),
3. das Negativ-Ergebnis dieses Negativ-Filters ([i]also was keine Ausnamen enthält[/i]) als (vorläufiges) End-Ergebnis übernehmen,
4. das Positiv-Ergebnis dieses Negativ-Filters ([i]also wo Ausnamen vorkommen[/i]) temporär von den Negativ-Begriffen bereinigen ([i]also "Kevin Spacey" löschen[/i]) und dann nochmals gegen die Positiv-Begiffe filtern ([i]also nochmal "Sci-Fi" AND "Space"[/i]).
5. das resultierende Positiv-Ergebnis (des erneuten Positiv-Filters) ebenfalls zum End-Ergebnis hinzufügen.
Fertig.
Die Positiv- und Negativ-Listen könnten dann direkt in einem Fenster gepflegt werden. Dies bleibt auch manuelle Arbeit, da es einfach ein Problem der Sprache(n) ist und nicht nach Regeln sondern nur durch Lernen verarbeitet werden kann.
Da ich nun auch weiß, dass du hier alles alleine machst, denke ich, dass ich dir vllt. dabei helfen könnte, den Quellcode hierfür zu generieren. Ich müsste nur die Namen der Objekte/Variablen wissen - und natürlich die Programmiersprache.