#101
| |||
| |||
ja, das wäre gut |
#102
| ||||
| ||||
Zitat:
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
| |||
| |||
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
| ||||
| ||||
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
| |||
| |||
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
| ||||
| ||||
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
| ||||
| ||||
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
| |||
| |||
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
| ||||
| ||||
Zitat:
Zitat:
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
| |||
| |||
dann könnten wir auch gleich die gesammten Beiträge spiechern, wenn die Systemlast so klein ist. |
#111
| ||||
| ||||
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
| |||
| |||
hast du dazu eine Idee? vlt. Wörter mit mehr als 4 Buchstaben und die min 3 mal vorkommen |
#113
| ||||
| ||||
Zitat:
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
| |||
| |||
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
| ||||
| ||||
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
| ||||
| ||||
@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
| |||
| |||
erstmal hier beraten, dann neues Topic und alles zusammenfassen |
#118
| |||
| |||
@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
| ||||
| ||||
Zitat:
@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
| |||
| |||
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
| ||||
| ||||
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
| |||
| |||
Was wir bereits besprochen haben:
Womit fangen wir an? |
#123
| ||||
| ||||
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. 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. 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
| |||
| |||
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
| ||||
| ||||
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. |
Stichworte |
-1 or 2+538-538-1=0+0+0+1, -1 or 3*2<(0+5+538-538), -1 or 3+538-538-1=0+0+0+1, 1*17, foren, jxlzhcfx, network, seo |
Ähnliche Themen | ||||
Thema | Autor | Forum | Antworten | Letzter Beitrag |
Mitmachen: Die schönsten Foren | MrNase | Web Design und Grafik | 70 | 09.09.2007 11:33 |