Skip to content

zenizh/mecab-noun_parser

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

28 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Mecab::NounParser

Build Status Gem Version

This gem is a noun parser for MeCab gem. This counts the number of nouns, and arranging it in descending order.

Installation

Add this line to your application's Gemfile:

gem 'mecab'
gem 'mecab-noun_parser'

And then execute:

$ bundle

Usage

Here's a simple example to use:

require 'mecab'
require 'mecab-noun_parser'

parser = MeCab::NounParser.new

parser << 'Rubyは、手軽なオブジェクト指向プログラミングを実現するための種々の機能を持つオブジェクト指向スクリプト言語です。本格的なオブジェクト指向言語であるSmalltalk、EiffelやC++などでは大げさに思われるような領域でのオブジェクト指向プログラミングを支援することを目的としています。もちろん通常の手続き型のプログラミングも可能です。'
parser << 'Rubyはテキスト処理関係の能力などに優れ、Perlと同じくらい強力です。さらにシンプルな文法と、例外処理やイテレータなどの機構によって、より分かりやすいプログラミングが出来ます。'
parser << 'まあ、簡単にいえばPerlのような手軽さで「楽しく」オブジェクト指向しようという言語です。どうぞ使ってみてください。'
parser << 'Rubyはまつもと ゆきひろが個人で開発しているフリーソフトウェアです。'

p parser.parse.nouns

This results is as follows:

[
  {:noun=>"Ruby", :count=>3},
  {:noun=>"オブジェクト指向プログラミング", :count=>2},
  {:noun=>"Perl", :count=>2},
    :
  {:noun=>"個人", :count=>1},
  {:noun=>"開発", :count=>1},
  {:noun=>"フリーソフトウェア", :count=>1}
]

Except some words

If you don't want to include some words, you should initialize with :except option:

parser = MeCab::NounParser.new(except: ['Smalltalk', 'Eiffel', ...])

Contributing

Bug reports and pull requests are welcome on GitHub at https://github.com/kami-zh/mecab-noun_parser.