Thread Textnormalisierung...Hilfe! (18 answers)
Opened by Gast at 2008-06-26 17:45

Gast Gast
 2008-06-26 19:35
#111569 #111569
Ein Ansatz der alle Wörter am Satzanfang ersetzt, falls sie öfter klein als großgeschrieben nicht am Satzanfang vorkommen:
[code]#!/usr/bin/perl

use strict;
use warnings;

use Data::Dumper;

my $text = 'Hier steht ein langer Text , in dem das erste Wort klein gemacht werden soll , so wie hier .';
print "Input:\n$text\n\n";


my @words = split ' ', $text;

my %words;
my %starting_words = map {
my$t = $words[$_];
$words{$t}--;
$t => $_
} grep {
$words{$words[$_]}++;
$words[$_-1] =~ /^[\.!\?]$/
} 0 .. $#words;

foreach my $key ( keys %starting_words )
{
my $lckey = lcfirst $key;

if ( exists $words{$lckey} && ( $words{$lckey} > $words{$key} ) )
{
$words[$starting_words{$key}] = $lckey;
} # if
} # foreach


print "Output:\n", join( ' ', @words ), "\n";
<STDIN>;

__END__

View full thread Textnormalisierung...Hilfe!