Zur Boardunity Forenstartseite

Zurück   Boardunity Ratgeber Forum » Projekt Foren » Projekt Forum

Antwort
 
LinkBack Themen-Optionen Bewertung: Bewertung: 7 Stimmen, 4,71 durchschnittlich.
  #101  
Alt 24.12.2008, 12:19
Mitglied
 
Registriert seit: 11.2008
Beiträge: 56
ja, das wäre gut

  #102  
Alt 24.12.2008, 12:41
Benutzerbild von Luki
Administrator
 
Registriert seit: 02.2004
Ort: Hamburg
Beiträge: 489
Zitat:
Zitat von Jendrik Beitrag anzeigen
Also ich finde diese Idee ausgezeichnet.
Ihr wollt das also zentral machen? Warum nicht dezentral?
Ausfälle sind unbedeutender, weil nicht aus das gesamte System betroffen ist.

Mein Vorschlag:
Der Admin wählt aus einer zentralen Liste Foren aus, von denen er Links/Themen haben möchte.
Optional müssen diese vom anderen Forum bestätigt werden.
Einmal pro Tag holen sich die Foren eine Liste der Links von den entsprechenden Foren.

Das spart Zeit, Rechenleistung und das gesamte System ist stabiler.

Notfalls würde ich auch ein bischen programmieren helfen.
Hallo Jendrik,

ich habe Dich mal freigeschaltet, der Nachteil bei Deinem Vorschlag ist jedoch das kleinere Foren vermutlich nie ausgewählt werden würden.
Die eigentlich Idee sollte das ganze fair und automatisch steuern

Gruß
Lukas

  #103  
Alt 24.12.2008, 13:57
Mitglied
 
Registriert seit: 11.2008
Beiträge: 56
ich habe dann doch nochmal eine Frage: Wozu wollt ihr die Hits / Klicks speichern? Um die Qualität der Beiträge einzuschätzen, oder um ein gerechte Verteilung der Links zu erreichen? Eure größte Sorge ist doch, das kleine Foren auch Links bekommen und auch auf anderen angezeigt werden, oder? Warum also nicht per Zufallszahl? //Edit: Ich meine, warum die Themen nicht per Zufallszahl auswählen? Also eine Zufallszahl, die zwischen Forum1, Forum2, ..., ForumN auswählt und von diesem Forum einen Link einbindet, vorausgesetzt er hat einen Passenden.

  #104  
Alt 24.12.2008, 20:55
Benutzerbild von codethief
Visionär
 
Registriert seit: 09.2003
Beiträge: 803
Eine Rangliste der Foren (die Hits sind ja nur ein mögliches Kriterium) ist notwendig, um zu gewährleisten, dass insbesondere die großen Foren etwas von diesem System davon haben und sich somit beteiligen würden. Große Foren mit einer großen Anzahl an Themen sind notwendig, um das System überhaupt zu tragen. Deshalb sollten diese Foren auch mehr Einblendungen in den anderen Foren kriegen.
Natürlich hätten kleine Foren dadurch auch wiederum einen Nachteil, weil sie zu einer Werbeplattform für die (womöglich auch noch vom Thema her ähnlichen) großen Foren werden würden und weniger Einblendungen / Verlinkungen in den anderen Foren hätten.
Deshalb sollte über der Rangliste auch stets die thematische Relevanz stehen.

=> Bescherung.

  #105  
Alt 26.12.2008, 14:12
Mitglied
 
Registriert seit: 11.2008
Beiträge: 56
Weiterer Vorschlag:
Die Größe der Foren wird nach der Anzahl der neu geschrieben Themen beurteilt und dementsprechend die Links verteilt.

Kleines Beispiel:
Forum 1 hat 10 Beiträge, Forum 2 hat 30 und Forum 3 hat 20.

Forum 2 ist also dreifach, Forum 3 doppelt so groß, wie Forum 1.

Also bekommt Forum 3 mit einer höheren Wahrscheinlichkeit einen Link zugesprochen, als Forum 2 und dieses wiederum eher als Forum 1.

Das könnte man so realisieren:
$random = mt_rand(1, ( Beiträge Forum 1 + Beiträge Forum 2 + Beiträge Forum 3 ) / Beiträge kleinstes Forum )
$random = mt_rand(1, ( 10 + 30 + 20 ) / 10 )

Wenn also $random = 1, wird ein Link von Forum 1 eingeblendet, wenn $random = 2,3,4 einer von Forum 2 und wenn $random = 5,6 einer von Forum 3.

