‘srx-english’ is a Ruby library containing English sentence and word segmentation rules. The sentence segementation rules are based on rules defined by Marcin Miłkowski: morfologik.blogspot.com/2009/11/talking-about-srx-in-lt-during-ltc.html
-
this library is generated by ‘srx2ruby’ which has some limitations and might be not 100% SRX standard compliant.
Standard rubygems installation:
$ gem install srx-english
The library defines the SRX::English::Sentence class allowing to iterate over the matched sentences:
require 'srx/english/sentence_splitter' text =<<-END This is e.g. Mr. Smith, who talks slowly... And this is another sentence. END splitter = SRX::English::SentenceSplitter.new(text) splitter.each do |sentence| puts sentence.gsub(/\n|\r/,"") end # This is e.g. Mr. Smith, who talks slowly... # And this is another sentence. require 'srx/english/word_splitter' sentence = 'My home is my castle.' splitter = SRX::English::WordSplitter.new(sentence) splitter.each do |word,type,start_offset,end_offset| puts "'#{word}' #{type}" end # 'My' word # ' ' other # 'home' word # ' ' other # 'is' word # ' ' other # 'my' word # ' ' other # 'castle' word # '.' punct
Copyright © 2011 Aleksander Pohl, Marcin Miłkowski, Jarosław Lipski
This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.