Skip to content

Instantly share code, notes, and snippets.

@hyuki
Last active April 18, 2018 12:29
Show Gist options
  • Save hyuki/a13378d8de4d2a4d0986799fc5836a49 to your computer and use it in GitHub Desktop.
Save hyuki/a13378d8de4d2a4d0986799fc5836a49 to your computer and use it in GitHub Desktop.
kagomeを使ってみる。 See: https://github.com/ikawaha/kagome
package main
import (
"fmt"
"strings"
"github.com/ikawaha/kagome/tokenizer"
)
func main() {
t := tokenizer.New()
tokens := t.Tokenize(`僕「そうそう。どんな正の$\varepsilon$が与えられたとしても、この条件を満たすような$\delta$が存在するといえるかな? ということ。どんな正の$\varepsilon$に対してもそのような$\delta$が存在するならば、$x \to a$のとき$f(x) \to A$だといえるし、そんな$\delta$が存在するとは限らないならば、$x \to a$のとき$f(x) \to A$だとはいえない。《関数の極限》は、そういう定義になっているね。何がひっかかるの?」`)
for _, token := range tokens {
if token.Class == tokenizer.DUMMY {
// BOS: Begin Of Sentence, EOS: End Of Sentence.
fmt.Printf("%s\n", token.Surface)
continue
}
features := strings.Join(token.Features(), ",")
fmt.Printf("%s\t%v\n", token.Surface, features)
}
}
@hyuki
Copy link
Author

hyuki commented Apr 18, 2018

たとえば、

そうはいうものの、ほんものの「もののけ姫」といったののは君だよね。

という文の中には「のの」が四箇所出てくるけれど、最後の「のの」はミスタイプ。これを形態素解析で見つけることはできるだろうか?

package main

import (
	"fmt"
	"strings"

	"github.com/ikawaha/kagome/tokenizer"
)

func main() {
	t := tokenizer.New()
	tokens := t.Tokenize(`そうはいうものの、ほんものの「もののけ姫」といったののは君だよね。`)

	for _, token := range tokens {
		if token.Class == tokenizer.DUMMY {
			// BOS: Begin Of Sentence, EOS: End Of Sentence.
			fmt.Printf("%s\n", token.Surface)
			continue
		}
		features := strings.Join(token.Features(), ",")
		fmt.Printf("%s\t%v\n", token.Surface, features)
	}
}

実行結果は以下の通り。ふうむ……

BOS
そう	副詞,助詞類接続,*,*,*,*,そう,ソウ,ソー
は	助詞,係助詞,*,*,*,*,は,ハ,ワ
いう	動詞,自立,*,*,五段・ワ行促音便,基本形,いう,イウ,イウ
ものの	助詞,接続助詞,*,*,*,*,ものの,モノノ,モノノ
、	記号,読点,*,*,*,*,、,、,、
ほん	名詞,一般,*,*,*,*,ほん,ホン,ホン
もの	名詞,非自立,一般,*,*,*,もの,モノ,モノ
の	助詞,連体化,*,*,*,*,の,ノ,ノ
「	記号,括弧開,*,*,*,*,「,「,「
もの	名詞,一般,*,*,*,*,もの,モノ,モノ
のけ	動詞,自立,*,*,一段,連用形,のける,ノケ,ノケ
姫	名詞,一般,*,*,*,*,姫,ヒメ,ヒメ
」	記号,括弧閉,*,*,*,*,」,」,」
といった	助詞,格助詞,連語,*,*,*,といった,トイッタ,トイッタ
の	助詞,連体化,*,*,*,*,の,ノ,ノ
の	名詞,非自立,一般,*,*,*,の,ノ,ノ
は	助詞,係助詞,*,*,*,*,は,ハ,ワ
君	名詞,代名詞,一般,*,*,*,君,キミ,キミ
だ	助動詞,*,*,*,特殊・ダ,基本形,だ,ダ,ダ
よ	助詞,終助詞,*,*,*,*,よ,ヨ,ヨ
ね	助詞,終助詞,*,*,*,*,ね,ネ,ネ
。	記号,句点,*,*,*,*,。,。,。
EOS

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment