内容摘要 IKAnalyzer基于lucene2.0版本API开发,实现了以词典分词为基础的 正反向全切分 以及 正反向最大匹配切分 两种算法,是Lucene Analyzer接口的实现
IKAnalyzer基于lucene2.0版本API开发,实现了以词典分词为基础的 正反向全切分 以及 正反向最大匹配切分 两种算法,是Lucene Analyzer接口的实现,代码使用例子如下:
下载地址:
http://groups-beta.google.com/group/SegWord/web/IKAnalyzer.jar
正反向全切分算法:
import org.mira.lucene.analysis.IK_CAnalyzer <------- 引用类
import .....
public class IKAnalyzerTest extends TestCase {
RAMDirectory directory;
private IndexSearcher searcher;
public void setUp() throws Exception {
directory = new RAMDirectory();
IndexWriter writer = new IndexWriter(directory,
new IK_CAnalyzer(), <------- 实例化类
true);
Document doc = new Document();
doc.add(Field.Keyword("partnum", "Q36"));
doc.add(Field.Text("description", "Illidium Space Modulator"));
writer.addDocument(doc);
writer.close();
searcher = new IndexSearcher(directory);
}
public void testTermQuery() throws Exception {
Query query = new TermQuery(new Term("partnum", "Q36"));
Hits hits = searcher.search(query);
assertEquals(1, hits.length());
}
}
分词效果测试,命令行如下:
java -classpath IKAnalyzer.jar;lucene-core-2.0.0.jar org.mira.lucene.analysis.IK_CAnalyzer 中华人民共和国香港特别行政区
该算法适合与互联网用户的搜索习惯和企业知识库检索,用户可以用句子中涵盖的中文词汇搜索,如用“人民”搜索含“人民币”的文章,这是大部分用户的搜索思维;
不适合用于知识挖掘和网络爬虫技术,全切分法容易造成知识歧义,因为在语义学上“人民”和“人民币”是完全搭不上关系的。
分词效果:
1.实现中文单词细粒度全切分
如:中华人民共和国
0 - 2 = 中华
0 - 4 = 中华人民
0 - 7 = 中华人民共和国
1 - 3 = 华人
2 - 4 = 人民
2 - 7 = 人民共和国
4 - 6 = 共和
4 - 7 = 共和国
2.实现对专有名词的识别和切分(人名,公司名)
如:陈文平是开睿动力通讯科技有限公司董事长
0 - 3 = 陈文平 <------ 人名,非汉语词汇
4 - 6 = 开睿 <------ 公司名,非汉语词汇
6 - 8 = 动力
8 - 10 = 通讯
10 - 12 = 科技
12 - 14 = 有限
12 - 16 = 有限公司
14 - 16 = 公司
16 - 18 = 董事
16 - 19 = 董事长
18 - 19 = 长
3.对数词和量词的合理切分
如:据路透社报道,印度尼西亚社会事务部一官员星期二(29日)表示,日惹市附近当地时间27日晨5时53分发生的里氏6.2级地震已经造成至少5427人死亡,20000余人受伤,近20万人无家可归。
0 - 1 = 据
1 - 4 = 路透社
4 - 6 = 报道
。。。。。。
18 - 20 = 官员
20 - 22 = 星期
20 - 23 = 星期二
22 - 23 = 二
24 - 26 = 29
24 - 27 = 29日
26 - 27 = 日
28 - 30 = 表示
31 - 33 = 日惹
33 - 34 = 市
。。。。。。
40 - 42 = 27
40 - 43 = 27日
43 - 44 = 晨
44 - 45 = 5
44 - 46 = 5时
45 - 46 = 时
46 - 48 = 53
46 - 49 = 53分
48 - 50 = 分发
。。。。。。
52 - 54 = 里氏
54 - 57 = 6.2
54 - 58 = 6.2级
57 - 58 = 级
58 - 60 = 地震
。。。。。。
66 - 70 = 5427
66 - 71 = 5427人
71 - 73 = 死亡
72 - 73 = 亡
74 - 79 = 20000
79 - 81 = 余人
81 - 83 = 受伤
84 - 85 = 近
85 - 87 = 20
85 - 89 = 20万人
87 - 89 = 万人
89 - 93 = 无家可归
最大匹配分词算法
实现类 : org.mira.lucene.analysis.MIK_CAnalyzer
效果测试命令行:
java -classpath IKAnalyzer.jar;lucene-core-2.0.0.jar org.mira.lucene.analysis.MIK_CAnalyzer 中华人民共和国香港特别行政区
分词效果:
例子:中华人民共和国香港特别行政区
0 - 7 = 中华人民共和国
7 - 14 = 香港特别行政区
例子:据路透社报道,印度尼西亚社会事务部一官员星期二(29日)表示,日惹市附近当地时间27日晨5时53分发生的里氏6.2级地震已经造成至少5427人死亡?,20000余人受伤,近20万人无家可归。
1 - 4 = 路透社
4 - 6 = 报道
7 - 12 = 印度尼西亚
12 - 14 = 社会
14 - 16 = 事务
18 - 20 = 官员
20 - 23 = 星期二
24 - 27 = 29日
28 - 30 = 表示
31 - 33 = 日惹
34 - 36 = 附近
36 - 40 = 当地时间
40 - 43 = 27日
44 - 46 = 5时
46 - 49 = 53分
48 - 50 = 分发
49 - 51 = 发生
50 - 52 = 生的
52 - 54 = 里氏
54 - 58 = 6.2级
58 - 60 = 地震
60 - 62 = 已经
62 - 64 = 造成
64 - 66 = 至少
66 - 71 = 5427人
71 - 73 = 死亡
75 - 80 = 20000
80 - 82 = 余人
82 - 84 = 受伤
86 - 90 = 20万人
90 - 94 = 无家可归
Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=1492380
分享到:
- 2008-04-11 11:32
- 浏览 2048
- 评论(2)
- 论坛回复 / 浏览 (2 / 4041)
- 查看更多
相关推荐
因此将我搜集到的情感词典全部免费分享出来,主要包括台湾大学NTUSD简体中文情感词典+知网Hownet情感词典+清华大学李军中文褒贬义词典+BosonNLP+停用词,还有一些比较冷门的情感词典,需要的可以下载。
2. **匹配词典**:然后,将分词后的词汇与情感词典进行匹配,找出其中的情感词,并确定其情感极性。 3. **情感评分**:根据情感词的极性给每个词汇赋予一个分数,通常是正向、负向或中性。 4. **情感强度计算**:...
《英汉汉英专业词典+_stardict》是一款针对英语和汉语学习者设计的专业词典软件,旨在提供全面、准确的词汇翻译和解释。它包含了大量的英语、汉语以及汉语到英语的词汇,覆盖了各个专业领域,是提高语言学习效率和...
Python 正向最大匹配分词和逆向最大匹配分词 Python 正向最大匹配分词和逆向最大匹配分词是自然语言处理(NLP)中的重要技术,用于将文本拆分成单个词语,以便进行文本分析和处理。在本文中,我们将讨论 Python ...
用于中文文本情绪识别等研究,内含知网Hownet+台湾大学NTUSD+清华大学李军中文褒贬义词典。
# 中文情感分析常用词典 该库收集了包含 * 知网Hownet情感词典 * 台湾大学NTUSD简体中文情感词典 * 清华大学李军中文褒贬义词典 * BosonNLP
本主题主要关注如何利用jieba与特定词典,包括两个灵格斯词典、会计科目词典、会计术语词典以及连词词典,来提升年报分析的准确性与效率。 首先,jieba是Python中广泛使用的中文分词库,它提供了高效的分词、词性...
《EBWin4.5.5日语离线词典+小学馆+大辞林》是一款专为日语学习者设计的高效工具,包含了丰富的词汇资源,是日语爱好者和专业人士的重要参考资料。本软件的核心特点在于其离线功能,无需网络连接即可进行便捷的词汇...
《现代汉语词典+成语词典(S60v3 SIS) ABBYY Lingvo》是一款专为S60第三版智能手机系统设计的汉化语言学习应用。此应用结合了《现代汉语词典》和《成语词典》两大部分内容,为用户提供了全面的汉字、词汇和成语查询...
这可能指的是其他如Sogou情感词典、哈工大THUCTC等资源,这些词典各有特点,如Sogou词典在互联网文本处理中有广泛的应用,而THUCTC则侧重于微博等社交媒体文本的情感分析。 在实际应用中,这些情感词典可以单独使用...
包含大量超级词典包,如:一、朗文当代英语词典第五版;二、朗文发音词典;三、牛津高阶英语学习词典第八版;四、韦伯斯特大学词典第十一版; 五、城市词典;六、剑桥高阶英语学习词典第三版;七、大英百科全书2010...
这些压缩包文件集合了多个著名的情感词典,涵盖了丰富的中文情感词汇资源,是进行文本情感分析、情绪识别和自然语言处理的重要参考资料。以下是对每个词典的详细解释: 1. **台湾大学NTUSD简体中文情感词典**: ...
这两部词典在学术研究和实际应用中扮演着关键角色。 《清华大学李军中文褒贬义词典》是由清华大学计算机科学与技术系的李军教授团队编纂的一部专门针对中文词汇情感倾向的词典。该词典收录了大量的汉语词汇,并对每...
pause copy IBM 智能词典2000.rar.001/b IBM 智能词典2000.rar copy IBM 智能词典2000.rar/b +IBM 智能词典2000.rar.002/b copy IBM 智能词典2000.rar/b +IBM 智能词典2000.rar.003/b copy IBM 智能...
包含三个知名情感词典:知网Hownet、台湾大学NTUSD、清华褒贬义词典。 附其他词典和分类:褒贬词及其近义词、否定词典汉语情感词极值表、情感词典及其分类、情感词汇本体
正向最大匹配法是一种自左向右的分词方法。它从文本的开头开始,每次尽可能地匹配词典中最长的词汇。例如,对于文本“我喜欢吃苹果”,如果词典中有“我”、“喜欢”、“吃”、“苹果”,FMM会首先匹配到“我喜欢”...
标题中的"C语言词典+迷宫+连连看 源码"揭示了这是一个关于C语言编程的项目,其中包含了三个不同的应用:一个小型词典、一个迷宫游戏以及一个连连看游戏。这些源码提供了实际的C语言实现,且带有注释,便于学习和理解...
pause copy IBM 智能词典2000.rar.001/b IBM 智能词典2000.rar copy IBM 智能词典2000.rar/b +IBM 智能词典2000.rar.002/b copy IBM 智能词典2000.rar/b +IBM 智能词典2000.rar.003/b copy IBM 智能...
"词典C+数据结构"项目提供了一个使用C语言实现的简单字典应用,这为我们提供了学习和探讨C语言编程以及如何利用数据结构高效地处理词汇信息的机会。 首先,C语言是一种强大的、底层的编程语言,它允许程序员直接对...