Somit bekommen die großen Foren mit höherer Wahrscheinlichkeit einen Link, die Kleinen haben aber wenigstens eine Chance.

  #106  
Alt 26.12.2008, 14:31
Benutzerbild von codethief
Visionär
 
Registriert seit: 09.2003
Beiträge: 803
Nein, das allein würde nichts ändern. Große Foren mit weit über 30.000 Themen hätten gegenüber kleinen Foren mit vielleicht 1000 Themen immer noch einen unschlagbaren Vorteil (von 30/31 gegenüber 1/31). Darüber hinaus müsste das System auch noch feststellen, ob die Anzahl der Themen überhaupt stimmt und nicht gefälscht ist.
Aus diesem Grund muss die thematische Relevanz der Links stets die größere Rolle spielen. Einen entsprechenden Algorithmus zu finden dürfte allerdings nicht ganz trivial sein...

  #107  
Alt 26.12.2008, 14:42
Benutzerbild von Luki
Administrator
 
Registriert seit: 02.2004
Ort: Hamburg
Beiträge: 489
Ich würde vermutlich erstmal simpel nach Unique Hits gehen!
Für jede Einblendung in einem anderen Forum muss man selbst eine Einblendung gewähren
Das kann man mit der Zeit auch verfeinern.

  #108  
Alt 26.12.2008, 14:44
Mitglied
 
Registriert seit: 11.2008
Beiträge: 56
Ein entsprechender Algorithmus verschlingt aber auch dementsprechend Systemleistung.
Außerdem muss es ja nicht sofort die perfekte Lösung sein.
Mit der Match Funktion und einer Blacklist für Themennamen wie "Helft mir" oder "Ich kapiere garnichts!!!!!!" wird man doch ganz gute Ergebnisse bekommen, oder?

  #109  
Alt 26.12.2008, 14:59
Benutzerbild von codethief
Visionär
 
Registriert seit: 09.2003
Beiträge: 803
Zitat:
Zitat von Luki Beitrag anzeigen
Ich würde vermutlich erstmal simpel nach Unique Hits gehen!
Für jede Einblendung in einem anderen Forum muss man selbst eine Einblendung gewähren
Das kann man mit der Zeit auch verfeinern.
Das funktioniert doch aber auch nicht? Ein großes Forum hat immer mehr Hits als ein kleines Forum und müsste dementsprechend auch mehr Einblendungen bekommen. Das Problem ist auch, dass da ein Ausgleich nur sehr, sehr schwer möglich ist. Ein kleines Forum kann keinesfalls so viele Einblendungen gewähren, wie ein großes Forum Hits hat. Das mag zwar mit zunehmender Anzahl an Foren einfacher werden, aber wir verlieren dabei eindeutig unser Ziel aus den Augen: Die Absicht war doch in erster Linie, dem Nutzer interessante, themenähnliche Links zu bieten und nicht eine Werbeplattform für Foren?

Zitat:
Zitat von Jendrik Beitrag anzeigen
Ein entsprechender Algorithmus verschlingt aber auch dementsprechend Systemleistung.
Außerdem muss es ja nicht sofort die perfekte Lösung sein.
Mit der Match Funktion und einer Blacklist für Themennamen wie "Helft mir" oder "Ich kapiere garnichts!!!!!!" wird man doch ganz gute Ergebnisse bekommen, oder?
Sicherlich verschlingt das ein wenig Leistung. Aber an der Qualität der Ergebnisse würde eben auch der Nutzen für die Foren gemessen werden. Da es am Anfang ja sowieso nur recht wenige Foren gibt und die Systemlast noch entsprechend klein ist, würde ich deshalb auch eher einen ausgeklügelteren Algorithmus bevorzugen. Die Frage der Skalierbarkeit würde ich da zunächst zurückstellen und lieber versuchen überhaupt erst einmal ein paar Erfahrungen zu sammeln.

PS: Luki, willst du nicht die internen Foren freischalten und alle auf das BUN bezogenen Themen in einem Forum zusammenfassen? Dann würden sich sicherlich auch mehr Leute beteiligen.

  #110  
Alt 26.12.2008, 15:01
Mitglied
 
Registriert seit: 11.2008
Beiträge: 56
dann könnten wir auch gleich die gesammten Beiträge spiechern, wenn die Systemlast so klein ist.

  #111  
Alt 26.12.2008, 15:06
Benutzerbild von codethief
Visionär
 
