Heary's Blog

渡口缀满灯花

Note for C# programming language

阅读全文 »

中文信息处理思考题

第一章

4. 什么是字频、词频?什么是高频字和高频词?

  • 字频:字频是一个汉字的相对使用频率,也就是一个汉字使用次数与所统计材料的总字数的比例,一般用百分比表示,用于体现一个汉字的覆盖面;
  • 词频:词频就是一个词的相对使用频率。统计词频需要对汉字串进行切词处理,较为复杂,与统计字频不同。
  • 高频字:统计材料中,使用频率较高的字;
  • 高频词,统计材料中,使用频率较高的词。

6. 中文信息处理的主要研究对象有哪些?

  • 汉字键盘输入技术
  • 汉字输出技术
  • 软件汉化技术
  • 汉字字形识别技术
  • 汉语语音识别技术
  • 激光照排技术
  • 中文平台
  • 文本分类
  • 信息检索

8. 软件的国际化和本地化对中文信息处理有何意义?

  • 国际化:把原来只为英文设计的计算机系统或应用软件改写成同时支持多种语言和文化习俗和编码集。在系统层提供一种多国语言的支持机制。
  • 本地化:把计算机系统软件或应用软件转为使用并兼容某种特定语言的过程。

第二章

3. 什么是代码页?其作用是什么?

  • 代码页:代码页是一个内部表,操作系统用它将符号映射为字符编号。代码页通过编号引用。
  • 作用:通过代码页,操作系统将符号(字母、数字和标点符号)映射为字符编号,不同的代码页支持不同国家(地区)所使用的字符集。使得无需开发不同的操作系统,在成本、系统维护与升级等方面的开销大大减小。

5. 字符在ISO 10646中如何编码的?ISO10646中的基本位平面的作用是什么?

  • ISO 10646编码结构:4个字节,依次为组、面、行、位。
    • 128个组,每组256个字面,每个字面256行,每个行256个字位。
  • 基本位平面作用:ISO 10646的第0组第0面,称为”基本多文种字面“BMP,编码与Unicode相同。包含拼音文字、中日韩汉字、符号区等……

11. 从字符编码标准的角度谈谈计算机中文信息处理的特点。

  • 字汇大

第三章

2. 提出一种实现汉字简-繁转换的方法,并讨论如何采取措施提高其转换的准确率?

  • 通过统计分析,分离字汇为:简繁一一对应字汇,简繁一对多字汇;如字在一一对应字汇中,则直接查表替换,简单高效;如字在一对多字汇中,通过词汇简繁映射表,根据搭配进行简繁转换。
  • 提高准确率:收录足够多的简繁转换词汇数据,这样才能避免遇到陌生的简体/繁体词汇。

3. Internet上的字符编码是如何产生的?

  • 因为邮件协议等网络协议无法传输8位字符编码,高位置1的字节通常会被认作为控制字符等信息。因此,需要相应的字符编码来解决此问题,实现8位字符也可以通过邮件协议等网络协议进行正常的传输。

第四章

5. “小键盘编码”和“大键盘编码”各有哪些优缺点?

  • 大键盘编码:如 PC标准键盘
    • 优点:
      • 拼音码元与案件存在一一对应的关系,映射简单、方便,无需进行转换;
      • 大键盘可以双手输入,可以实现快速输入;
    • 缺点:
      • 根据海曼公式,大键盘码元数较多,汉字编码时间就较长,需要记忆的信息也相应增多(全拼方法除外),不利于输入和学习。
  • 小键盘编码:如 手机T9键盘
    • 优点:码元数少,汉字编码时间较小;
      • 需要记忆的信息少,有利于输入和学习。
    • 缺点:只能单手输入,因此小键盘相对大键盘输入速度较慢。

12. 给出一种汉字键盘编码的码本对照表设计方案,使之能实现“动态调频”和“高频先见”,并给出该检索引擎的检索算法和相关数据结构,评价码本对照表的结构方案对检索的效率有何影响?


