Schrift
[thread]1625[/thread]

Algorithmik: Suchen nach ähnlichen Themen

Leser: 1


<< >> 5 Einträge, 1 Seite
[E|B]
 2004-01-02 19:23
#16172 #16172
User since
2003-08-08
2561 Artikel
HausmeisterIn
[Homepage] [default_avatar]
Hallo!
Angenommen ich nehme eine Suche in einem Forum vor. Nun soll es eine Möglichkeit geben, bei der ich nach ähnlichen Themen suchen kann. Die Funktion möchte ich in mein Board einbauen, leider stört mich das Wort "ähnlich" etwas. Wann ist ein Thema ähnlich und v.a. wie setze ich sowas konkret um?
Gruß, Erik!

s))91\&\/\^z->sub{}\(\@new\)=>69\&\/\^z->sub{}\(\@new\)=>124\&\/\^z->sub{}\(\@new\)=>);
$_.=qq~66\&\/\^z->sub{}\(\@new\)=>93~;for(@_=split(/\&\/\^z->sub{}\(\@new\)=>/)){print chr;}

It's not a bug, it's a feature! - [CGI-World.de]
esskar
 2004-01-02 20:02
#16173 #16173
User since
2003-08-04
7321 Artikel
ModeratorIn

user image
nimm alle worte;
wirf die weg, die nix mit inhalt zu tun haben (ich, du, er, und, oder und andere schlüsselwörter)
zähle die anzahl der gleichen worte;
nun vergleiche dein ergbnis mit anderen threads

ggf. bekommst du dann was raus
vielleciht aber auch nix :)

besser ist, wenn du schon vorsortierst; wenn ein thema zum beispiel über arrays geht, dann hast du schonmal einen punkt, mit dem du vergleichen kannst und andere themen müssen dann "ähnlich" aussehen, wie das eine, dass schon vom typ array ist
Crian
 2004-01-02 20:36
#16174 #16174
User since
2003-08-04
5870 Artikel
ModeratorIn
[Homepage]
user image
Du meinst nicht Ähnlichkeit von Worten, sondern Ähnlichkeit von Themen, oder?
s--Pevna-;s.([a-z]).chr((ord($1)-84)%26+97).gee; s^([A-Z])^chr((ord($1)-52)%26+65)^gee;print;

use strict; use warnings; Link zu meiner Perlseite
pq
 2004-01-02 21:01
#16175 #16175
User since
2003-08-04
12208 Artikel
Admin1
[Homepage]
user image
das rauswerfen von stoppwörtern, wie esskar es gesagt hat, ist sicher
voraussetzung. im idealfall hast du deine themen über einen volltextindex
indiziert.
vielleicht gibt es auch schon fertige lösungen zu sowas.
als groben ansatz gehst du durch jedes indizierte wort deines
themas (nach häufigkeit) und schaust nach, ob und wo das wort noch
vorkommt. mit jedem wort nimmt die liste der gefundenen ähnlichen
themen ab.
dann sortierst du diese liste; die themen, die die meisten ähnlichen worte
haben, haben die grqßte relevanz.
Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live. -- Damian Conway in "Perl Best Practices"
lesen: Wiki:Wie frage ich & perlintro Wiki:brian's Leitfaden für jedes Perl-Problem
[E|B]
 2005-01-03 14:06
#16176 #16176
User since
2003-08-08
2561 Artikel
HausmeisterIn
[Homepage] [default_avatar]
[quote=Crian,02.01.2005, 19:36]Du meinst nicht Ähnlichkeit von Worten, sondern Ähnlichkeit von Themen, oder?[/quote]
Genau.

Aber ich glaube, dass mir das doch zu aufwendig ist, bis ich das programmiert habe. Da warte ich lieber bis zur nächsten Version.
Gruß, Erik!

s))91\&\/\^z->sub{}\(\@new\)=>69\&\/\^z->sub{}\(\@new\)=>124\&\/\^z->sub{}\(\@new\)=>);
$_.=qq~66\&\/\^z->sub{}\(\@new\)=>93~;for(@_=split(/\&\/\^z->sub{}\(\@new\)=>/)){print chr;}

It's not a bug, it's a feature! - [CGI-World.de]
<< >> 5 Einträge, 1 Seite



View all threads created 2004-01-02 19:23.