Registriert seit: 09.2003
Beiträge: 803
Zitat:
Zitat von Jendrik Beitrag anzeigen
dann könnten wir auch gleich die gesammten Beiträge spiechern, wenn die Systemlast so klein ist.
Vielleicht müssen wir das sogar. Eine Alternative wäre das Sammeln und Speichern von Stichworten in dem Thema. Und anhand der Anzahl der Übereinstimmung von Stichworten würden dann die ähnlichen Themen herausgesucht werden.

  #112  
Alt 26.12.2008, 15:12
Mitglied
 
Registriert seit: 11.2008
Beiträge: 56
hast du dazu eine Idee?
vlt. Wörter mit mehr als 4 Buchstaben und die min 3 mal vorkommen

  #113  
Alt 26.12.2008, 15:39
Benutzerbild von codethief
Visionär
 
Registriert seit: 09.2003
Beiträge: 803
Zitat:
Zitat von Jendrik Beitrag anzeigen
hast du dazu eine Idee?
vlt. Wörter mit mehr als 4 Buchstaben und die min 3 mal vorkommen
Keine schlechte Idee, wobei wir natürlich Abkürzungen wie PHP, C++ usw. nicht unterschlagen dürften. Und dazu käme dann noch eine entsprechende Blacklist an Wörtern.
Man könnte dann auch insgesamt anhand aller Stichwörter, die in einem Forum aufgetauchen, das Thema eines Forums ermitteln, sodass die Forenbetreiber dies nicht mehr selber eintragen müssen (was zudem vermutlich auch unzuverlässig wäre).
Und je öfter Stichwörter zusammen auftauchen, desto wahrscheinlicher ist es, dass sie thematisch miteinander verwandt sind. Wir könnten uns hier eines ungerichteten Graphen bedienen, der sowohl die Verwandtschaft von Stichwörtern zueinander als auch die zwischen Stichwörtern und Themen (und damit auch Foren) durch eine reelle Zahl kennzeichnet.
Ich weiß nicht, inwiefern ihr mit der Materie vertraut seid, aber die selbe Technik wird auch für die Darstellung künstlicher neuronaler Netze benutzt (d.h. um künstliche Intelligenz zu schaffen).
Mir ist außerdem noch eine Idee gekommen: Die Blacklist könnte man auch vollautomatisch erstellen, indem man sie einfach aus all den Stichwörtern generiert, die mit starker Häufigkeit in allen Foren auftreten. Wir könnten die Mindestlänge für Wörter also auch auf drei heruntersetzen.


Im Übrigen ist wichtig, dass die ähnlichen Themen nicht bei jedem Hit / Themenaufruf neu ermittelt werden, sondern vom Forum für eine bestimmte Zeit gecacht werden. Diese Zeit sollte u.a. davon abhängen, wie viele Foren es gibt, die mit diesem Forum thematisch verwandt sind und wie viele Hits diese haben.

  #114  
Alt 26.12.2008, 16:35
Mitglied
 
Registriert seit: 11.2008
Beiträge: 56
Mir ist auch noch eingefallen: Was machen, wenn das zu verlinkende Thema verschoben/gelöscht wird?
Soll das Bun ständig alle Themen auf vorhandensein überprüfen?
Oder immer auf eine bun.php mit Topicid verweisen, die bei nichtvorhandensein, dies den Bun-Netzwerk meldet.

  #115  
Alt 26.12.2008, 16:53
Benutzerbild von codethief
Visionär
 
Registriert seit: 09.2003
Beiträge: 803
Zitat:
Zitat von Jendrik Beitrag anzeigen
Mir ist auch noch eingefallen: Was machen, wenn das zu verlinkende Thema verschoben/gelöscht wird?
Soll das Bun ständig alle Themen auf vorhandensein überprüfen?
Oder immer auf eine bun.php mit Topicid verweisen, die bei nichtvorhandensein, dies den Bun-Netzwerk meldet.
Ich würde zu letzterem tendieren. Zumal wir dann auch noch für - sagen wir mal - 3 s eine Leiste einblenden könnten, in der sich das BUN von den Inhalten der verlinkten Seite distanziert.

  #116  
Alt 26.12.2008, 17:34
Benutzerbild von Luki
Administrator
 
Registriert seit: 02.2004
Ort: Hamburg
Beiträge: 489
@codethief
Du meinst: http://boardunity.de/bun-development-f86.html für alle?

Du hast Recht, jedoch muss man grosse Foren ja auch irgendwie motivieren mitzumachen?
D.h. Foren die viel "geben" sollten auch viel "bekommen"

