资源简介
学习了部分分词原理和方法,做了相应的改进:
1、创建了两种词典树,做了性能上的比较
2、改进数字词组的分词方法,加入语法的判断
3、提供地名词典创建工具。将地名全名词典分词获得分词后的地名词典,减少词条数目,增加查找速度。程序用一个中等省会城市测试,模糊查询和精确查询效果都不错。
4、加入地名输入提示的工具。
代码采用C#,为学习成果,尚有很多不完善地方,欢迎交流。
词典数据来源于网络!

代码片段和文件信息
/*
* 如修改程序,请注明修改人、日期和修改内容提要
* Content:DictBuilder
* Email:killo007@163.com
* Date:August 8th2008
*/
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
namespace ChineseSegement
{
public partial class DictBuilder : Form
{
public DictBuilder()
{
InitializeComponent();
}
private void DictBuilder_Load(object sender EventArgs e)
{
this.txtExistFile.ReadOnly = true;
this.button2.Enabled = false;
}
///
/// 获取文件路径
///
///
///
private void btnInput_Click(object sender EventArgs e)
{
OpenFileDialog dialog = new OpenFileDialog();
dialog.Filter = “文本文档 (*.txt)|*.txt|数据文件(*.dat)|*.dat|所有文件(*.*)|*.*“;
dialog.FilterIndex = 1;
dialog.InitialDirectory = @“E:\学习\自定义控件\ChineseSegement\ChineseSegmentTools\Dictionary\DictionaryBuild“;
dialog.AddExtension = true;
if (DialogResult.OK == dialog.ShowDialog())
{
this.txtInput.Text = dialog.FileName;
}
}
///
/// 获取文件路径
///
///
///
private void btnprePath_Click(object sender EventArgs e)
{
SaveFileDialog dialog = new SaveFileDialog();
dialog.Filter = “文本文档 (*.txt)|*.txt|数据文件(*.dat)|*.dat|所有文件(*.*)|*.*“;
dialog.FilterIndex = 1;
dialog.InitialDirectory = @“E:\\学习\自定义控件\ChineseSegement\ChineseSegmentTools\Dictionary\DictionaryBuild“;
dialog.DefaultExt = “txt“;
dialog.RestoreDirectory = true;
dialog.AddExtension = true;
if (DialogResult.OK == dialog.ShowDialog())
{
this.txtpreTreat.Text = dialog.FileName;
}
}
private void checkBox1_CheckedChanged(object sender EventArgs e)
{
if (this.checkBox1.Checked == true)
{
this.txtExistFile.ReadOnly = false;
this.button2.Enabled = true;
}
else
{
this.txtExistFile.ReadOnly = true;
this.button2.Enabled = false;
}
}
///
/// 词典预处理
///
///
///
private void btnPreTreat_Click(object sender EventArgs e)
{
if (this.txtInput.Text != null && this.txtInput.Text != ““)
{
if (this.txtpreTreat.Text != ““)
{
ChineseSegmentT
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 32768 2008-09-05 10:06 中文地名查询\ChineseSegement\bin\Debug\ChineseSegement.exe
文件 54784 2008-09-05 10:06 中文地名查询\ChineseSegement\bin\Debug\ChineseSegement.pdb
文件 5632 2005-12-08 14:51 中文地名查询\ChineseSegement\bin\Debug\ChineseSegement.vshost.exe
文件 28672 2008-09-05 10:06 中文地名查询\ChineseSegement\bin\Debug\ChineseSegmentTools.dll
文件 48640 2008-09-05 10:06 中文地名查询\ChineseSegement\bin\Debug\ChineseSegmentTools.pdb
文件 3888 2008-08-08 09:11 中文地名查询\ChineseSegement\ChineseSegement.csproj
文件 6949 2008-09-05 09:59 中文地名查询\ChineseSegement\DictBuilder.cs
文件 16011 2008-08-08 10:28 中文地名查询\ChineseSegement\DictBuilder.Designer.cs
文件 5814 2008-08-08 10:28 中文地名查询\ChineseSegement\DictBuilder.resx
文件 14639 2008-09-05 10:05 中文地名查询\ChineseSegement\Form1.cs
文件 10524 2008-08-08 11:28 中文地名查询\ChineseSegement\Form1.Designer.cs
文件 5814 2008-08-08 11:28 中文地名查询\ChineseSegement\Form1.resx
文件 443 2008-09-05 10:43 中文地名查询\ChineseSegement\obj\ChineseSegement.csproj.FileList.txt
文件 906 2008-08-08 11:28 中文地名查询\ChineseSegement\obj\Debug\ChineseSegement.csproj.GenerateResource.Cache
文件 180 2008-09-05 10:06 中文地名查询\ChineseSegement\obj\Debug\ChineseSegement.DictBuilder.resources
文件 32768 2008-09-05 10:06 中文地名查询\ChineseSegement\obj\Debug\ChineseSegement.exe
文件 180 2008-09-05 10:06 中文地名查询\ChineseSegement\obj\Debug\ChineseSegement.Form1.resources
文件 54784 2008-09-05 10:06 中文地名查询\ChineseSegement\obj\Debug\ChineseSegement.pdb
文件 180 2008-09-05 10:06 中文地名查询\ChineseSegement\obj\Debug\ChineseSegement.Properties.Resources.resources
文件 8846 2008-09-05 10:06 中文地名查询\ChineseSegement\obj\Debug\ResolveAssemblyReference.cache
文件 4608 2008-08-04 13:16 中文地名查询\ChineseSegement\obj\Debug\TempPE\Properties.Resources.Designer.cs.dll
文件 474 2008-08-01 10:45 中文地名查询\ChineseSegement\Program.cs
文件 1196 2008-08-01 10:45 中文地名查询\ChineseSegement\Properties\AssemblyInfo.cs
文件 2852 2008-08-04 13:16 中文地名查询\ChineseSegement\Properties\Resources.Designer.cs
文件 5612 2008-08-01 10:45 中文地名查询\ChineseSegement\Properties\Resources.resx
文件 1111 2008-08-04 13:16 中文地名查询\ChineseSegement\Properties\Settings.Designer.cs
文件 249 2008-08-01 10:45 中文地名查询\ChineseSegement\Properties\Settings.settings
文件 1445 2008-08-01 11:06 中文地名查询\ChineseSegement.sln
..A..H. 30720 2008-09-05 10:44 中文地名查询\ChineseSegement.suo
文件 28672 2008-09-05 10:06 中文地名查询\ChineseSegmentTools\bin\Debug\ChineseSegmentTools.dll
............此处省略38个文件信息
- 上一篇:基于RFID的简易图书管理系统
- 下一篇:NPOI方式读取、保存等excel操作
相关资源
- C#创建word并保存
- 连连看游戏C#源码有提示和洗牌功能
- C# 创建doc文档(基于Microsoft.Office.In
- C# CAD 创建Ribbon菜单带图标
- C# NPOI创建操作Worddocx常用操作
- 最简单快速地用c#批量化处理excel的方
- C#创建计划任务,定时服务,完美执行
-
使用Entity_fr
amework和Web_API创建一个商 - ArcEngine创建要素数据集、文件地理数
- 基于NLPIR(ICTCLAS2013)的中文分词C#
- 基于Skyline的C#创建管线加载3D模型
- Lucene.NET v3.0.3 DEMO范例程序(含PanGu分
- 图书管理系统c#NET平台上使用窗体和控
- ASP.NET 2.0 中的创建母版页
- 动态创建多个线程后 需要关闭其中某
- asp.net 利用webservice,dataset创建火车票
- head first C#学习笔记-构建动态控件继承
- HTTPS证书创建+绑定端口+C#程序监听
-
C# winform 使用Dsofr
amer 创建 显示off - C#编写的通讯录管理系统C#源代码程序
- C#操作Mysql创建数据库,数据表,增、
- C# 创建数据库、数据表
- C#利用ThoughtWorks.QRCode.dll创建和解析二
- C# 利用反射动态创建对象
- c# panel的拖动和缩放
- FTP上传、、创建目录、重命名、删除
- C#代码创建Access数据库和表
- C#创建Excel文件并将数据导出到Excel文
- c#通过纯代码创建桌面快捷方式、创建
- C#窗体小程序,实现文件夹创建、删除
评论
共有 条评论