| 课程名称:中文信息处理基础 | 开课时间:2002-2003学年第一学期 | 回到主页 |
| 教师姓名: 詹卫东 | 授课对象:中文系语言学专业研究生 | |
| 电子邮件:zwd@pku.edu.cn | 电 话:62765810 (办公室) |
课程资料下载 
| # | 讲义内容描述 | 下载讲义及资料 | 示例程序功能描述 | 下载程序源代码 | 下载可执行程序 |
| 01 | 课程简介,包括目标,计划等;如何建立一个属于自己的VC应用程序 | 课程简介
|
创建一个多文档界面应用程序,并在菜单中添加一个菜单项 | MyFirstProgram.zip | |
| 计算x^n次幂 | test1.zip | ||||
| 计算x^n次幂 | test2.zip | ||||
| 通过对话框读取用户输入的信息 | TestDialog.zip | TestDialog.exe | |||
| 02 | 如何处理文本文件和二进制文件,包括如何对文本形式的语料文件进行属性标注,以及如何处理成批的文件 | 第二讲 文件处理 | 这是一个对话框界面程序,可以打开一个文本文件,增加属性标记,然后保存 | CorpusAnnotator.zip | CorpusAnnotator.exe |
| 这是一个W32控制台程序,可以复制一个文件,在目标文件中,每行前面增加了一个行号 | CopyFile.zip | 无模式对话框例子 | |||
| 可批处理多个文件的程序,统计每个文件中的行数 | TestBatching.zip (选取文件个数较少) TestBatchingNew.zip |
||||
| 处理一个文件夹下多个文件的程序,将文件夹下所有文件合并成一个文件 | FileProcessing.rar FileProcessing_new.rar | ||||
| 了解二进制文件的读写方式的程序 | TestBinaryFile | ||||
| 03 | 字符编码知识 | 第三讲 字符编码 | 产生国标码GB2312字符集的程序(10进制显示内码,16进制显示内码) | GetGB2312SET.zip | |
| 产生Big5码字符集 | GetBIG5CODESET.zip
|
||||
| 04 | 单字字频统计、排序输出;二字组串频统计,统计结果浏览 | 第四讲 字频统计
观察函数参数调用的不同方式的一个小程序(运行会报错的:-) |
汉字字频统计,可同时统计多个文件,按字频降序排列输出 | HanZiFreq.zip
(只能处理GB码文件)
HZ_Freq.zip(可以处理GBK码和Big5码文件) |
HZ_Freq.exe |
| 汉字二字组频度统计,可同时统计多个文件,按频度降序和汉字内码升序排列输出 | BiHZFreq.zip | BiHZFreq.exe | |||
| 05 | 字符串分析,字符串类CString简介 | 第五讲 文本断句
数组越界造成错误的例子(运行时并不报错:-) XML示例文件 (由ICL硕士研究生赖治国提供,特此致谢) |
文本预处理程序,将一个普通文本文件进行断句处理,统计句长和频次,按句长降序输出,将普通文本文件转为带有XML标记的文件…… | TextPreProcessing.zip | TextPreProcessing.exe |
| 06 | 如何组织语料库,如何对语料库进行字符串检索 | 第六讲 语料库 | 可将若干文本文件组织到一个语料库中,可以实现添加和删除文件操作,可以在语料中查找汉字串和一些重叠形式 | TestCorpus.zip
语料例子 corpus2.zip(红楼梦,1066KB) |
CorpusDemo.exe |
| 07 | Access数据库简介,用Access数据库建立词典 | 第七讲 词库
例子2:固定格式的文本文件(了解从文本文件与数据库文件之间的转换) 例子3:在access数据库中使用sql命令产生新表、更新数据等 VC6.0的MFC库访问Access 2000版数据库存在版本不兼容的问题,详细说明及解决办法(2002-12-19): 1,2 |
Win32 MDI程序,可以查找access数据库(97版)中的词、词性标记、频度信息,词典文件在程序内部指定,需要于程序放在同一目录下运行 | TestLexicon.zip
(要注意词库文件所在位置,如果程序找不到词库文件,会出错。这个程序只能打开Access 97版数据库) |
TestLexicon.exe
Lexicon_1999.zip(350kb) Lexicon_2000.zip(382K) |
| 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.exe(最大匹配法分词) |
| 09 | 最大概率法分词程序 | 第八讲 分词(2) | 最大概率法分词(一元模型)示例,用户可以修改Config.ini文件中的取值 | ProbWordSeg.zip | WordSeg.exe(最大概率法分词) |
| 10 | 中文姓名的识别 | 第八讲 分词 (3) | 对“分词碎片”(落单的字)进行处理,猜测是否能够组成人名,用户可以修改Config.ini文件中的取值 | ProbWordSegWith- NameRecognizer.zip
|
WordSeg.exe (含中文姓名识别处理) |
| 11 | 基于二元模型的词性标注方法 | 第九讲 词性标注 | (1)从已经标注好词性的语料中统计得到词性标记的二元转移矩阵,以及每个词以确定的词性标记出现的次数等数据(训练阶段)
(2)利用动态规划算法快速选取词性标记路径,得到词性标记结果 (3)可以选择不同的词性标记集 |
PosTagger_exe.rar (含训练语料,词库等,约4MB) 带拼音的汉语词库(练习用) 2in1SegTag.exe (将分词和词性标注过程融合在一起,内含测试文件test.txt) |
|
| 12 | 一个简单的自底向上句法分析器 | 第十讲 句法分析
计算语言学概论课句法分析第二讲讲义(参考讲义)
|
(1)可选择不同的规则集(用普通文本文件存贮规则)。
(2)利用VC TreeCtrl控件显示分析得到的句法结构树。 (3)中间分析过程产生的所有边都输出到结果文件,便于跟踪分析的细节。 |
Bottom_Up_Parser.zip |
BottomUpParser.exe |
|
这个例子程序取自《Visual C++技术内幕》第6章“模式对话框和Windows通用控件”,其中演示了CTreeCtrl控件的基本用法
|
ex06b.zip | ||||
| 13 | 一个简单的PCFG分析器 | Pcfg_Parser.zip (2002-12-8) |
PCFGParser.exe | ||
| 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
[4] 凡是你能方便地找到,你自己觉得对了解计算机编程有用,而且是那种你看了一眼还想再看一眼的东东 ……