Intelligenter RSS-Reader

Du hast eine Idee für ein Projekt?
Antworten
stes
User
Beiträge: 2
Registriert: Donnerstag 4. Oktober 2012, 16:11

Hallo zusammen,

ich würde an dieser Stelle gerne eine Idee bezüglich eines Open-Source-Projektes vorstellen.

Entwickelt werden soll ein intelligenter RSS-Reader, der folgende Funktionen bereitstellt:

- Laden von RSS-Feeds (Direkt aus dem Internet oder aus einem lokalen Archiv eines bestehenden Feedreaders, z. B. Akregator)
- Anzeige der Feeds in einer ansprechenden, leicht zu bedienenden GUI nach dem KISS-Prinzip
- Nutzer kann Feeds durchsuchen, lesen und bewerten
- Bei noch nicht bewerteten Feeds wird eine Bewertung automatisch vom System generiert, neue Feeds werden direkt in "wichtig" und "unwichtig" eingeteilt (ähnlich wie beim Maileingang eines Gmail Kontos)
- Funktion zur komfortablen Verwaltung und Archivierung der Feeds

Mit der Zeit erlernt das System dann mehr und mehr die Präferenzen des Users und kann immer zuverlässiger die eingehenden Nachrichten in wichtig und unwichtig einordnen.

Zu meiner eigenen Person ist zu sagen, dass ich relativ wenig Erfahrung mit Python selbst habe. Ich programmiere hobbymäßig seit nunmehr etwa 3 Jahren mit Java und Visual C# (letzteres in letzter Zeit nicht mehr) und habe mich vor einem halben Jahr an Python rangewagt. Nach diversen kleinen Projekten möchte ich daher an etwas größerem mit einem praktischen Nutzen versuchen ;-)

Es ist mir wichtig, eine kleine Arbeitsgruppe aus motivierten Leuten zusammenzustellen, die ernsthaftes Interesse an der Materie haben und dazu beitragen wollen, am Ende ein brauchbares Produkt auf die Beine zu stellen.

Günstige Eigenschaften wären (mindestens drei sollten zutreffen ;-) ):

- grundlegendes Verständnis von Python
- Linux als Betriebssystem
- Kenntnisse in der Programmierung von GUIs (pyGTK wäre mein Vorschlag, momentan nutze ich Glade zur Erstellung der Oberfläche)
- Interesse an künstlicher Intelligenz
- Motivation und Ehrgeiz (und eine gewisse Ausdauer, damit das Projekt nicht nach den ersten Wochen "ausstirbt") ;-)

Wenn ich das Interesse des ein oder anderen geweckt habe, würde ich mich um eine private Nachricht hier im Forum bzw. um eine Email an stes94@ymail.com freuen!

Bei weiteren Fragen bitte nach Lust und Laune diesen Thread ergänzen, oder ebenfalls eine kurze Mail an mich senden ;-)

Gruß

stes
Benutzeravatar
Hyperion
Moderator
Beiträge: 7478
Registriert: Freitag 4. August 2006, 14:56
Wohnort: Hamburg
Kontaktdaten:

Ohne Dich entmutigen zu wollen: Wo siehst Du - vom "Lernen" mal abgesehen - ein Alleinstellungsmerkmal zu zig Zillionen anderen RSS-Readern? (Und selbst beim Lernen vermute ich bereits existierende Lösungen...)

Die Punkte eins, zwei, drei und fünf wollen doch sicherlich alle RSS-Reader erfüllen, oder? ;-) Ich denke das wäre aber sicherlich ein geeignetes Anfängerprojekt.

Das "Lernen" wäre das für mich eigentlich spannende! Wie stellst Du Dir das vor? Hast Du bereits Kenntnisse von Methodiken in diesem Kontext? Von simpler Tag basierter Analyse bis hin zu tatsächlicher semantischer Analyse gibt es da ja einen breiten Spielraum...

Als letztes noch ein Tipp: Ich glaube ehrlich gesagt nicht, dass Du hier einfach so aus dem Nichts eine Gruppe von Entwicklern für ein Projekt gleich welcher Art finden wirst! Da musst Du schon "vorlegen" und ein fundiertes Konzept, Protoypen o.ä. auf einer gängigen Plattform (github, bitbucket, usw) verlinken. Basierend auf der Eingängigkeit des bisherigen Projektes wirst Du dann eher Mitstreiter finden als durch einen Thread hier im Forum :-)

Als ein positives Beispiel könnte ich Dir hier Bottle nennen - das fing auch als kleines "Forum"-Projekt an und hat sich zu einer etablierten Größe im Python-Umfeld entwickelt. Auch wenn es prinzipiell weiterhin ein Ein-Mann-Projekt (Defnull) ist, so dürfte es doch etliche Leute gegeben haben, die für das Projekt Code oder anderes beigetragen haben.

