资源简介
学习了部分分词原理和方法,做了相应的改进:
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#创建,读写TXT文件,登陆与注册界面
- Asp.net(C#) 创建windows服务并定时执行
- winform创建不规则窗体和控件源码.ra
- asp.net c# 自动创建SqlServer数据库实现
- Asp.NetC#创建Excel,动态给下拉框赋值
- c#写入多个txt文本
- ZY_winform创建不规则窗体和控件源码
- Excel 中创建多个保存的Sheet
- VisualC__NET中应用GDI_动态创建可移动
- 正向最大匹配(FMM)和逆向最大匹配
- C#创建windows服务+Form+Web调用服务
- 用C#实现的二叉树窗体应用程序
- 文件属性修改器修改文件创建时间、
- winform创建不规则窗体和控件源码值得
- Syndication实现读取、创建、订阅、更新
- C# 创建PDF文档
- 非Com形式 创建 桌面快捷方式
- iis6 创建站点方法(附详细参数列表)
- Sharepoint自动创建网站 源码
- C# 创建移动的窗体
- C# 获取和设置文件夹属性(创建修改
- C#模拟银行ATM操作(分普通用户和透支
- 为一个Excel文件创建多个工作表
- 创建Excel文件并保存
- 创建PDF文档
- c# 创建自己的命令(命令模式)
- DevExpress动态创建统计图
- C# 自动安装IIS,以及创建网站
- C#中文分词源码
- 在ASP.NET MVC4中创建角色并将用户归入
评论
共有 条评论