0.01
No commit activity in last 3 years
No release in over 3 years
Japanese Word Segmenter
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
 Dependencies

Development

 Project Readme

BimyouSegmenter: Rubyだけで書かれた微妙なサイズの分かち書きソフトウェア

BimyouSegmenterはRubyだけで書かれた微妙なサイズの日本語分かち書きソフトウェアです。 約150Kバイトの微妙なサイズのソースコードで、青空文庫にある太宰治、宮沢賢治、夏目漱石、夢野久作作品であれば、MeCab+ipadicによるの分かち書きの結果と94%くらいは同じになります。 というTinySegmenterのパロディ的なものです。

BimyouSegmenterは、青空文庫の太宰治、宮沢賢治、夏目漱石、夢野久作 作品、高田力 ベーシック英語、Project Gutenbergの Alice's Adventures in Wonderland, by Lewis Carroll に対するMeCab+ipadicによる分かち書き結果(約800万件)をLIBLINEAR の L1-regularized logistic regression で学習して、学習されたModelファイルからRubyのコードを生成しています。

インストール

gem install bimyou_segmenter

でインストールされます。

コマンドラインツールとライブラリがあります。

使い方

コマンドラインツール

% bimyou_segmenter
今年もよろしくお願いします。Happy New Year 2013!
今年
も
よろしく
お願い
し
ます
。
Happy
New
Year
2013
!
EOS
いろいろあったけど、ぼくはげんきです
いろいろ
あっ
た
けど
、
ぼく
は
げんき
です
EOS

オプションは、 -dでデリミタを指定するとその文字列で単語間を区切ります。デフォルトは\nです。 -eでEOSの文字列を指定できます。デフォルトはEOSです。 -sを付けると空白文字や改行コードも単語として返します。-sを付け場合、分割後の単語を繋げると元の文字列と一致します。

% bimyou_segmenter -d "|"
今年もよろしくお願いします。Happy New Year 2013!
今年|も|よろしく|お願い|し|ます|。|Happy|New|Year|2013|!|EOS

% bimyou_segmenter -s -d "<>" -e ""
今年もよろしくお願いします。Happy New Year 2013!
今年<>も<>よろしく<>お願い<>し<>ます<>。<>Happy<> <>New<> <>Year<> <>2013<>!

% bimyou_segmenter --help

Ruby ライブラリ

# coding: utf-8
require 'bimyou_segmenter'

puts BimyouSegmenter.segment("今年もよろしくお願いします。Happy New Year 2013!").join("|")
puts BimyouSegmenter.segment("今年もよろしくお願いします。Happy New Year 2013!",
                             :white_space => true).join("|")


今年|も|よろしく|お願い|し|ます|。|Happy|New|Year|2013|!
今年|も|よろしく|お願い|し|ます|。|Happy| |New| |Year| |2013|!

:white_spaceをtrueにすると(default: false)、空白文字や改行も単語して返します。このオプションを指定した場合は、結果の文字列配列を順に結合すると元の文字列と一致します。 また:symbol => falseにすると(default: true)、記号のみからなる単語(トークン)を返しません。

Ruby 1.8.7の場合は、require 'rubygems'と$KCODEをuにすると使えます。