Przetwarzanie języka naturalnego
3
Temat: Parsowanie dokumentów tekstowych i analiza
leksykalna
Zadania:
Data:
Autor: Paweł Kopeć
1
27 X 2014
Autor: Adrian Makuch
m
17:30-19:45
Zadanie 1. Znajdź znaczniki
Ć
wiczenie to polegało na napisaniu programu, który z danego katalogu otworzy pliki
tekstowe oraz wyłuska z nich czysty tekst. Program miał usuwać wszystkie znaczniki html-owe, tak
aby w wyniku operacji dostać czysty tekst. Poza tym program miał zamieniać wszystkie litery w
tekście na małe, oraz zapisywać wynik do nowych plików.
Program ten, dzięki wykorzystaniu funkcji readdir() przechodzi po całym katalogu w poszukiwaniu
plików. Następnie z pliku wyłuskuje samą nazwę, obcinając rozszerzenie, po czym na jej podstawie
otwiera nowy plik z przedrostkiem _nowy, w którym będzie zapisywać. Następnie sprawdzając
każdą linijkę osobno, przegląda plik i obcina wszystkie wyrażenia zawierające znaczniki html,
pozostawiając czysty, niesformatowany tekst. Program zakłada, że użytkownik w swoim tekście nie
będzie korzystał z połączenia znaku większości i mniejszości.
#!/usr/bin/perl -w
use strict;
use warnings;
print "Podaj sciezke (na koncu /)\n";
my $sciezka = <STDIN>;
chomp($sciezka);
opendir(DIR, $sciezka) or die $!;
while (my $file = readdir(DIR)) {
next if ($file =~ m/^\./);
print "$file\n";
my $file2="_Nowy".$file;
open (PLIK, $sciezka.$file) || die "nie mozna otworzyc
pliku";
open (PLIK2, ">".$sciezka.$file2) || die "nie mozna otworzy
ć
pliku";
my $zmienna="";
while($zmienna=<PLIK>){
$zmienna=~s/<(.|\n)*?>//g;
my $zmienna2=lc$zmienna;
print PLIK2"$zmienna2";
}
}
closedir(DIR);
exit 0;