zoukankan      html  css  js  c++  java
  • Perl 正则匹配——对分词标注结果正则匹配

    # 3、A、中文编码 从文件夹读文件 (问原文标记还是输出歧义句子)
        # 写文件的时候每次文件名字加一(之前有处理过分文件)
       # B、提取“  |/w  |/w  |/w”之前的中文句子进行判断
       # C、判断分为几个情况
          # * 含有“/k” 无操作
          # * 含有“/ni” 无操作
          # * 只要含有“d” “r” “c” 有歧义
          # * 开头含有“ v | u | p”  :(.*) $1 =~ "/v || /u || /p"
          # * 开头含有“m” + "q" 或者 “m” + "n"  : $1=~ "m" && $2=~ "q" || $2=~ "n"
          # * 开头有 “和”  看前两个字
          # * 结尾不是“/n”   .* (.*) 
          
    use Encode;
    #use utf8;
    $Utf8;
          
    open(In,"100001.txt"); #迈向/v 充满/v 希望/n 的/u 新/a 世纪/n
    open(out,">tanhao.txt"); 
    @Lines=<In>;
    $n=0;
    chomp(@Lines);
    foreach $OnelIne(@Lines){
        $n++;
        #print $OnelIne;
        #$OnelIne = decode("GBK", $OnelIne);
        #if($OnelIne =~ //k/ || $OnelIne =~ //ni/) next;
        if($OnelIne =~ //d/ ||$OnelIne =~ //r/ ||$OnelIne =~ //c/){
            print out $n."_".$OnelIne .="   !
    ";
            next;
        }
        if($OnelIne =~ /(.*)s(.*)/){ 
            if($1 =~ ~/[vup]/){
                print out $n."_".$OnelIne .="   !
    ";
                next;
            }
        }
        if($OnelIne =~ /(.*)s+(.*)s+(.*)/){ 
            if($1 =~//m/ && $2 =~ /[qn]/){
                print out $n."_".$OnelIne .="   !
    ";
                next;
            }
        }
        if($OnelIne =~ /[^/n]/s|/w/){
            print out $n."_".$OnelIne .="   !
    ";
            next;    
        }
        
    }
    close(In);
    close(out);

    一个标注网站:http://www.aihanyu.org/cncorpus/CpsWParser.aspx

  • 相关阅读:
    C#运行Javascript脚本Utility
    SQL Mail XPs Options
    TSQL AVG Functions
    eclipse编译时过滤SVN版本控制信息方法(转)
    追MM与设计模式
    android的性能调优
    对象的赋值和复制(转)
    SVN Working Copy xxx locked and cleanup failed
    HTTP协议详解(转)
    atoi和itoa函数的实现
  • 原文地址:https://www.cnblogs.com/hozhangel/p/7930440.html
Copyright © 2011-2022 走看看