盘古分词的词库,是越大越好么?对分词算法不是很了解。向词库中添加什么词汇能使精度更高
既然用盘古分词,你就不用再去考虑怎么分词了,人家都按他自己的规则、词典给你分好了。你只需要使用他提供的DLL来生成索引就OK了。
static void CreateIndex() { //创建索引库目录 var directory = FSDirectory.Open(new DirectoryInfo(path)); Analyzer analyzer = null; //analyzer = new StandardAnalyzer(Lucene.Net.Util.Version.LUCENE_29); if (isPangu) { analyzer = new PanGuAnalyzer();//盘古Analyzer } else { analyzer = new StandardAnalyzer(Lucene.Net.Util.Version.LUCENE_29); } //创建一个索引,采用StandardAnalyzer对句子进行分词 IndexWriter indexWriter = new IndexWriter(directory, analyzer, true, IndexWriter.MaxFieldLength.LIMITED); var sql = "select * from T_News"; using (var reader = SqlHelper.ExecuteReader(Conn, CommandType.Text, sql)) { while (reader.Read()) { //域的集合:文档,类似于表的行 Document doc = new Document(); //要索引的字段 doc.Add(new Field("Title", reader["Title"].ToString(), Field.Store.YES, Field.Index.ANALYZED)); doc.Add(new Field("NewContent", reader["NewContent"].ToString(), Field.Store.YES, Field.Index.ANALYZED)); indexWriter.AddDocument(doc); } } //对索引文件进行优化 indexWriter.Optimize(); indexWriter.Close(); }
我们这个是做教育的,直接用做完了,感觉精确度不是很高,是不是 需要把一些跟教育有关的专业词汇,导入词库中啊
@小宁UP: 盘古分词里提供了一个DictManage.exe的工具,你可以用它打开你的Dict.dct文件,然后就可以往里面加词了
@Alex_QY1987: 恩,看到了,我找到了那个搜狗的核心词库,不知道有没有必要导进去,有40W条,我们是做教育的,还是只导入一些跟教育有关的专业名词好,比如数理化中的专业名词。
@小宁UP: 最好肯定是根据你们自己的行业特性自己整理名词了,这样的效果肯定最好,就是工作量估计会比较大。搜狗的词库也未必有你想要的呢!
@Alex_QY1987:嗯嗯,谢谢你了。我根据需要去搜狗下一些细胞词库。