转移情势,转换情势

条件:对日开发语言处理

条件:对日开发语言处理

务求:分析词语,将词语中的日文单词分割,转换情势。

要求:分析词语,将词语中的日文单词分割,转换格局。

分析:

分析:

  任务1:词语拆分

  任务1:词语拆分

  任务2:转换情势

  任务2:转换模式

 

 

日文的款式转换能够用kanavetor去贯彻 万分简单
直接调用Kana类的convert方法就可以,在Kana的官网上得以见见用法(即便看不懂介绍,看到管网的表格应该也就一目了解了~)。

日文的样式转换可以用kanavetor去贯彻 分外简单
直接调用Kana类的convert方法就足以,在Kana的官网上可以见见用法(尽管看不懂介绍,看到管网的报表应该也就一目精通了~)。

一言九鼎在于词语的拆分上:

着重在于词语的拆分上:

用语拆分使用了Kuromoji,Kuromoji是一款分外好用的立陶宛语分词工具,并且,分解后的词是足以自动将汉字,平假名等转换成カタカナ的,有类似需要的可以平素用那一个而不用再去摸索其他工具了。Kuromoji我找到了两个本子,一个是kuromoji,0.7.7本子,官网上说捐献给了apache,内置在Lucene的4.0,5.0版本里,由于忘记Lucene的用法,暂且不考虑。另外一个版本是kuromoji-ipadic,这个东东和kuromoji都是一个供销社出的,但是略有不同,稍微研究了瞬间,kuromoji在动用的时候是只好找到jar包,找不到源代码文件的,通过maven下载可以,不过gradle是引入不了的。而kuromoji-ipadic则是gradlle也可以引用,并且引入之后方可见见源码。另外kuromoji毕竟是先前的api,还有局部小小的的先天不足。

用语拆分使用了Kuromoji,Kuromoji是一款特别好用的藏语分词工具,并且,分解后的词是可以活动将汉字,平假名等转换成カタカナ的,有类似需要的可以间接用这些而不用再去寻找其它工具了。Kuromoji我找到了五个版本,一个是kuromoji,0.7.7版本,官网上说捐献给了apache,内置在Lucene的4.0,5.0本子里,由于忘记Lucene的用法,暂且不考虑。此外一个本子是kuromoji-ipadic,这多少个东东和kuromoji都是一个小卖部出的,不过略有不同,稍微探究了一下,kuromoji在选取的时候是不得不找到jar包,找不到源代码文件的,通过maven下载可以,可是gradle是引入不了的。而kuromoji-ipadic则是gradlle也得以引用,并且引入之后方可看到源码。此外kuromoji毕竟是原先的api,还有局部小小的弱项。

kuromoji官网:http://www.atilika.org/

www.888000ff.com,kuromoji官网:http://www.atilika.org/

Kuromoji-ipadic官网:http://www.atilika.com/en/kuromoji/

Kuromoji-ipadic官网:http://www.atilika.com/en/kuromoji/

Kuromoji用法:

Kuromoji用法:

1         Tokenizer tokenizer = Tokenizer.builder().build();
2         for (Token token : tokenizer.tokenize("寿司が食べたい。")) {
        // token 中存放的是分割后的词 不同的属性可以取到该词的不同内容

              // surfaceForm:原内容

3             System.out.println(token.getSurfaceForm() + "\t" + );

              // baseForm:内容词语的基础 例如 食べたい⇒食べ

        System.out.println(token.getBaseForm() + "\t" + );

4 }
1         Tokenizer tokenizer = Tokenizer.builder().build();
2         for (Token token : tokenizer.tokenize("寿司が食べたい。")) {
        // token 中存放的是分割后的词 不同的属性可以取到该词的不同内容

              // surfaceForm:原内容

3             System.out.println(token.getSurfaceForm() + "\t" + );

              // baseForm:内容词语的基础 例如 食べたい⇒食べ

        System.out.println(token.getBaseForm() + "\t" + );

4 }

↑↑↑这几个api对日文汉字的识别率不如下边的api(有些简体日文汉字和特别生疏的鉴别不出去,毕竟是老版本),并且碰到不认识的汉字时token调用get方法会拿到null。。。不指出利用。

↑↑↑这一个api对日文汉字的识别率不如上边的api(有些简体日文汉字和专门生疏的辨认不出去,毕竟是老版本),并且遭受不认得的方块字时token调用get方法会得到null。。。不提议拔取。

Kuromoji-ipadic用法:

Kuromoji-ipadic用法:

1         Tokenizer tokenizer = new Tokenizer() ;
2         List<Token> tokens = tokenizer.tokenize("お寿司が食べたい。");
3         for (Token token : tokens) {
4             System.out.println(token.getSurface()); // 读取到的原内容
5             System.out.println(token.getReading()); // カタカナ
6         }        
1         Tokenizer tokenizer = new Tokenizer() ;
2         List<Token> tokens = tokenizer.tokenize("お寿司が食べたい。");
3         for (Token token : tokens) {
4             System.out.println(token.getSurface()); // 读取到的原内容
5             System.out.println(token.getReading()); // カタカナ
6         }        

顺带一提,kuromoji-ipadic由于是用new暴发发生实例的,所以只要您的工具或系统需要更换大量词汇,要留意不要做太多的new操作,不然会很慢很慢很慢,此时可以定义成静态常量或者单例格局。

顺带一提,kuromoji-ipadic由于是用new暴发爆发实例的,所以只要您的工具或系统需要更换大量词汇,要专注不要做太多的new操作,不然会很慢很慢很慢,此时可以定义成静态常量或者单例格局。

迎接大家评论和求教。

迎接我们评论和指教。

 

 

相关文章