@Jendrik & codethief
Ihr werdet ja schon mächtig konkret - das Schönste wäre, wenn wir gemeinsam ein klares Konzept schreiben könnten - die Entwicklung geht denke ich gemeinsam dann relativ schnell!
Habt ihr eine Idee, wie wir das am besten machen? just Worddokument? Wiki? Thread?

  #117  
Alt 26.12.2008, 17:50
Mitglied
 
Registriert seit: 11.2008
Beiträge: 56
erstmal hier beraten, dann neues Topic und alles zusammenfassen

  #118  
Alt 26.12.2008, 20:29
Mitglied
 
Registriert seit: 11.2008
Beiträge: 56
@Luki
Für die Großen gibt es eigentlich keine Motivation, da die Nutzer ihre Seite dadurch eher früher als später wieder verlassen, da diese eher einen Link auf eine andere Seite aufrufen, als auch der Seite selbstständig weiterzusuchen.
Diese Besucher kommen von anderen Seiten ja schließlich wieder "rein".

Die einzigste Motivation ist das die Besucher die Seite als "Angenehmer" empfinden, da sie dort das gefunden haben, was sie suchen und deshalb eher wiederkommen.

Deshalb ist es m.E. am sinnvollsten die besten Ergebnisse anzuzeigen und nicht die von den größten Foren.

  #119  
Alt 26.12.2008, 22:43
Benutzerbild von codethief
Visionär
 
Registriert seit: 09.2003
Beiträge: 803
Zitat:
Zitat von Jendrik Beitrag anzeigen
@LukiDeshalb ist es m.E. am sinnvollsten die besten Ergebnisse anzuzeigen und nicht die von den größten Foren.
Richtig, das muss Priorität haben.

@Luki: Ein Wiki würde sich sicherlich am besten machen. (Ich kann im Übrigen bitbucket.org für die Versionsverwaltung empfehlen.)
Ich würde mich auch an einem entsprechenden Konzept als Ratgeber beteiligen, aber im Moment arbeite ich an einem Compiler für meine eigene Programmiersprache (s. unten), was, da es in mein Abitur einfließt, Vorang hat.

Um noch einmal auf das neuronale Netz einzugehen: Solche Netze basieren darauf, dass alle Knoten eine Methode activate() besitzen, die eine Erregung des Knotens auslösen. Sind mehrere Knoten gleichzeitig erregt, bildet sich eine Verbindung zwischen beiden, wobei die Stärke dieser Verbindung eben durch eine reelle Zahl dargestellt wird.
Stößt der Crawler auf ein Stichwort, entstehen Verbindungen zwischen dem Stichwort, dem Thema und dem Forum (welche beide auch als Knoten aktiviert sind - wie stark weiß ich allerdings noch nicht). Das Stichwort als Knoten wird dabei so oft aktiviert, wie es auf der Seite auftritt, und die Verbindung zwischen Stichwort und Thema wird dadurch natürlich immer stärker.
Da ein Text selbstverständlich viele Stichwörter enthält, werden zwischen diesen auch wiederum Verbindungen gezogen, sodass sich Stichwörter thematisch einsortieren lassen. Genauso aktiviert ein stark auftretendes Stichwort auch automatisch seine Nachbarn, mit denen es bereits verbunden ist, wobei die Stärke der "Mitaktivierung" von der Stärke der Verbindung zwischen beiden abhängt.
Wird nun nach ähnlichen Themen gesucht, sind die auf der Seite auftretenden Stichwörter genauso wie das Thema als Knoten selbst bereits aktiviert und die Themen, die dadurch am stärksten "mitaktiviert" wurden, werden angezeigt.

Noch ein wenig ungenau, aber ich hoffe, ich konnte meine Idee deutlich machen.

  #120  
Alt 26.12.2008, 22:57
Mitglied
 
Registriert seit: 11.2008
Beiträge: 56
bitbucket.org hab ich mir mal angeschaut, blicke dort aber garnicht durch.
Braucht man dafür einen extra Client?

Aber brauchen wir schon ein Versionsverwaltungssystem?

  #121  
Alt 27.12.2008, 09:24
Benutzerbild von codethief
Visionär
 
Registriert seit: 09.2003
Beiträge: 803
BitBucket greift auf Mercurial als Versionsverwaltungssystem zurück. Und ja, meiner Meinung nach sollte man den Code von Anfang an versionieren. Aber da ein Wiki ja auch Versionskontrolle bietet, würde ein Wiki für das Konzept am Anfang sicherlich reichen.

  #122  
