C#中文分詞演算法:ChineseAnalyzer 。
首先需要引用 2個dll庫檔案 Lucene.Net.dll + Lucene.China.dll ,會打包在本文結束處,使用VS2008調試通過:
using Lucene.Net;
using Lucene.Net.Analysis;
using Lucene.China;
----------
使用方法舉例:
private void button1_Click(object sender, EventArgs e)
{
StringBuilder sb = new StringBuilder();
sb.Remove(0, sb.Length);
string t1 = "";
int i = 0;
Analyzer analyzer = new Lucene.China.ChineseAnalyzer();
StringReader sr = new StringReader(richTextBox1.Text);
TokenStream stream = analyzer.TokenStream(null, sr);
long begin = System.DateTime.Now.Ticks;
Token t = stream.Next();
while (t != null)
{
t1 = t.ToString(); //顯示格式: (關鍵詞,0,2) ,需要處理
t1 = t1.Replace("(","");
char[] separator = { ',' };
t1 = t1.Split(separator)[0];
sb.Append(i+":"+ t1 + "\r\n");
t = stream.Next();
i++;
}
richTextBox2.Text = sb.ToString();
long end = System.DateTime.Now.Ticks; //100毫微秒
int time = (int)((end - begin) / 10000); //ms
richTextBox2.Text += "耗時" + (time) + "ms \r\n=================================\r\n";
}
如下:
:
中文分詞演算法:ChineseAnalyzer.rar