课程名称:中文信息处理基础   开课时间:2002-2003学年第一学期 回到主页
教师姓名: 詹卫东  授课对象:中文系语言学专业研究生  
电子邮件:zwd@pku.edu.cn  电   话:62765810 (办公室)

课程资料下载 

#  讲义内容描述 下载讲义及资料 示例程序功能描述 下载程序源代码 下载可执行程序
01 课程简介,包括目标,计划等;如何建立一个属于自己的VC应用程序  课程简介

第一讲 VC编程环境简介

 

创建一个多文档界面应用程序,并在菜单中添加一个菜单项 MyFirstProgram.zip  
计算x^n次幂 test1.zip  
计算x^n次幂 test2.zip  
通过对话框读取用户输入的信息 TestDialog.zip TestDialog.exe

readme.txt

02 如何处理文本文件和二进制文件,包括如何对文本形式的语料文件进行属性标注,以及如何处理成批的文件  第二讲 文件处理 这是一个对话框界面程序,可以打开一个文本文件,增加属性标记,然后保存 CorpusAnnotator.zip CorpusAnnotator.exe

readme.txt

这是一个W32控制台程序,可以复制一个文件,在目标文件中,每行前面增加了一个行号 CopyFile.zip 无模式对话框例子
可批处理多个文件的程序,统计每个文件中的行数 TestBatching.zip
(选取文件个数较少)

TestBatchingNew.zip
(选取文件个数较多)

 
处理一个文件夹下多个文件的程序,将文件夹下所有文件合并成一个文件 FileProcessing.rar FileProcessing_new.rar  
了解二进制文件的读写方式的程序 TestBinaryFile  
03 字符编码知识 第三讲 字符编码

ASCII字符集

ASCII扩展集

ASCII简介

汉字字符集

汉字编码简介

产生国标码GB2312字符集的程序(10进制显示内码,16进制显示内码)

关于补码的说明

GetGB2312SET.zip  
产生Big5码字符集 GetBIG5CODESET.zip

 

汉字编码识别程序

 
04 单字字频统计、排序输出;二字组串频统计,统计结果浏览  第四讲 字频统计

观察函数参数调用的不同方式的一个小程序(运行会报错的:-)

quick sort算法介绍材料(来自河北大学数学与计算机学院)

汉字字频统计,可同时统计多个文件,按字频降序排列输出 HanZiFreq.zip (只能处理GB码文件)

HZ_Freq.zip(可以处理GBK码和Big5码文件)

HZ_Freq.exe

readme.txt

汉字二字组频度统计,可同时统计多个文件,按频度降序和汉字内码升序排列输出  BiHZFreq.zip BiHZFreq.exe

readme.txt

05 字符串分析,字符串类CString简介  第五讲 文本断句

数组越界造成错误的例子(运行时并不报错:-)

XML示例文件 (由ICL硕士研究生赖治国提供,特此致谢)

文本预处理程序,将一个普通文本文件进行断句处理,统计句长和频次,按句长降序输出,将普通文本文件转为带有XML标记的文件…… TextPreProcessing.zip

测试用文本文件

描述XML文件显示格式的css文件样例

TextPreProcessing.exe

Readme.txt

06 如何组织语料库,如何对语料库进行字符串检索 第六讲 语料库

MSDN中的无模式对话框示例程序

可将若干文本文件组织到一个语料库中,可以实现添加和删除文件操作,可以在语料中查找汉字串和一些重叠形式 TestCorpus.zip

语料例子
corpus1.zip (42KB)

corpus2.zip(红楼梦,1066KB)

CorpusDemo.exe

readme.txt

07 Access数据库简介,用Access数据库建立词典 第七讲 词库

例子1:foxpro数据库(了解数据库之间的转换)

例子2:固定格式的文本文件(了解从文本文件与数据库文件之间的转换)

例子3:在access数据库中使用sql命令产生新表、更新数据等

VC6.0的MFC库访问Access 2000版数据库存在版本不兼容的问题,详细说明及解决办法(2002-12-19): 12

