Hallo an alle,
bin ein Neuling und brauche Hilfe!Um meine arbeit zu vereinfachen wollte ich einfach was neues ausprobieren.
"Ich brauche ein Perlscript der erst mal 2 textdateien, per nachfrage welche dateien man einlesen soll, einließt (um auszugeben wieviel zeilen sie beinhalten) und sie miteinander vergleicht.Danach soll es die gefundenen Ergebnisse in 3 Formeln benutzen."
Angenommen für eine gegebene suche liefert die Suchmaschine 10 Dokumente, wovon 8tatsächlich relevant sind, aber die Dokumentkollektion enthält weitere72 relevante Dokumente so ist die Präzision dieses Ergebnisses
P = 8/10 = 80% und die Vollständigkeit V= 8/80 = 10% und das F-Maß = 2/(1 / P) + (1 / V)
Die ausgabe könnte so aussehen:
Wieviele relevante dokumente enthält ihre datei ?
(BenutzerEingabe zB) 80
Geben Sie die erste datei ein:
(Eingabe zB) Blabla1.txt
Geben Sie die erste datei ein:
(Eingabe zB) Blabla2.txt
Die Präzision
P = 80%
Die Vollständigkeit
V= 10%
Und das F- Mass
F=....
Könnte mir Bitte jemand evtl. teilweise helfen das script zu programmieren????
Für jeden Teil habe ich irgend ein Code-Schnippsel gefunden, aber ich bringe es nicht zusammen.
Zaehler.pl
#!/perl/bin/perl -w
$zaehler= 0;
while ($in =<>) {
chomp($in);
if ($in !~/^\s*$/) {
$zaehler++;
print "$in\n";
}
}
print "\nDie Datei enthaelt $zaehler Saetze !\n";
Vergleich.pl
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#!/perl/bin/perl -w
use File::Compare;
printf "blabla1.txt und blabla2.txt sind %s.\n",
compare("blabla1.txt", "blabla2.txt") ? "ungleich" : "gleich";
use File::Compare 'cmp';
blabla1=blabla2 dann 0, blabla1>blabla2 dann 1 und blabla1<blabla2 dann -1.
sub munge($) {
my $line = $_[0];
for ($line) {
s/^\s+//;
s/\s+$//;
}
return uc($line);
}
if (not cmp("blabla1.txt", "blabla2.txt", sub { munge $_[0] eq munge $_[1]} )) {
print "blabla1.txt und blabla2.txt sind in gewisser weise gleich.\n";
}
Division.pl
#!/perl/bin/perl -w
print "Bitte geben sie eine Zahl ein:\n";
$zahl1 = <STDIN>;
print "Bitte geben sie erneut eine Zahl ein:\n";
$zahl2 = <STDIN>;
chomp($zahl1);
chomp($zahl2);
$nenner = (1 / $zahl1) + (1 / $zahl2);
$FMass = 2 / $nenner;
$Recall=$zahl1 / $zahl2;
print "\nRecall = $Recall\n\nF-Mass = $FMass\n "
edit renee: ne Runde [code]-Tags spendiert...\n\n
<!--EDIT|renee|1125903472-->