Welcome to mirror list, hosted at ThFree Co, Russian Federation.

client.perl « server « contrib - github.com/moses-smt/mosesdecoder.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
blob: 820cbb78338bb26afd0cd49ef3ea17127c571dc4 (plain)
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
#!/usr/bin/env perl

#
# Sample client for mosesserver, illustrating allignment info and
# report all factors
#
use strict;
use Encode;
use XMLRPC::Lite;
use utf8;

my $url = "http://localhost:8080/RPC2";
my $proxy = XMLRPC::Lite->proxy($url);

my @doc = ("monsieur le président , ce que nous devrons toutefois également faire à biarritz , c' est regarder un peu plus loin .",
	"les élus que nous sommes avons au moins autant le devoir de l' encourager à progresser , en dépit de l' adversité , que de relayer les messages que nous recevons de l' opinion publique dans chacun de nos pays .",
	"au regard des événements de ces derniers temps , la question du prix de l' essence me semble elle aussi particulièrement remarquable .",
	"à l' heure actuelle , le conseil est en train d' examiner l' inclusion de tels mécanismes dans l' article 7 .",
	"deuxièmement , dans la transparence pour les citoyens , qui connaissent à présent les droits dont ils disposent vis-à-vis de ceux qui appliquent et élaborent le droit européen , et pour ceux qui , justement , appliquent et élaborent ce droit européen .");
#print STDERR scalar(@doc);

for (my $i = 0; $i < scalar(@doc); ++$i) {
  my $text = $doc[$i];

  # Work-around for XMLRPC::Lite bug
  my $encoded = SOAP::Data->type(string => Encode::encode("utf8",$text));
  #$encoded = SOAP::Data->type(string => $text);

  my %param = ("text" => $encoded, "align" => "true", "report-all-factors" => "true");
  my $result = $proxy->call("translate",\%param)->result;
  print $result->{'text'} . "\n";
  if ($result->{'align'}) {
      print "Phrase alignments: \n";
      my $aligns = $result->{'align'};
      foreach my $align (@$aligns) {
        print $align->{'tgt-start'} . "," . $align->{'src-start'} . "," 
            . $align->{'src-end'} . "\n"; 
      }
  }
}