[Download] ICTCLAS2008

#23
另外,这个软件说可以支持用户词典,请问,哪位试过,如何加载用户词典呢?
ICTCLAS2008共享版用户词典使用说明
1、如何加载卸载用户词典
第一次加载用户词典或者需要变更用户词典的时候,直接调用 ImportUserDict(const char *sFilename)即可。下次使用同一部用户词典,不需要再调用该函数,如果在配置文件中设置<UserDict>On</UserDict>,系统会自动加载。在配置文件(Configure.xml)中设置<UserDict>Off</UserDict>,系统会自动将用户词典屏蔽。

2、用户词典格式
(词 词性)
用户词典词性的说明:
1) 所用到的词性标注集,与核心词典词性标注集(可以自行指定)一致
2) 如果没有给出词性或者给出的词性不正确,按照名词处理

3、如何在用户词典中注释
可以在任何地方添加注释内容,注释的方法有:
1)在当前行加上"//",则当前行//后面的内容无效
2)"/*" 至"*/"内容无效,/*必须是每行的开始位置,即:
/*注释内容
kakl
addddddddd*/
注释有效,而
啊 a/*注释内容
kakl
addddddddd*/
注释无效
注意第二种注释方式不支持嵌套

4、用户词典示例
待加载的用户词典应当是一个文本文件,每行不得超过1000个字节,示例如下
/********************************************************
/*1989年春夏之交的政治风波 //政治术语
1989年政治风波
24小时降雪量
24小时降雨量
863计划
ABC防护训练*///前面内容都被注释掉
APEC会议 nz //注释内容:词性为nz
BB机//注释内容:没有给出词性,按照"n"处理
BP机 nzert//词性无效,按照"n"处理
C2系统
C3I系统
C3系统
C4ISR系统
C4I系统
CCITT建议 t
********************************************************/

5、例子
//初始化 ICTCLAS
if(!ICTCLAS_Init())
{
printf("ICTCLAS INIT FAILED!\n");
return -1;
}
printf("ICTCLAS init success!\n");
//未加词典
char sString[1000] = "点击下载超女纪敏佳深受观众喜爱。禽流感爆发在非典之后。";
const char * sResult;
printf("Before User-defined dictionary used:\n");
sResult = ICTCLAS_ParagraphProcess(sString,0);
printf("%s\n",sResult);
//导入词典
int iWordCount = ICTCLAS_ImportUserDict("userdict.txt");
printf("import %d user words!\n",iWordCount);
//加词典后
printf("After User-defined dictionary used:\n");
sResult = ICTCLAS_ParagraphProcess(sString,0);
printf("%s\n",sResult);
//file paragraphprocess
ICTCLAS_FileProcess("test.txt","test_result.txt",0);

//loop
printf("input you string to paragraph!(input \"q\" to exit)\n");
scanf("%s",sString);
while(strcmp(sString,"q")!=0)
{
sResult = ICTCLAS_ParagraphProcess(sString,0);
printf("%s\n",sResult);
printf("input you string to paragraph!(input \"q\" to exit)\n");
scanf("%s",sString);
}
//释放资源
ICTCLAS_Exit();

Output
/**********************************************************************************
ICTCLAS init success!
Before User-defined dictionary used:
点 击 下载 超女 纪敏佳 深受 观众 喜爱 。 禽流感 爆发 在 非典 之后 。
import 3 user words!
After User-defined dictionary used:
点击 下载 超女 纪敏佳 深受 观众 喜爱 。 禽流感 爆发 在 非典 之后 。
**********************************************************************************/

userdict.txt词典内容
/**************************************
点击 v
**************************************/

以上资料来自www.ictclas.org。
——Robert Young
 
#30
非常感谢Robert Young !
有个问题:这次共享的奥运版和其他版本,比如说正式版,在哪些地方有什么区别呢?
 
#31
回复: Re: [Download] ICTCLAS2008

非常感谢Robert Young !
有个问题:这次共享的奥运版和其他版本,比如说正式版,在哪些地方有什么区别呢?
这个还真的不知道。也许在服务、升级、使用范围上不同吧。
请专家指正。
 
