以文本方式查看主题

-  中文XML论坛 - 专业的XML技术讨论区  (http://bbs.xml.org.cn/index.asp)
--  『 Semantic Web(语义Web)/描述逻辑/本体 』  (http://bbs.xml.org.cn/list.asp?boardid=2)
----  关于分词系统  (http://bbs.xml.org.cn/dispbbs.asp?boardid=2&rootid=&id=11502)


--  作者:ChouBill
--  发布时间:11/2/2004 4:48:00 PM

--  关于分词系统
很多朋友们要基于Java的分词接口,我上传了一个在:
http://www.chentian.com/doc/fenci.rar

这个是基于中科院分词系统开发,功能上没有任何改进,增加了Java支持,原始系统在www.nlp.org.cn.


--  作者:cquzjh
--  发布时间:11/2/2004 7:29:00 PM

--  
收到,谢谢
--  作者:torrent
--  发布时间:11/10/2004 10:27:00 AM

--  
以下是引用ChouBill在2004-11-2 16:48:18的发言:
很多朋友们要基于Java的分词接口,我上传了一个在:
http://www.chentian.com/doc/fenci.rar

这个是基于中科院分词系统开发,功能上没有任何改进,增加了Java支持,原始系统在www.nlp.org.cn.


我用eclipse编译通不过,classes目录下编译好的类也运行不了。基本上是抛出ClassLoader异常。是dll的原因么?
对jni不熟悉,惭愧!请指教


--  作者:ChouBill
--  发布时间:11/10/2004 12:16:00 PM

--  
不好意思,我是用D版Jbuilder 9开发的。其实这个Java包中其他的都没有什么用,最关键的部分是:ICTCLAS.java,这个文件里面定义了DLL的三个接口函数:
  public synchronized native boolean init(int i, int j);
  public synchronized native String paragraphProcess(String sParagraph);
  public synchronized native boolean fileProcess(String source,String target);
这三个是最重要的。

我把ICTCLAS类做成了一个单例,是因为我不知道多例并发这个DLL会出现什么问题。如下:
  public synchronized static ICTCLAS getInstance(){
    if (instance==null){
      instance = new ICTCLAS();
    }
    return instance;
  }

那么调用的时候,只需要
ICTCLAS ict = ICTCLAS.getInstance();
System.out.println(ict.paragraphProcess("巴拿马和美国都是国家地区,汉族是一个民族。"))
就可以看到结果了


--  作者:torrent
--  发布时间:11/10/2004 5:11:00 PM

--  
衷心感谢ChouBill!

我说错了,不是编译通不过,而是运行时抛出异常如下:

java.lang.UnsatisfiedLinkError: no ICTCLAS in java.library.path
 at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1491)
 at java.lang.Runtime.loadLibrary0(Runtime.java:788)
 at java.lang.System.loadLibrary(System.java:834)
 at com.xjt.nlp.word.ICTCLAS.<clinit>(ICTCLAS.java:37)
Exception in thread "main"

由此看来是不认dll。我不知道这个dll文件应该怎么处理(或放到什么地方),另外,data目录想必是个词库吧,它又应当怎么配置呢??


--  作者:ChouBill
--  发布时间:11/11/2004 9:22:00 AM

--  
在Jbuilder环境下,我也慢慢试了好多目录,最后确定把这个DLL放在工程的根目录下,Data目录永远和DLL文件平级.

我没有用过eclipse, 但我想也需要慢慢试验才能找到答案,你可以一次多试几个可疑的目录,成功后再逐个删除.


--  作者:torrent
--  发布时间:11/11/2004 10:46:00 AM

--  
再次感谢!!已经运行成功了!!!呵呵
不过我还是有一点疑问,就是dll中api使用方式与中科院的文档说明有些不符,例如:init()方法的参数。

请ChouBill好事做到底,提供此dll的api说明文档或使用心得(我是不是太贪了??),我的e-mail:torrent2001@163.com

向ChouBill致敬!!!


--  作者:ChouBill
--  发布时间:11/11/2004 2:57:00 PM

--  
因为免费版没有DLL提供,所以这个DLL是在分词.exe系统的源代码上改的,接口也和中科院的文档有些不一样.因为我觉得中科院提供的接口太多,用起来比较麻烦. 全部改动如下:

init函数:中科院的DLL没有参数,我提供两个参数,i=nOutputFormat,j=nOperateType,i和j的取值范围都是{0,1,2},有兴趣你可以改变一下init的方式试试看.

ICTCLAS_API bool ICTCLAS_SetOutputFormat(int nOutputFormat);
ICTCLAS_API bool ICTCLAS_SetOperType(int nOperateType);
这两个函数我把它删除掉了,因为已经在init中设置好了.

ICTCLAS_API bool ICTCLAS_SentenceProcess(char *sSentence,unsigned int nResultCount,char **sResult);经过试验,我认为这个函数和pargraphProcess差不多,所以和paragraphProcess合并成一个函数.

ICTCLAS_API bool ICTCLAS_FileProcess(char *sSourceFilename,char *sResultFilename);这是最不稳定的一个函数,当文件过大时容易产生错误. 这个错误并不是我造成的, 因为同一个文件试验原有系统也会出错,我没有修改这个错误,也不打算用这个函数,因为文件可以转换为段落,然后用paragraphProcess函数解析就可以,但是我仍然保留了这个函数.

exit()函数,我认为太麻烦,不是每次都记得要exit(),干掉了

改动后我经过多线程长时间并发测试,发现paragraphProcess函数是比较稳定的,做论文和学习是足够用了.最后,再次申明, 千万不要将本代码用于商业用途.



--  作者:saleemlz
--  发布时间:11/15/2004 12:08:00 PM

--  
哦,用的是ICTCLAS啊,分词效果还是不错。但是若扩充他的data文件夹中的数据就更好了。
--  作者:wh_wh
--  发布时间:11/17/2004 9:26:00 PM

--  
收到,谢谢
--  作者:铜豆
--  发布时间:12/3/2004 11:41:00 AM

--  
太感谢ChouBill了,我现在正在做的论文需要用到ICTCLAS分词系统,也是用JBuilder9开发,但是一直苦于找不到ICTCLAS.dll,现在有希望了,谢谢,能不能留个E-mail联系!
--  作者:db_zxf
--  发布时间:4/1/2005 5:10:00 PM

--  
多谢

--  作者:jayxsjf
--  发布时间:4/11/2005 12:22:00 PM

--  
太感谢啦,我终于找到啦,我顶
--  作者:serva
--  发布时间:4/12/2005 10:59:00 AM

--  
我这里有用C++开发的,也是基于中科院的分词系统。
--  作者:sky220v
--  发布时间:4/15/2005 5:33:00 PM

--  
以下是引用serva在2005-4-12 10:59:39的发言:
我这里有用C++开发的,也是基于中科院的分词系统。

C++的吗?
能发给我一个吗?我正在做这方面的东西。
谢谢啦!
我的邮箱是 uranuswang@sohu.com


--  作者:jackry_love
--  发布时间:4/23/2005 12:15:00 PM

--  
torrent,你好。我刚接触ECLIPSE。
能说一下,你是怎么运行成功的么?
项目目录下
ICTCLAS.dll
jawin.library
data/
src/**.java等
有这几个就行?
--  作者:lingsum
--  发布时间:4/25/2005 10:24:00 AM

--  
那位直到VB. NET怎么调用ICTCLAs.dll
--  作者:lingsum
--  发布时间:4/25/2005 10:27:00 AM

--  
vb.net 怎么调用ICTCLAS.dll
--  作者:liyazi
--  发布时间:4/25/2005 11:13:00 AM

--  
我点了几次都没有下下来
那位大哥能帮我传到邮箱里,先谢谢!!!!!!!!!
8982632@163.com
--  作者:maxyang
--  发布时间:4/28/2005 12:32:00 AM

--  
没看到哦,能发个给我么我要做毕业设计谢谢
maxwyu@163.com
--  作者:world
--  发布时间:5/12/2005 4:38:00 PM

--  
我把它的classes作为javabeans用到页面上时出现问题了  开始是找不到DLL
后来改了以后没这个错误了 但还是运行不了  晕死了  有运行成功的么
--  作者:liu_xiaolx
--  发布时间:5/13/2005 9:02:00 PM

--  
不错,下了看看,呵呵,谢谢楼主
--  作者:doubleoseven
--  发布时间:5/15/2005 12:09:00 PM

--  
以下是引用serva在2005-4-12 10:59:39的发言:
我这里有用C++开发的,也是基于中科院的分词系统。


c++的吗?
能发给我一个吗?我正在为这个而头痛呢!谢谢啊!
我的邮箱是 sungreatfire@163.com
--  作者:cansea
--  发布时间:7/8/2005 2:21:00 PM

--  
请问,如何维护词库,我用你提供的sentence.java进行新词合并,不过不好使,怎么回事呢?

十分感谢楼主的慷慨提供。。。。


--  作者:leesa
--  发布时间:8/19/2005 7:47:00 PM

--  
ChouBill谢谢!我也在做毕业设计要用到分词,可是一直找不到ICTCLAS.dll,并且苦于本人水平有限不会自己写!多谢!
--  作者:tomsmith
--  发布时间:8/20/2005 10:10:00 AM

--  
楼主,不能下载啊!
若方便给我发一份,谢谢!
btpig@126.com
--  作者:stranger88
--  发布时间:8/24/2005 2:18:00 PM

--  
特别谢感我们的搂主
--  作者:lovelyjr
--  发布时间:8/26/2005 9:00:00 AM

--  
不知道以后能否用上,先保存着,谢谢!
--  作者:limengcq
--  发布时间:8/30/2005 8:25:00 PM

--  
能否给我一份?谢谢!  limengcq@yahoo.com.cn
--  作者:kkk305145298
--  发布时间:9/28/2005 5:20:00 PM

--  
不错,
--  作者:pjlu1982
--  发布时间:10/1/2005 10:08:00 AM

--  
厉害,谢谢
--  作者:tjdlut
--  发布时间:10/1/2005 2:40:00 PM

--  
谢谢分享
--  作者:beloved
--  发布时间:10/5/2005 4:18:00 PM

--  
恩,下下来学习一下先。
--  作者:zouyz
--  发布时间:10/8/2005 3:21:00 AM

--  
已经用上了,真不错,超赞!
--  作者:都市放牛
--  发布时间:10/16/2005 1:50:00 AM

--  
好东西,谢谢搂住
--  作者:goyooy
--  发布时间:11/14/2005 1:23:00 PM

--  
老大,能给我一份吗?上面链结已打不开,多谢了
good2008@gmail.com
--  作者:fb540
--  发布时间:11/14/2005 4:26:00 PM

--  
下不了了!

ps:都是用java编程的吗?有没有用C#的?


--  作者:ChouBill
--  发布时间:11/14/2005 4:50:00 PM

--  
新的下载地址变为:http://www.mclass.cn/ICTCLAS
--  作者:ztszhang
--  发布时间:11/15/2005 9:02:00 AM

--  
收到 谢了
--  作者:ztszhang
--  发布时间:11/15/2005 9:43:00 AM

--  
是不是做基于语义的信息检索也要用到分词系统?
--  作者:crystalwying
--  发布时间:11/15/2005 4:22:00 PM

--  
不太懂这方面的知识,进来学学
--  作者:xcn1225
--  发布时间:11/16/2005 7:08:00 PM

--  
偶现在特别需要分词系统,好心人发给我一个,xcn1225@163.com,不盛感激:)
--  作者:vole
--  发布时间:11/16/2005 7:10:00 PM

--  
很不错
--  作者:happier5281
--  发布时间:11/23/2005 9:47:00 AM

--  
我想问一下,下载里面的一个文件名为hs_err_pid1864.log的内容如下:,我不太了解,因为我有时候分词的时候,也经常出现这个问题(当文档规模比较大的时候),所以想问问ChouBill,怎么样能解决这个问题,期待你的答复
An unexpected exception has been detected in native code outside the VM.
Unexpected Signal : EXCEPTION_ACCESS_VIOLATION occurred at PC=0x1000C4E4
Function=[Unknown.]
Library=E:\MyApp\SplitWord\ICTCLAS.dll

NOTE: We are unable to locate the function name symbol for the error
      just occurred. Please refer to release documentation for possible
      reason and solutions.


Current Java thread:
 at com.xjt.nlp.word.ICTCLAS.paragraphProcess(Native Method)
 - locked <02A67448> (a com.xjt.nlp.word.ICTCLAS)
 at com.xjt.nlp.word.ICTCLAS.main(ICTCLAS.java:32)

Dynamic libraries:
0x00400000 - 0x00407000  D:\JBuilder9\jdk1.4\bin\javaw.exe
0x77F80000 - 0x77FFD000  C:\WINNT\system32\ntdll.dll
0x796D0000 - 0x79732000  C:\WINNT\system32\ADVAPI32.dll
0x77E60000 - 0x77F37000  C:\WINNT\system32\KERNEL32.DLL
0x786F0000 - 0x78761000  C:\WINNT\system32\RPCRT4.DLL
0x77DF0000 - 0x77E55000  C:\WINNT\system32\USER32.dll
0x77F40000 - 0x77F7E000  C:\WINNT\system32\GDI32.DLL
0x78000000 - 0x78045000  C:\WINNT\system32\MSVCRT.dll
0x75E00000 - 0x75E1A000  C:\WINNT\system32\IMM32.DLL
0x6C330000 - 0x6C338000  C:\WINNT\system32\LPK.DLL
0x65D20000 - 0x65D74000  C:\WINNT\system32\USP10.dll
0x6D340000 - 0x6D46A000  D:\JBuilder9\jdk1.4\jre\bin\client\jvm.dll
0x77530000 - 0x77560000  C:\WINNT\system32\WINMM.dll
0x6D1E0000 - 0x6D1E7000  D:\JBuilder9\jdk1.4\jre\bin\hpi.dll
0x6D310000 - 0x6D31E000  D:\JBuilder9\jdk1.4\jre\bin\verify.dll
0x6D220000 - 0x6D239000  D:\JBuilder9\jdk1.4\jre\bin\java.dll
0x6D330000 - 0x6D33D000  D:\JBuilder9\jdk1.4\jre\bin\zip.dll
0x6D270000 - 0x6D28C000  D:\JBuilder9\jdk1.4\jre\bin\jdwp.dll
0x6D180000 - 0x6D185000  D:\JBuilder9\jdk1.4\jre\bin\dt_socket.dll
0x74FB0000 - 0x74FC4000  C:\WINNT\system32\ws2_32.dll
0x74FA0000 - 0x74FA8000  C:\WINNT\system32\WS2HELP.DLL
0x77800000 - 0x7780C000  C:\WINNT\System32\rnr20.dll
0x77960000 - 0x77984000  C:\WINNT\system32\DNSAPI.DLL
0x74FD0000 - 0x74FDA000  C:\WINNT\system32\WSOCK32.DLL
0x77300000 - 0x77313000  C:\WINNT\system32\iphlpapi.dll
0x774E0000 - 0x774E5000  C:\WINNT\system32\ICMP.DLL
0x772E0000 - 0x772F7000  C:\WINNT\system32\MPRAPI.DLL
0x750E0000 - 0x750EF000  C:\WINNT\system32\SAMLIB.DLL
0x75100000 - 0x7514F000  C:\WINNT\system32\NETAPI32.DLL
0x797B0000 - 0x797BF000  C:\WINNT\system32\SECUR32.DLL
0x75150000 - 0x75156000  C:\WINNT\system32\NETRAP.DLL
0x77930000 - 0x7795A000  C:\WINNT\system32\WLDAP32.DLL
0x77A30000 - 0x77B1F000  C:\WINNT\system32\OLE32.DLL
0x77990000 - 0x77A2B000  C:\WINNT\system32\OLEAUT32.DLL
0x77370000 - 0x7739F000  C:\WINNT\system32\ACTIVEDS.DLL
0x77340000 - 0x77363000  C:\WINNT\system32\ADSLDPC.DLL
0x777F0000 - 0x777FE000  C:\WINNT\system32\RTUTILS.DLL
0x6D990000 - 0x6DA3C000  C:\WINNT\system32\SETUPAPI.DLL
0x794D0000 - 0x79531000  C:\WINNT\system32\USERENV.DLL
0x774A0000 - 0x774D3000  C:\WINNT\system32\RASAPI32.DLL
0x77480000 - 0x77491000  C:\WINNT\system32\RASMAN.DLL
0x774F0000 - 0x77512000  C:\WINNT\system32\TAPI32.DLL
0x71710000 - 0x71794000  C:\WINNT\system32\COMCTL32.DLL
0x70A70000 - 0x70AD5000  C:\WINNT\system32\SHLWAPI.DLL
0x77320000 - 0x77339000  C:\WINNT\system32\DHCPCSVC.DLL
0x777A0000 - 0x777A8000  C:\WINNT\System32\winrnr.dll
0x777B0000 - 0x777B5000  C:\WINNT\system32\rasadhlp.dll
0x74F50000 - 0x74F6E000  C:\WINNT\system32\msafd.dll
0x74F90000 - 0x74F97000  C:\WINNT\System32\wshtcpip.dll
0x10000000 - 0x100CF000  E:\MyApp\SplitWord\ICTCLAS.dll
0x777C0000 - 0x777DE000  C:\WINNT\system32\WINSPOOL.DRV
0x79B20000 - 0x79B30000  C:\WINNT\system32\MPR.DLL
0x77900000 - 0x77923000  C:\WINNT\system32\imagehlp.dll
0x72960000 - 0x7298D000  C:\WINNT\system32\DBGHELP.dll
0x687E0000 - 0x687EB000  C:\WINNT\system32\PSAPI.DLL

Local Time = Wed Jun 30 21:45:27 2004
Elapsed Time = 1
#
# The exception above was detected in native code outside the VM
#
# Java VM: Java HotSpot(TM) Client VM (1.4.1_02-b06 mixed mode)
#


--  作者:baobao1221
--  发布时间:11/24/2005 10:38:00 AM

--  
为什么我下载不到哪?根本打不开!难道是我的积分不够,无权下载?
求求好心人给我传一份吧Email:jbaobao@tom.com
谢谢!
--  作者:windancer2003
--  发布时间:11/24/2005 1:14:00 PM

--  
进来学习学习,一头雾水!!
--  作者:fanson
--  发布时间:12/5/2005 8:03:00 PM

--  
能够传一份给我吗?zhhy54@163.com,谢谢
--  作者:yhl2016
--  发布时间:12/8/2005 1:18:00 PM

--  
还是不知道这份词系统是怎么用的。我看网上的wordsmith是不是也实现这个功能呢?
--  作者:river24
--  发布时间:12/10/2005 6:06:00 PM

--  
哪位大虾也发给偶一份啊,多谢了!
river24@eyou.com
--  作者:dbjaje
--  发布时间:12/16/2005 6:20:00 PM

--  
终于找到了
--  作者:assise
--  发布时间:12/18/2005 4:52:00 PM

--  
好心人也给我传一份吧,谢啦
myfoz@163.com
--  作者:huabk01
--  发布时间:1/19/2006 10:38:00 AM

--  
谢谢谁能给偶发一个啊.. 感激不尽
hxhappy316@gmail.com
--  作者:qhf
--  发布时间:4/4/2006 10:02:00 AM

--  好心人
我急需ICTCLAS.dll要做一个东东,哪位好心人帮我发一份啊
qhfeng666@sohu.com
真的谢谢了,非常感谢!
--  作者:qhf
--  发布时间:4/4/2006 10:04:00 AM

--  
有人看到吗,能给我发一份吗
qhfeng666@sohu.com
如饥似渴啊
求求你给我发一份,不要对我说无所谓,呵呵
快来人啊

--  作者:guopanhong
--  发布时间:4/4/2006 4:52:00 PM

--  
太好了.需要的就是这个
--  作者:wyf_aaa
--  发布时间:4/4/2006 9:38:00 PM

--  
在JbuilderX中运行出现错误:Unable to write to output director。是怎么回事?
--  作者:wyf_aaa
--  发布时间:4/4/2006 9:44:00 PM

--  
在JbuilderX中运行出现错误:Unable to write to output director。是怎么回事?
--  作者:azhengwin888
--  发布时间:4/6/2006 10:49:00 AM

--  
谢谢啦  帮顶

--  作者:163lzm
--  发布时间:4/16/2006 9:13:00 PM

--  
哪位大哥能不能也发我一份,我也很希望有一份,同样的如饥似渴
呵呵
163lzm@163.com
感激一辈子
--  作者:djwhn
--  发布时间:4/17/2006 9:04:00 AM

--  
已经下载,谢谢奉献。
--  作者:gwj_77_77_77
--  发布时间:4/18/2006 10:28:00 AM

--  
看过了原来那个中科院的网站,资料好多呀!!
可以好好学习机器语言了!!
--  作者:125002875
--  发布时间:4/29/2006 3:44:00 PM

--  
高手
--  作者:jerry408
--  发布时间:5/8/2006 5:08:00 PM

--  
谢谢,非常有用!
W 3 C h i n a ( since 2003 ) 旗 下 站 点
苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》
296.875ms