给nutch .8加中文分词

原来nutch 的分词是用javacc的,它是一个很高效的东东哦。
对于中日韩的文字是用单字分词,
所以对中文要分词,思路当然是把中文拿出来单独对待了。

所以要对analysis.jj进行修改。

  // chinese, japanese and korean characters
| <SIGRAM: <OTHER_CJK>> 
                    
| <CNWORD: (<CHINESE>)+>//chinese word

   // irregular words
| <#IRREGULAR_WORD: (<C_PLUS_PLUS>|<C_SHARP>)>
| <#C_PLUS_PLUS: ("C"|"c") "++" >
| <#C_SHARP: ("C"|"c") "#" >

  // query syntax characters
| <PLUS: "+" >
| <MINUS: "-" >
| <QUOTE: "/"" >
| <COLON: ":" >
| <SLASH: "/" >
| <DOT: "." >
| <ATSIGN: "@" >
| <APOSTROPHE: "'" >

| <WHITE: ~[] >                                   // treat unrecognized chars
                                                  // as whitespace
// primitive, non-token patterns

| <#WORD_PUNCT: ("_"|"&")>                        // allowed anywhere in words

| < #LETTER:                      // alphabets
    [
        "/u0041"-"/u005a",
        "/u0061"-"/u007a",
        "/u00c0"-"/u00d6",
        "/u00d8"-"/u00f6",
        "/u00f8"-"/u00ff",
        "/u0100"-"/u1fff"
    ]
    >


|  <#OTHER_CJK: //japanese and korean characters                                       // non-alphabets
      [
       "/u3040"-"/u318f",
       "/u3300"-"/u337f",
       "/u3400"-"/u3d2d",
       "/uf900"-"/ufaff"
      ]
    >
   
|  <#CHINESE://chinese characters
   [
   "/u4e00"-"/u9fff"
   ]
   >
   
| <#DIGIT:                      // unicode digits
      [
       "/u0030"-"/u0039",
       "/u0660"-"/u0669",
       "/u06f0"-"/u06f9",
       "/u0966"-"/u096f",
       "/u09e6"-"/u09ef",
       "/u0a66"-"/u0a6f",
       "/u0ae6"-"/u0aef",
       "/u0b66"-"/u0b6f",
       "/u0be7"-"/u0bef",
       "/u0c66"-"/u0c6f",
       "/u0ce6"-"/u0cef",
       "/u0d66"-"/u0d6f",
       "/u0e50"-"/u0e59",
       "/u0ed0"-"/u0ed9",
       "/u1040"-"/u1049"
      ]
  >

}
这样,就把中文单独拿出来处理了,
后面就是要用自己的中文分词方法对它进行处理了。
处理分词是nutchAnalysis.java中的parse()方法,改它就可以了。





  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值