background image

Przetwarzanie języka naturalnego 

Temat:  Parsowanie dokumentów tekstowych i analiza 

leksykalna 

Zadania: 

Data: 

Autor:  Paweł Kopeć 

27 X 2014 

Autor:  Adrian Makuch 

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;