第五章

1. 中文操作系统有哪几种设计方法?各有什么特点?

  1. 专用的中文输入输出设备与细纹操作系统结合
    1. 专用设备成本很高;
    2. 不实用,需要很大的键盘,检索汉字按键也很麻烦;
  2. 设计一个全新的中文操作系统
    1. 优:系统功能关系协调,可以完全解决中西文不兼容的问题;
    2. 缺:周期长,成本高,其他组织机构难以实现。
  3. 修改原有的西文操作系统
    1. 优:中西文兼容;实现周期短;
    2. 缺:可能会影响原来操作系统的部分功能;中文信息处理的特点和效率不能最好表现。

2. 汉字信息处理系统中,从信息的输入到信息的输出过程中,各个模块的作用是什么?

  1. 汉字输入管理模块
    1. 提供汉字输入的功能
      1. 语音识别
      2. 手写输入
      3. 键盘输入
  2. 汉字打印管理模块
    1. 将汉字处理模块传过来的汉字内码抛给字库管理模块,获取该汉字的字模信息,得到汉字的字形码,转而控制打印机打印
  3. 汉字显示管理模块
    1. 将汉字处理模块传过来的汉字内码抛给字库管理模块。获取该汉字的字母信息,得到汉字的字形码,然后控制显示卡在显示器上显示;
  4. 汉字字库管理模块
    1. 管理多种字体的汉字库,根据显示/打印模块传来的汉字内码进行映射检索找到字形信息,并将其返回。
  5. 通信管理模块
    1. 将汉字处理模块传过来的内码编程交换码输出;
  6. 汉字处理模块
    1. 处理文字编辑、排版等;主要由各个应用程序实现。

第六章

1. 试述汉语语音输入、键盘输入和扫描输入的各自特点和应用领域。

  • 键盘输入:
    • 最早、最广泛、最主要的输入方法;
    • 输入快速、无需额外设备、编码方案丰富;
  • 语音输入:
    • 人机对话,前景广阔;
    • 实现在计算机网络上不同语言人之间的直接交谈、开会和其它合作工作;
  • 扫描输入:
    • 批量识别、速度快
    • 整理、保全计算机出现前的文书资料,绝版古籍资料,图像处理,桌面排版,印刷出版,字符识别,图文数据库,广告美术设计,多媒体图文通信,办公自动化。

4. 阐述Windows中的钩子机制。

  • 通过钩子机制,实现输入系统先于应用程序得到键盘按键。
  • 例如:NewGetChar作为输入系统定义的GetChar函数的钩子,那么应用程序读取键盘缓冲区字符时,实际会调用NewGetChar,在NewGetChar中,系统调用GetChar读取字符,传递给输入系统处理;输入系统处理完后,把结果给NewGetChar返回给应用程序。

5. 输入码对照表在汉字输入系统中的作用是什么?

  • 输入码对照表是汉字键盘输入中的一个重要的数据结构,是汉字输入码到机内码转换的核心,反映了汉字输入码到机内码之间的映射关系。
  • 汉字输入过程最主要的一个环节是根据用户输入的输入码,在对照表中检索得到输入码所对应的汉字。

pygame是一个功能丰富的多媒体包,此文主要整理通过pygame实现MP3格式音频的播放等相关功能。

阅读全文 »

微软自Windows7开始就内置了SAPI,通过C编程可以快速地实现多国语TTS功能。整理记录以备查阅。

阅读全文 »

中文信息处理课程,get到一个Visual Studio的小技巧,可以多种方式打开文件,包括查看文件二进制内容(十六进制显示),简单记录备忘。

阅读全文 »

#define名为宏定义,工作在预处理阶段,实际是对字符串的宏替换;typedef工作在编译阶段,是对自定义数据类型的自定义别名定义。

阅读全文 »