しかし、それ以外の(?)形態素解析を用いることができる。
iOS 5.1から搭載されているが、紹介記事が少ないので。
var testString="iPhoneでも形態素解析を手軽に、だれでも行うことができます。ただし、日本語の場合、機能制限が多いです" let tagschemes = NSLinguisticTagger.availableTagSchemesForLanguage("ja")//取得するだけ let tagger = NSLinguisticTagger(tagSchemes: tagschemes,options: 0)//インスタンス作成 let options: NSLinguisticTaggerOptions = .OmitWhitespace | .OmitPunctuation | .JoinNames tagger.string=testString//文字列をセット tagger.enumerateTagsInRange(NSMakeRange(0, (testString as NSString).length), scheme: NSLinguisticTagSchemeTokenType, options: options) { (tag, tokenRange, sentenceRange, _) in let token = (self.testString as NSString).substringWithRange(tokenRange) println("\(token): \(tag)") }たったこれだけ。
NSLinguisticTagger.availableTagSchemesForLanguage で取得できるのは、使える機能のリストです。
日本語("ja")では[TokenType, Language, Script]
英語("en")では[TokenType,Language,Script,Lemma,LexicalClass,NameType,NameTypeOrLexicalClass]
が返ってきます。
一般的な形態素解析(品詞まで分解)はNSLinguisticTagSchemeLexicalClassです
日本語に対してできる最大限、NSLinguisticTagSchemeTokenTypeを行うと、文をトークンに分割したものを出力してくれます。"tag"は基本的に"Word"になっています。
何かに使えればいいな。
ただし、認識精度は非常に低いです。。。
token= 今日: Word
token= は: Word
token= い: Word
token= い: Word
token= 天気: Word
token= です: Word
token= ね: Word
token= なんで: Word
token= い: Word
token= い: Word
token= が: Word
token= 同じ: Word
token= 単語: Word
token= と: Word
token= し: Word
token= て: Word
token= 認識: Word
token= さ: Word
token= れ: Word
token= ない: Word
token= ん: Word
token= じゃ: Word
mecabなら
今日はいい天気ですね
今日 名詞,副詞可能,*,*,*,*,今日,キョウ,キョー
は 助詞,係助詞,*,*,*,*,は,ハ,ワ
いい 形容詞,自立,*,*,形容詞・イイ,基本形,いい,イイ,イイ
天気 名詞,一般,*,*,*,*,天気,テンキ,テンキ
です 助動詞,*,*,*,特殊・デス,基本形,です,デス,デス
ね 助詞,終助詞,*,*,*,*,ね,ネ,ネ
EOS
なんで「いい」が同じ単語として認識されないんじゃ
なんで 副詞,一般,*,*,*,*,なんで,ナンデ,ナンデ
「 記号,括弧開,*,*,*,*,「,「,「
いい 形容詞,自立,*,*,形容詞・イイ,基本形,いい,イイ,イイ
」 記号,括弧閉,*,*,*,*,」,」,」
が 助詞,格助詞,一般,*,*,*,が,ガ,ガ
同じ 連体詞,*,*,*,*,*,同じ,オナジ,オナジ
単語 名詞,一般,*,*,*,*,単語,タンゴ,タンゴ
として 助詞,格助詞,連語,*,*,*,として,トシテ,トシテ
認識 名詞,サ変接続,*,*,*,*,認識,ニンシキ,ニンシキ
さ 動詞,自立,*,*,サ変・スル,未然レル接続,する,サ,サ
れ 動詞,接尾,*,*,一段,未然形,れる,レ,レ
ない 助動詞,*,*,*,特殊・ナイ,基本形,ない,ナイ,ナイ
ん 名詞,非自立,一般,*,*,*,ん,ン,ン
じゃ 助詞,副助詞,*,*,*,*,じゃ,ジャ,ジャ
EOS
参考URL:
http://nshipster.com/nslinguistictagger/
http://d.hatena.ne.jp/shu223/20130318/1363566717
0 件のコメント:
コメントを投稿