Win32 MDI程序,可以查找access数据库(97版)中的词、词性标记、频度信息,词典文件在程序内部指定,需要于程序放在同一目录下运行 TestLexicon.zip
(要注意词库文件所在位置,如果程序找不到词库文件,会出错。这个程序只能打开Access 97版数据库)
TestLexicon.exe

Readme.txt

Lexicon_1999.zip(350kb)
(例子词典,取自北大计算语言所现代汉语语法信息词典1万词样例,access 97版)

Lexicon_2000.zip(382K)
内容跟Lexicon_1999.zip一样,access 2000版格式

TestMDB.zip

这个程序取自《Visual C++技术内幕》第29章(Microsoft Data Acess Objects数据库管理)例子程序,可以打开任意一个97版access数据库(mdb),并显示数据库中数据表内容,完成简单查询

TestLexicon2.zip

(可以处理Access 2000版数据库)

汉字字音数据库(练习用,190kb)
08 最大匹配法分词程序   第八讲 分词(1)

计算语言学概论课词汇分析讲义(参考讲义)

可以选择分词词库,用最大匹配法进行分词,从左向右扫描. Lexicon_1997.zip(4364KB)从人民日报语料库获取的词典(access 97版),含10万多词条及频次信息,以及汉字用作姓、名的频次信息

Lexicon_2000.zip(5M)

WordSeg.zip  

WordSeg.exe(最大匹配法分词)

Readme.txt

分词测试语料(几个小文件)

09 最大概率法分词程序  第八讲 分词(2)  最大概率法分词(一元模型)示例,用户可以修改Config.ini文件中的取值 ProbWordSeg.zip   WordSeg.exe(最大概率法分词)
10 中文姓名的识别 第八讲 分词 (3) 对“分词碎片”(落单的字)进行处理,猜测是否能够组成人名,用户可以修改Config.ini文件中的取值 ProbWordSegWith-
NameRecognizer.zip
 

 

WordSeg.exe (含中文姓名识别处理)
11 基于二元模型的词性标注方法 第九讲 词性标注 (1)从已经标注好词性的语料中统计得到词性标记的二元转移矩阵,以及每个词以确定的词性标记出现的次数等数据(训练阶段)

(2)利用动态规划算法快速选取词性标记路径,得到词性标记结果

(3)可以选择不同的词性标记集

POSTagger_Src.rar

PosTagger_exe.rar (含训练语料,词库等,约4MB)

带拼音的汉语词库(练习用)

2in1SegTag.exe (将分词和词性标注过程融合在一起,内含测试文件test.txt)

12 一个简单的自底向上句法分析器  第十讲 句法分析

计算语言学概论课句法分析第二讲讲义(参考讲义)

 

(1)可选择不同的规则集(用普通文本文件存贮规则)。

(2)利用VC TreeCtrl控件显示分析得到的句法结构树。

(3)中间分析过程产生的所有边都输出到结果文件,便于跟踪分析的细节。

rule1.txt, rule2.txt, test.txt

Bottom_Up_Parser.zip

Bottom_Up_Parser_new

BottomUpParser.exe

Readme.txt

BottomUpParser_new.exe

 

这个例子程序取自《Visual C++技术内幕》第6章“模式对话框和Windows通用控件”,其中演示了CTreeCtrl控件的基本用法

 

ex06b.zip
13 一个简单的PCFG分析器      Pcfg_Parser.zip
(2002-12-8)
PCFGParser.exe

readme.txt

14          
15          
16          
17          

 

教学参考书

陈小荷(2000)《现代汉语自动分析 —— Visual C++实现》,北京语言文化大学出版社2000年版。

参考文献

[1] Herbert Schildt 著,杨长虹 徐碚 等译(1994)《C++语言大全》,电子工业出版社1994年版。

[2] David J.Kruglinski 著,潘爱民、王国印 译《Visual C++技术内幕》(第四版),清华大学出版社1999年版。

[3] 网上资源,比如 http://www.vchelp.net/

                  http://msdn.microsoft.com/visualc/default.asp

                  http://www.codeguru.com/

[4] 凡是你能方便地找到,你自己觉得对了解计算机编程有用,而且是那种你看了一眼还想再看一眼的东东 ……