Bevor Du also darauf wartest, dass Dir hier Mitstreiter die Tür einrennen, solltest Du eher loslegen und durch beständige Fortschrittsmeldungen hier dafür "werben".

Also, los geht's ;-)
encoding_kapiert = all(verstehen(lesen(info)) for info in (Leonidas Folien, Blog, Folien & Text inkl. Python3, utf-8 everywhere))
assert encoding_kapiert
DasIch
User
Beiträge: 2718
Registriert: Montag 19. Mai 2008, 04:21
Wohnort: Berlin

Du hast nicht ernsthaft vor in 2012 einen nativen Desktop RSS Reader zu entwickeln? Wenn du einen machst solltest du ein Webapp draus machen, dass auch mit Tablets und Smartphones brauchbar zu bedienen ist.
lunar

@DasIch Deine „Marktanalyse“ kann ich nicht so ganz nachvollziehen ;)
stes
User
Beiträge: 2
Registriert: Donnerstag 4. Oktober 2012, 16:11

Hallo zusammen,

um ein wenig konkreter zu werden: Meine Hauptintention ist es nicht, einen herausragenden RSS-Reader zu entwickeln, der alles Vorhandene in den Schatten stellt. Vielmehr geht es mir darum, an einem später verwendbaren Projekt meine Python-Kenntnisse weiter zu vertiefen und vor allem eine KI-Komponente für einen sinnvollen Zweck einzusetzen.
Hyperion hat geschrieben:Das "Lernen" wäre das für mich eigentlich spannende! Wie stellst Du Dir das vor? Hast Du bereits Kenntnisse von Methodiken in diesem Kontext? Von simpler Tag basierter Analyse bis hin zu tatsächlicher semantischer Analyse gibt es da ja einen breiten Spielraum...
Ich bin mir noch nicht exakt sicher welche Methode genau den Sinn erfüllen wird. Grundsätzlich stelle ich mir vor, dass der Benutzer die Artikel bewertet und das System per überwachtem Lernen lernt, welche Merkmale für den User von Bedeutung sind.

Einige Merkmale könnten hand-coded (z. B. Autor/Quelle) sein, andere ließen sich z. B. per Principal Component Analysis ermitteln.

Der erste Schritt könnte die Verwendung eines einfachen Bag-Of-Words Modells sein, welches ich in einer aktuellen Implementierung verwende. Dabei wird gezählt, welches Wort wie oft im Text vorkommt. Hieraus lässt sich ein Merkmalsvektor generieren, der an das Bewertungssystem weitergegeben werden kann oder aus dem neue Merkmale extrahiert werden können. Für die konkrete Bewertung kann dann z. B. ein neuronales Netz zum Einsatz kommen, evtl. genügt sogar die Verwendung linearer Regression. Auch hier soll jedenfalls gelten: Möglichst einfache Methoden verwenden, sofern sie ihren Zweck erfüllen.

Künstliche Intelligenz ist zweifelslos eine spannende Sache und für mich (neben der Verbesserung meiner Python-Kenntnisse) die Hauptmotivation, dieses Projekt anzugehen. Entsprechende Vorkenntnisse sind vorhanden, für meine Facharbeit habe ich z. B. eine simple statische Gestenerkennung in Java entwickelt.
Hyperion hat geschrieben:Als letztes noch ein Tipp: Ich glaube ehrlich gesagt nicht, dass Du hier einfach so aus dem Nichts eine Gruppe von Entwicklern für ein Projekt gleich welcher Art finden wirst! Da musst Du schon "vorlegen" und ein fundiertes Konzept, Protoypen o.ä. auf einer gängigen Plattform (github, bitbucket, usw) verlinken. Basierend auf der Eingängigkeit des bisherigen Projektes wirst Du dann eher Mitstreiter finden als durch einen Thread hier im Forum
Da kannst du Recht haben. Ich habe bereits mit dem Projekt begonnen (genau genommen hat es sich aus einem anderen entwickelt, welches ich zusammen mit einem Freund angefangen habe). Sobald ich etwas ernsthaftes vorzuweisen habe, werde ich es sicherlich hier veröffentlichen. :-)
DasIch hat geschrieben:Du hast nicht ernsthaft vor in 2012 einen nativen Desktop RSS Reader zu entwickeln? Wenn du einen machst solltest du ein Webapp draus machen, dass auch mit Tablets und Smartphones brauchbar zu bedienen ist.
Doch, habe ich. ;-)
Der Grund ist recht einfach: Ich würde ihn benutzen, außerdem halte ich das ganze für ein recht überschaubares Projekt für einen Anfänger.

Gruß

stes
Antworten