前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【自然语言处理】双语数据预处理

【自然语言处理】双语数据预处理

作者头像
西西嘛呦
发布2020-08-26 11:16:20
1.1K0
发布2020-08-26 11:16:20
举报

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 下载。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019-11-18 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档