#32
另外,对于用户词典,好像它只允许赋码长度为2,比如NP,NR等,如果赋码长度比较长,比如NP1,VV22等,也就是说,赋码长度为3、4,或者更长,有办法么?
 
#33
回复: Re: [Download] ICTCLAS2008

另外,对于用户词典,好像它只允许赋码长度为2,比如NP,NR等,如果赋码长度比较长,比如NP1,VV22等,也就是说,赋码长度为3、4,或者更长,有办法么?
不像您说的。您读一读标记集就知道,动词“有”是用vyou形式标注的。
如:

我/rr 有/vyou 一个/mq 好/a 爸爸/n 。/wj

张华平/nr 1995年/t 离开/v 江西/ns 鄱阳/ns 老家/n 就读/vi 于/p 北方/s 工业/n 大学/n ,/wd 如今/t 已经/d 是/vshi 中科院/n 计算/v 所/q 的/ude1 副/b 研究员/n

请参阅:
http://ictclas.org/ictclas_docs_003.html
 
#34
Re: 回复: Re: [Download] ICTCLAS2008

不像您说的。您读一读标记集就知道,动词“有”是用vyou形式标注的。
如:

我/rr 有/vyou 一个/mq 好/a 爸爸/n 。/wj

张华平/nr 1995年/t 离开/v 江西/ns 鄱阳/ns 老家/n 就读/vi 于/p 北方/s 工业/n 大学/n ,/wd 如今/t 已经/d 是/vshi 中科院/n 计算/v 所/q 的/ude1 副/b 研究员/n

请参阅:
http://ictclas.org/ictclas_docs_003.html
2、用户词典格式
(词 词性)
用户词典词性的说明:
1) 所用到的词性标注集,与核心词典词性标注集(可以自行指定)一致
2) 如果没有给出词性或者给出的词性不正确,按照名词处理

虽然它允许标记长度为多个字符,但是,只允许和核心词典词性标注集一致的。


“核心词典词性标注集(可以自行指定)”怎么理解?如何自行指定呢?
 
#35
回复: Re: 回复: Re: [Download] ICTCLAS2008

2、用户词典格式
(词 词性)
用户词典词性的说明:
1) 所用到的词性标注集,与核心词典词性标注集(可以自行指定)一致
2) 如果没有给出词性或者给出的词性不正确,按照名词处理

虽然它允许标记长度为多个字符,但是,只允许和核心词典词性标注集一致的。


“核心词典词性标注集(可以自行指定)”怎么理解?如何自行指定呢?
以下回复纯属个人理解,不是官方解释。敬请专家指正。

(1)你的用户词典里所使用的词性标注集,要与所给出的核心词典词性标注集保持一致。否则,将会忽略用户词典的标注而使用核心词典词性标注集(已测试)。不过,如果你设置为用户词典优先,可能会是另外一种情形(没有测试)。
(2)你可以自行指定使用哪一个标注集(当然是一个文件)作为你的核心词典词性标注集。因为没有提供源码,所以要自己指定一个核心词典词性标注集的话,最简单的办法莫过于用文件名相同的文件替换掉原来的文件。在共享版本中,标注集应该是ICTCLAS.map和ICTPOS.map两个文件。我改动其中一个标注,分词后词性的标记就都变成改变后的标记了。其他文件都为二进制文件,无法查看。
(3)开源版中,词典也存放在Data目录中,常用的词典包括coreDict.dct(词典库)、BigramDict.dct(词与词间的关联库)、nr.dct(人名库)、ns.dct(地名库)、tr.dct(翻译人名库)。
(4)建议:在“ICTCLAS2008汉语词性标注集”的框架下,使用相同的标记标注用户词典中的词语。这个标注集的本意肯定是要覆盖到所有汉语的词性标记,而用户词典的意义很大程度上应该在于给词典中没有收录到的词语“定性”。例如“伊兰特”这个未登录词。知道的人明白这是一辆“现代”牌汽车,而核心词典中肯定收录不到。因此他会分析为 伊/b 兰特/n。 如果在用户词典中指定“伊兰特”为nz,那么分词就正确了:北京/ns 现代/t 伊兰特/nz 高级/a 轿车/n 直/d 降/v 一万三/m 。/wj
 
