如何编写perl代码来实现字母unigram模型?

时间:2014-03-10 21:59:24

标签: perl

我有这个问题要解决,我需要帮助:实现一个字母unigram模型, 从训练数据中学习字母unigram概率。一个 必须为每种语言学习单独的unigram模型。

应用模型以确定测试文件中每个句子的最可能语言 (即,使用三种语言模型中的每一种确定与测试文件中的每个句子相关联的概率)。

我有3个文件:第一个用英文写,第二个用法文写,第三个用 意大利;我有一个测试文件,需要编写代码来确定文件中每个句子所属的语言。

sub unifreq {
    my($l,%h)=@_;

    @words= split / /, $l;

    $h{"<s>"}++;
    $h{"</s>"}++;

    foreach $w(@words){
        $h{$w}++;
    }

    return %h;
}

my %uniEnglish;

open INP,"<C:\\Users\\hanadi\Documents\\LangId.test.";

%uniEnglish=();

while ($line=<INP>) {
    chomp($line);
    %uniEnglish=unifreq($line,%uniEnglish);
} 

我写了这段代码但是我无法完成它。

0 个答案:

没有答案