zoukankan      html  css  js  c++  java
  • 【自然语言处理】双语数据预处理

    1.中文分词

    采用传统基于词典的正向最大匹配法来完成中文分词。基本流程如图所示:
    由于数字、日期、时间、网址等不可枚举,无法通过词典简单查找来分词。可以采用正则表达式或者自动机进行自动识别,并给予特殊名字进行泛化。例如:
    • 数字类型 $number 如:123
    • 日期类型 $date 如:1993 年 12 月 3 日
    • 时间类型 $time 如:3:10
    • 网址等类型 $literal 如:http://www.niutrans.com
    实际上大家可以总结更多类型,并自行定义泛化名字进行替换原文。泛化的目的是为了有效解决数据稀疏问题。需要注意一点的是,建议不要对组织机构名进行捆绑为一个词汇。例如将“东北大学信息学院”最好分成两个词“东北大学”“信息学院”。这样做的好处是为了有助于后面规则抽取模块抽取出更多翻译规则。 

     2.英文分词

    相对于中文分词处理来说,英文分词主要处理三个问题:
    • 将所有大写字母改为小写字母;
    •  将英文句尾结束符与句尾最后一个单词用空格分开;
    • 同样将数字、日期、时间、网址等不可枚举的类型进行识别,然后分别采用特殊名字进行泛化处理。 
    例如双语句对:
    中文:4 月 14 日我买了 10 本书。
    英文:I bought 10 books on April 14.
    预处理结果:
    中文:$date 我 买 了 $number 本 书 。
    英文:i bought $number books on $date . 
     
    其它说明:
    1) 中文的全角字符可以考虑改写为半角字符来处理;
    2) 同一类型的泛化名字在中英文中最好一样,如中文/英文数字=>$number;
    3) 也可以采用 CRF 或者语言模型来实现高性能中文分词;
    4) 注意区分英文的句尾符号“.”和“Mr. Smith”的“.”;
    5) 双语句对的泛化结果需要检查一致性,例如中文句子中包含$number,正常情况下,英文句子中也应该包含$number 等;
    6) 目前有很多开源的分词工具可以被使用,如 NiuTrans 提供的双语数据预处理工具从 http://www.nlplab.com/NiuPlan/NiuTrans.YourData.html 下载。
  • 相关阅读:
    react萌新的读书笔记(一)
    python 读取目录下的文件
    scrapy爬虫入门
    iPad和iPhone如何保护自己的隐私?
    郭盛华动真格了!新公司获百亿融资,网友:还招人不
    僵尸网络瞄准Linux服务器
    中美黑客谁更强?揭秘郭盛华与凯文的传奇故事
    VMware新致命漏洞,黑客可远程控制你的系统
    中国两大网络守护神,为祖国默默付出着,向他们致敬!
    Web应用程序已成为黑客的首要目标
  • 原文地址:https://www.cnblogs.com/xiximayou/p/11880561.html
Copyright © 2011-2022 走看看