#36
Re: 回复: Re: 回复: Re: [Download] ICTCLAS2008

非常感谢您的回复!
想用它作为壳子,进行别的方面的标注!

但是改动后好像出现一些状况。
以下回复纯属个人理解,不是官方解释。敬请专家指正。

(1)你的用户词典里所使用的词性标注集,要与所给出的核心词典词性标注集保持一致。否则,将会忽略用户词典的标注而使用核心词典词性标注集(已测试)。不过,如果你设置为用户词典优先,可能会是另外一种情形(没有测试)。
(2)你可以自行指定使用哪一个标注集(当然是一个文件)作为你的核心词典词性标注集。因为没有提供源码,所以要自己指定一个核心词典词性标注集的话,最简单的办法莫过于用文件名相同的文件替换掉原来的文件。在共享版本中,标注集应该是ICTCLAS.map和ICTPOS.map两个文件。我改动其中一个标注,分词后词性的标记就都变成改变后的标记了。其他文件都为二进制文件,无法查看。
(3)开源版中,词典也存放在Data目录中,常用的词典包括coreDict.dct(词典库)、BigramDict.dct(词与词间的关联库)、nr.dct(人名库)、ns.dct(地名库)、tr.dct(翻译人名库)。
(4)建议:在“ICTCLAS2008汉语词性标注集”的框架下,使用相同的标记标注用户词典中的词语。这个标注集的本意肯定是要覆盖到所有汉语的词性标记,而用户词典的意义很大程度上应该在于给词典中没有收录到的词语“定性”。例如“伊兰特”这个未登录词。知道的人明白这是一辆“现代”牌汽车,而核心词典中肯定收录不到。因此他会分析为 伊/b 兰特/n。 如果在用户词典中指定“伊兰特”为nz,那么分词就正确了:北京/ns 现代/t 伊兰特/nz 高级/a 轿车/n 直/d 降/v 一万三/m 。/wj
 

xiaoz

永远的超级管理员
Staff member
#38
回复: Re: [Download] ICTCLAS2008

In your program calling the ICTCLAS API, change the option from 1 to 0, e.g.

[FONT=宋体]ICTCLAS_FileProcess("Test.txt","Test_result.txt",1);[/FONT]
[FONT=宋体][/FONT]
This will tokenise and POS tag the input file.

[FONT=宋体]ICTCLAS_FileProcess("Test.txt","Test_result.txt",0);[/FONT]
[FONT=宋体][/FONT]
This will tokenise but not POS tag the input file.



ICTCLAS1.0有个按钮,可以只分词,不标注,
这个怎实现?
最好保留用户词典的功能。
 
#39
Re: 回复: Re: [Download] ICTCLAS2008

In your program calling the ICTCLAS API, change the option from 1 to 0, e.g.

[FONT=宋体]ICTCLAS_FileProcess("Test.txt","Test_result.txt",1);[/FONT]
[FONT=宋体][/FONT]
This will tokenise and POS tag the input file.

[FONT=宋体]ICTCLAS_FileProcess("Test.txt","Test_result.txt",0);[/FONT]
[FONT=宋体][/FONT]
This will tokenise but not POS tag the input file.

谢谢老洪,可是,俺手头的是已经编译好的ICTCLAS2008.exe文件,哪位好心给做一下,就是那个能加载用户词典的,——Robert Young 做的,能使用用户词典的ICTCLAS调用程序,谢谢呀!
 
#40
Re: 回复: Re: [Download] ICTCLAS2008

谢谢老洪,可是,俺手头的是已经编译好的ICTCLAS2008.exe文件,哪位好心给做一下,就是那个能加载用户词典的,——Robert Young 做的,能使用用户词典的ICTCLAS调用程序,谢谢呀
 
顶部