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

课程资料下载 

#  讲义内容描述 下载讲义及资料 示例程序功能描述 下载程序源代码 下载可执行程序
01 课程简介,包括目标,计划等;如何建立一个属于自己的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
(选取文件个数较多)

 
了解二进制文件的读写方式的程序 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 最大匹配法分词程序   第八讲

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

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

Lexicon_2000.zip(5M)

WordSeg.zip  

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

Readme.txt

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

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

 

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

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

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

Lexicon.zip(空词典结构,带有汉字作姓名频度信息,42kb, access 97版)

POSTagger.zip
(2002-12-13)  

Data (训练语料)

Test (测试语料)

词性转移矩阵数据

Lexicon_2000

PosTagger.exe

readme.txt

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

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

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

 

(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] 凡是你能方便地找到,你自己觉得对了解计算机编程有用,而且是那种你看了一眼还想再看一眼的东东 ……