Alt 27.12.2008, 14:31
Mitglied
 
Registriert seit: 11.2008
Beiträge: 56
Was wir bereits besprochen haben:
  • Sortierung - Nach Relevanz
To-Do:
  • Caching? - Wie, Wo, Überhaupt?
  • Kommunikationsprotokoll - xml oder was anderes?
  • Backend - MySql und PHP?

Womit fangen wir an?

  #123  
Alt 27.12.2008, 18:37
Benutzerbild von codethief
Visionär
 
Registriert seit: 09.2003
Beiträge: 803
Zitat:
Zitat von Jendrik Beitrag anzeigen
Caching? - Wie, Wo, Überhaupt?
Ich denke, wir sind uns darüber einig, dass die Foren die ähnlichen Themen für eine gewisse Zeit zwischenspeichern sollten, damit unser System nicht so stark belastet wird. Alles weitere (wie z.B. ob auch innerhalb unseres Systems gecacht werden soll) kann erst dann besprochen werden, wenn der Suchalgorithmus genau feststeht.

Zitat:
Zitat von Jendrik Beitrag anzeigen
Kommunikationsprotokoll - xml oder was anderes?
Das hängt mitunter zwar auch vom Algorithmus und dem Aufbau unseres Systems ab, aber auch ich würde bereits jetzt zu XML in Form eines Web-Service tendieren.

Zitat:
Zitat von Jendrik Beitrag anzeigen
Backend - MySql und PHP?
Die Entscheidung für oder gegen eine Datenbank ist alles andere als einfach: Denn wie (mit welchem Datenbanksystem) speichert man ein neuronales Netz auf schnelle, komfortable Weise? Evtl. müssen wir sogar ein eigenes System entwickeln.

Was die Programmiersprache angeht: Auf gar keinen Fall PHP. PHP ist unsauber und hat ein grauenhaftes (weil nicht vorhandenes) Design. Scriptsprachen allgemein würde ich zunächst ausschließen, weil sie zu langsam sind. Außerdem benötigen wir vernünftiges Multithreading.
Damit beschränkt sich die Auswahl auf Sprachen wie C++, Java und C#. Da C# nur unter Windows läuft, wir aber ausschließlich für Linux entwickeln würden (wer holt sich schon einen Server mit Windows?), blieben C++ und Java übrig. Und da C++ auch ein vollkommen kaputtes Design (insbesondere in Bezug auf Objektorientierung) hat, würde ich sagen: Java.

  #124  
Alt 28.12.2008, 12:40
Mitglied
 
Registriert seit: 11.2008
Beiträge: 56
Ich hab nochmal über das neuronale Netzwerk nachgedacht und bin zu folgendem gekommen:
Zwei tabellen, eine mit den Spalten 'id', 'type', 'tag', 'link'. In dieser sind die Stichwörter und Links enthalten ( Auswahl ob Link oder Stichwort über 'type' ).
In der Zweiten sind 'tag1', 'tag2' und 'strongness'. Diese Tabelle dient dazu die Verbindungen und ihre Stärke zu speichern.

[ironie]
Dann "nur" noch einen Algo entwickeln, der den Beitrag nach allen Wörtern durchsucht, die länger als 3 Buchstaben lang sind, mindestens 3 mal vorkommen, ähnlichkeiten zwischen Wörtern ("Test" und "testen") erkennt und zusätzlich noch wenig Systemleistung benötigt.
[/ironie]

  #125  
Alt 28.12.2008, 18:04
Benutzerbild von codethief
Visionär
 
Registriert seit: 09.2003
Beiträge: 803
Die Frage ist nur, ob MySQL dafür überhaupt schnell genug ist. Generell frage ich mich, ob es nicht notwendig ist, dass unser System zunächst einmalig hochgefahren wird (Netz wird aus der Datenbank geladen) und das Netz dann nur im Arbeitsspeicher verwaltet wird. Ein zweiter Thread speichert Änderungen des Netzes dann wieder in der Datenbank. Andererseits ist der Arbeitsspeicher dafür vermutlich nicht groß genug...
Ich denke, es könnte auch durchaus auf ein eigenes Datenbanksystem hinauslaufen. MySQL ist dafür vielleicht einfach zu groß und träge.

Antwort


Stichworte
foren, network, seo

Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Mitmachen: Die schönsten Foren MrNase Web Design und Grafik 70 09.09.2007 11:33






1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24