Thread Erkennung von Abkürzungen
(3 answers)
Opened by kimmy at 2011-02-25 17:11
Hallo,
ich habe ein kleines Perl-Skript erstellt, das zwei Listen vergleicht und Kandidaten von Abkürzungen extrahiert. Das Skript läuft ja schon, aber ich möchte euch fragen, ob es noch effizientere Programm-Logik (Geschwindigkeit, Programmstruktur, usw.)gibt. Code (perl): (dl
)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 #!/usr/bin/perl use strict; use warnings; use Encode; binmode(STDOUT,":utf8"); my @arr_abk = <>; # Liste von Abkürzungen open(my $lex, "<:encoding(UTF8)", "lexikon.txt") or die "kann das Lexikon nicht öffnen: $!"; while(<$lex>){ chomp; my $line = $_; foreach my $abk(@arr_abk){ chomp; $abk =~ s/[\r\n]//; my @ele_abk = split (/\./, $abk); if($abk =~ /^[^\.]{2,}\.$/){ if($line =~ /^$ele_abk[0]/i){ print "$abk\t$line\n"; } } elsif($abk =~ /^[^\.]{2,}\.[^\.]{2,}\.?$/){ if($line =~ /^$ele_abk[0]/i){ if($line =~ /$ele_abk[1]/i){ print "$abk\t$line\n"; } } } elsif($abk =~ /^[^\.]{2,}\.[^\.]{2,}\.[^\.]{2,}\.?$/){ if($line =~ /^$ele_abk[0]/i){ if($line =~ /$ele_abk[1]/i){ if($line =~ /$ele_abk[2]/i){ print "$abk\t$line\n"; } } } } elsif($abk =~ /^[^\.]{2,}\.[^\.]{2,}\.[^\.]{2,}\.[^\.]{2,}\.?$/){ if($line =~ /^$ele_abk[0]/i){ if($line =~ /$ele_abk[1]/i){ if($line =~ /$ele_abk[2]/i){ if($line =~ /$ele_abk[3]/i){ print "$abk\t$line\n"; } } } } } } } Liste von Abkürzungen Code (perl): (dl
)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 F.FUSZ BANDMOT. TREIB.ROLLE GESCHL.BA BEFEST.WINKEL LICHTSCHR.SENKR. LICHTSCHR.HALT.KPL. F.LICHTGITTE UNTERT. M.SPEICHER SCHNELLENTL.MANSCH. GENIET. e-pol. VERP. BEF.SCHELLE WH. GETEILT.BA BEFESTIG.WINKEL SCHRITTMOT. STEMP.ETI. ZENTRIERST. GETEI.BAND ... Lexikon ist eine Liste von String wie z.B. Code (perl): (dl
)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 abfall abfallband abfalleimer abfalleinsatz abfallentsorgung abfallkiste abfallkorb abfallsack abfallsaecke abfallsäcke abflussrohr abfluszrohr abflußreiniger abflußrohr abfrageset abfragungsset abfuellventil abführventil abfüllungsdienstleistung Vielen Dank im Voraus. |