SlideShare a Scribd company logo
1 of 18
Download to read offline
自作かな漢字変換
「Genji 」をつくったよ
はしもとまさ
@OSC Nagoya 2018
2018/5/19
2018/5/19New Genji をつくったよ 2/18
自己紹介
Name: はしもとまさ(または鹿)
● 東海道らぐ
…の関東案内人
● おーぷん万葉プロジェクト
主に自然言語処理について調べたりいろいろと
● ちびぎーこ保護者会(別名:日本openSUSEユーザ会)
本日はこちらの活動はお休み・・・
…と思ったら、なぜか今日は薄い本売ってた?(売れた冊数=0冊)
2018/5/19New Genji をつくったよ 3/18
今日は・・・
かな漢字変換を自作したよ〜!
というお話
(正確には前からあったのを大改修)
2018/5/19New Genji をつくったよ 4/18
でもかな漢字変換作るのって・・・
巨大なコーパス(=日本語の文章)の
解析をする必要があるよね!
そもそもそんなに使用できるコーパスなんて
持ってるの???
注)一番大きな日本語コーパスは買うと何十万円だったりしますorz
2018/5/19New Genji をつくったよ 5/18
唐突ですが、最近始めたこと
私事で全然関係ない話ですが、小説書き始めました!
● 「きらめきインターラプト」 @エブリスタ
– オープンソースカンファレンス準拠作品!??
– OSC名古屋編を現在連載中・・・「あひる焼き」も登場!?
● 冴えカノの二次小説「冴えないフミオの育てかた」 @カクヨム
→ かな漢字変換のコーパスの元ネタに
  できるじゃないか!!(ぇ
2018/5/19New Genji をつくったよ 6/18
話を戻しまして、、、
自作かな漢字変換「Genji」が
復活しました!
注)そもそもOSC大阪〜OSC東京で展示物がなかったおーぷん万葉…orz
2018/5/19New Genji をつくったよ 7/18
一番大きな変更点
純粋なコスト最小法を採用!
※詳細は次のスライドで
2018/5/19New Genji をつくったよ 8/18
コスト最小法とは?
Mozc(Google日本語入力)の場合:
文
頭
私
の 名前
は
中野
注:ちょっと(かなり?)端折って説明します^^;
 例)「わたしのなまえはなかのです」を変換する場合 (コストの値はテキトーです!)
です
文
末ので す
中
綿 市 花 課
10
30 15
30 15
10
15 40
20
50
● 単語生起コスト: 単語の出現優先度を表したコスト
● 連接コスト: 単語と単語の結びつきやすさを表したコスト
→ 全て足して、合計値が最も低いルートが候補になります
15
30 40
45
20
20
20
20
50
20
25
30
40
45
20
20
出現頻度の高い単語は
単語生起コストが低い
「名前」と「花」という単語は
結びつきにくいので連接コストは高い
2018/5/19New Genji をつくったよ 9/18
New Genji (vol.1) のコスト最小法
文節単位(自立語と付属語の組み合わせ)でコストを決定
文
頭
私の
名前
名前は
中野
例)「わたしのなまえはなかのです」を変換する場合 (やはりコストの値はテキトーです!)
です
文
末
中野です
私 の
900
1000 1000 1000
750
1000 1000
860
1000
単語コスト = 1000 (MAX)固定
※文節コストよりも必ず高い
は
文節コスト (自立語 + 付属語) は
単語コストよりも低い
●
単語生起コスト: 1000 固定 (いまのところ)
●
文節コスト(自立語+付属語): 0 < x < 1000
⇛文節単位の単語の組み合わせが優先される
2018/5/19New Genji をつくったよ 10/18
文節とは?
「自立語 + 付属語」です
Genjiの元となるコーパスでは文節を下記のように定義しています
{
"Independent" : {
"surface" : "私",
"original" : "私",
"read" : "わたし",
"position" : [ "名詞", "代名詞", "一般", "*" ],
"conjugate" : [ "*", "*" ]
},
"Ancillary" : {
"surface" : "の",
"original" : "の",
"read" : "の",
"position" : [ "助詞", "連体化", "*", "*" ],
"conjugate" : [ "*", "*" ]
},
}
自立語 と 付属語 が
1 対 1 で定義されてます
※自立語 = 1 のみの場合もあり
2018/5/19New Genji をつくったよ 11/18
自立語 1 : 付属語 1 だとなにが嬉しいか?
例文 「あひる焼き食べたいな」を単語分割
● Mecab :
「あひる」「焼き」「食べ」「たい」「な」
⇛ 単語の組み合わせによってはあひる焼けない?
● Genji :
「あひる焼き」「食べたいな」
⇛ 確実に「あひる焼き」が召し上がれる!
文節単位で辞書に登録されている!
「あひる」(名詞) + 「焼き」(連体詞)
2018/5/19New Genji をつくったよ 12/18
今後の「Genji」開発予定
● 「係り受けコスト」の追加
文節同士のつながり=文脈を考慮にいれる
→ OSC京都(2018/7)にて公開!?
● 辞書の洗練化
文節単位ではなく、単語単位の辞書を作成したい
例)「あひる焼き」「あひる焼きが」→「あひる焼き」ひとつにする
課題)単語単位の辞書だけでいかにありうる文節を作るか?
2018/5/19New Genji をつくったよ 13/18
実演!
(時間あるかな?)
2018/5/19New Genji をつくったよ 14/18
おーぷん万葉とは?
かな漢字変換も含めて、自然言語処理のアプリを
作成するには巨大なコーパスが必要!
→ 買おうとすると ?0万円!??
→ オープンデータを使えば解決できるのでは?
オープンデータ: 青空文庫、Wikipedia etc...
2018/5/19New Genji をつくったよ 15/18
New Genji とその周囲
コーパス登録
「Kasuga」
辞書集計→CSV化
「GenjiDicBuilder」
「Genji」
辞書バイナリ作成
「Fujitsubo」
ローマ字→かな
「Aoi」
かな→かな漢字
「Murasaki」
MongoDB
辞書
CSV
2018/5/19New Genji をつくったよ 16/18
おーぷん万葉の守備範囲
コーパス登録
「Kasuga」
辞書集計→CSV化
「GenjiDicBuilder」
「Genji」
辞書バイナリ作成
「Fujitsubo」
ローマ字→かな
「Aoi」
かな→かな漢字
「Murasaki」
MongoDB
辞書
CSV
ここ。オープンデータでどんどん活用したい!
2018/5/19New Genji をつくったよ 17/18
Genji & Kasuga 公開場所
● コーパス作成ツール「Kasuga」
https://github.com/hashimom/Kasuga
● かな漢字変換「Genji」
https://github.com/hashimom/Genji
● Genji用辞書構築ツール「GenjiDicBuilder」
https://github.com/hashimom/GenjiDicBuilder
2018/5/19New Genji をつくったよ 18/18
ご清聴ありがとうございましたm(_ _)m
あ、OSC小説「きらめきインターラプト」もよろしくどーぞです
※「きらめきインターラプト」で検索

More Related Content

What's hot

AutoGluonではじめるAutoML
AutoGluonではじめるAutoMLAutoGluonではじめるAutoML
AutoGluonではじめるAutoML西岡 賢一郎
 
型安全性入門
型安全性入門型安全性入門
型安全性入門Akinori Abe
 
中3女子でもわかる constexpr
中3女子でもわかる constexpr中3女子でもわかる constexpr
中3女子でもわかる constexprGenya Murakami
 
目grep入門 +解説
目grep入門 +解説目grep入門 +解説
目grep入門 +解説murachue
 
こわくない Git
こわくない Gitこわくない Git
こわくない GitKota Saito
 
いつやるの?Git入門 v1.1.0
いつやるの?Git入門 v1.1.0いつやるの?Git入門 v1.1.0
いつやるの?Git入門 v1.1.0Masakazu Matsushita
 
CV分野におけるサーベイ方法
CV分野におけるサーベイ方法CV分野におけるサーベイ方法
CV分野におけるサーベイ方法Hirokatsu Kataoka
 
YoctoをつかったDistroの作り方とハマり方
YoctoをつかったDistroの作り方とハマり方YoctoをつかったDistroの作り方とハマり方
YoctoをつかったDistroの作り方とハマり方wata2ki
 
オブジェクト指向できていますか?
オブジェクト指向できていますか?オブジェクト指向できていますか?
オブジェクト指向できていますか?Moriharu Ohzu
 
CEDEC 2018 最速のC#の書き方 - C#大統一理論へ向けて性能的課題を払拭する
CEDEC 2018 最速のC#の書き方 - C#大統一理論へ向けて性能的課題を払拭するCEDEC 2018 最速のC#の書き方 - C#大統一理論へ向けて性能的課題を払拭する
CEDEC 2018 最速のC#の書き方 - C#大統一理論へ向けて性能的課題を払拭するYoshifumi Kawai
 
ARM CPUにおけるSIMDを用いた高速計算入門
ARM CPUにおけるSIMDを用いた高速計算入門ARM CPUにおけるSIMDを用いた高速計算入門
ARM CPUにおけるSIMDを用いた高速計算入門Fixstars Corporation
 
Polyphony: Python ではじめる FPGA
Polyphony: Python ではじめる FPGAPolyphony: Python ではじめる FPGA
Polyphony: Python ではじめる FPGAryos36
 
何となく勉強した気分になれるパーサ入門
何となく勉強した気分になれるパーサ入門何となく勉強した気分になれるパーサ入門
何となく勉強した気分になれるパーサ入門masayoshi takahashi
 
ドキュメントを作りたくなってしまう魔法のツール「Sphinx」
ドキュメントを作りたくなってしまう魔法のツール「Sphinx」ドキュメントを作りたくなってしまう魔法のツール「Sphinx」
ドキュメントを作りたくなってしまう魔法のツール「Sphinx」Yoshiki Shibukawa
 
チームメイトのためにdocstringを書こう! pyconjp2019
チームメイトのためにdocstringを書こう! pyconjp2019チームメイトのためにdocstringを書こう! pyconjp2019
チームメイトのためにdocstringを書こう! pyconjp2019cocodrips
 
レコメンドアルゴリズムの基本と周辺知識と実装方法
レコメンドアルゴリズムの基本と周辺知識と実装方法レコメンドアルゴリズムの基本と周辺知識と実装方法
レコメンドアルゴリズムの基本と周辺知識と実装方法Takeshi Mikami
 
高速な倍精度指数関数expの実装
高速な倍精度指数関数expの実装高速な倍精度指数関数expの実装
高速な倍精度指数関数expの実装MITSUNARI Shigeo
 
CUDAのアセンブリ言語基礎のまとめ PTXとSASSの概説
CUDAのアセンブリ言語基礎のまとめ PTXとSASSの概説CUDAのアセンブリ言語基礎のまとめ PTXとSASSの概説
CUDAのアセンブリ言語基礎のまとめ PTXとSASSの概説Takateru Yamagishi
 
constexpr関数はコンパイル時処理。これはいい。実行時が霞んで見える。cpuの嬌声が聞こえてきそうだ
constexpr関数はコンパイル時処理。これはいい。実行時が霞んで見える。cpuの嬌声が聞こえてきそうだconstexpr関数はコンパイル時処理。これはいい。実行時が霞んで見える。cpuの嬌声が聞こえてきそうだ
constexpr関数はコンパイル時処理。これはいい。実行時が霞んで見える。cpuの嬌声が聞こえてきそうだGenya Murakami
 

What's hot (20)

AutoGluonではじめるAutoML
AutoGluonではじめるAutoMLAutoGluonではじめるAutoML
AutoGluonではじめるAutoML
 
型安全性入門
型安全性入門型安全性入門
型安全性入門
 
中3女子でもわかる constexpr
中3女子でもわかる constexpr中3女子でもわかる constexpr
中3女子でもわかる constexpr
 
目grep入門 +解説
目grep入門 +解説目grep入門 +解説
目grep入門 +解説
 
こわくない Git
こわくない Gitこわくない Git
こわくない Git
 
いつやるの?Git入門 v1.1.0
いつやるの?Git入門 v1.1.0いつやるの?Git入門 v1.1.0
いつやるの?Git入門 v1.1.0
 
CV分野におけるサーベイ方法
CV分野におけるサーベイ方法CV分野におけるサーベイ方法
CV分野におけるサーベイ方法
 
YoctoをつかったDistroの作り方とハマり方
YoctoをつかったDistroの作り方とハマり方YoctoをつかったDistroの作り方とハマり方
YoctoをつかったDistroの作り方とハマり方
 
オブジェクト指向できていますか?
オブジェクト指向できていますか?オブジェクト指向できていますか?
オブジェクト指向できていますか?
 
CEDEC 2018 最速のC#の書き方 - C#大統一理論へ向けて性能的課題を払拭する
CEDEC 2018 最速のC#の書き方 - C#大統一理論へ向けて性能的課題を払拭するCEDEC 2018 最速のC#の書き方 - C#大統一理論へ向けて性能的課題を払拭する
CEDEC 2018 最速のC#の書き方 - C#大統一理論へ向けて性能的課題を払拭する
 
ARM CPUにおけるSIMDを用いた高速計算入門
ARM CPUにおけるSIMDを用いた高速計算入門ARM CPUにおけるSIMDを用いた高速計算入門
ARM CPUにおけるSIMDを用いた高速計算入門
 
Polyphony: Python ではじめる FPGA
Polyphony: Python ではじめる FPGAPolyphony: Python ではじめる FPGA
Polyphony: Python ではじめる FPGA
 
何となく勉強した気分になれるパーサ入門
何となく勉強した気分になれるパーサ入門何となく勉強した気分になれるパーサ入門
何となく勉強した気分になれるパーサ入門
 
ドキュメントを作りたくなってしまう魔法のツール「Sphinx」
ドキュメントを作りたくなってしまう魔法のツール「Sphinx」ドキュメントを作りたくなってしまう魔法のツール「Sphinx」
ドキュメントを作りたくなってしまう魔法のツール「Sphinx」
 
Marp Tutorial
Marp TutorialMarp Tutorial
Marp Tutorial
 
チームメイトのためにdocstringを書こう! pyconjp2019
チームメイトのためにdocstringを書こう! pyconjp2019チームメイトのためにdocstringを書こう! pyconjp2019
チームメイトのためにdocstringを書こう! pyconjp2019
 
レコメンドアルゴリズムの基本と周辺知識と実装方法
レコメンドアルゴリズムの基本と周辺知識と実装方法レコメンドアルゴリズムの基本と周辺知識と実装方法
レコメンドアルゴリズムの基本と周辺知識と実装方法
 
高速な倍精度指数関数expの実装
高速な倍精度指数関数expの実装高速な倍精度指数関数expの実装
高速な倍精度指数関数expの実装
 
CUDAのアセンブリ言語基礎のまとめ PTXとSASSの概説
CUDAのアセンブリ言語基礎のまとめ PTXとSASSの概説CUDAのアセンブリ言語基礎のまとめ PTXとSASSの概説
CUDAのアセンブリ言語基礎のまとめ PTXとSASSの概説
 
constexpr関数はコンパイル時処理。これはいい。実行時が霞んで見える。cpuの嬌声が聞こえてきそうだ
constexpr関数はコンパイル時処理。これはいい。実行時が霞んで見える。cpuの嬌声が聞こえてきそうだconstexpr関数はコンパイル時処理。これはいい。実行時が霞んで見える。cpuの嬌声が聞こえてきそうだ
constexpr関数はコンパイル時処理。これはいい。実行時が霞んで見える。cpuの嬌声が聞こえてきそうだ
 

More from Masahiko Hashimoto

DNNを使用した新しいかな漢字変換『EgoisticLily』 その仕組みとは?
DNNを使用した新しいかな漢字変換『EgoisticLily』 その仕組みとは?DNNを使用した新しいかな漢字変換『EgoisticLily』 その仕組みとは?
DNNを使用した新しいかな漢字変換『EgoisticLily』 その仕組みとは?Masahiko Hashimoto
 
Dockerいろいろ使って思うこと
Dockerいろいろ使って思うことDockerいろいろ使って思うこと
Dockerいろいろ使って思うことMasahiko Hashimoto
 
かな漢字変換ソフト「Genji」をつくってみた
かな漢字変換ソフト「Genji」をつくってみたかな漢字変換ソフト「Genji」をつくってみた
かな漢字変換ソフト「Genji」をつくってみたMasahiko Hashimoto
 
あひるに焼かれた話と今後のおーぷん万葉について
あひるに焼かれた話と今後のおーぷん万葉についてあひるに焼かれた話と今後のおーぷん万葉について
あひるに焼かれた話と今後のおーぷん万葉についてMasahiko Hashimoto
 
ホットな日本語入力技術のお勉強。〜 OSC 2016 Hamanako 編 〜
ホットな日本語入力技術のお勉強。〜 OSC 2016 Hamanako 編 〜ホットな日本語入力技術のお勉強。〜 OSC 2016 Hamanako 編 〜
ホットな日本語入力技術のお勉強。〜 OSC 2016 Hamanako 編 〜Masahiko Hashimoto
 
おーぷん万葉プロジェクトとは
おーぷん万葉プロジェクトとはおーぷん万葉プロジェクトとは
おーぷん万葉プロジェクトとはMasahiko Hashimoto
 
C++アプリをCmakeとEclipseで開発するお話
C++アプリをCmakeとEclipseで開発するお話C++アプリをCmakeとEclipseで開発するお話
C++アプリをCmakeとEclipseで開発するお話Masahiko Hashimoto
 
おーぷん万葉プロジェクトの進捗とIzumoのその後
おーぷん万葉プロジェクトの進捗とIzumoのその後おーぷん万葉プロジェクトの進捗とIzumoのその後
おーぷん万葉プロジェクトの進捗とIzumoのその後Masahiko Hashimoto
 
ホットな日本語技術の(ちょっとした)お勉強。
ホットな日本語技術の(ちょっとした)お勉強。ホットな日本語技術の(ちょっとした)お勉強。
ホットな日本語技術の(ちょっとした)お勉強。Masahiko Hashimoto
 
京都発祥日本語入力「FreeWnn」は(今度こそ)どこまで賢くなれるか?
京都発祥日本語入力「FreeWnn」は(今度こそ)どこまで賢くなれるか?京都発祥日本語入力「FreeWnn」は(今度こそ)どこまで賢くなれるか?
京都発祥日本語入力「FreeWnn」は(今度こそ)どこまで賢くなれるか?Masahiko Hashimoto
 
C言語なWebSocketの遊び方。
C言語なWebSocketの遊び方。C言語なWebSocketの遊び方。
C言語なWebSocketの遊び方。Masahiko Hashimoto
 
アヒルヤキを変換してみよう
アヒルヤキを変換してみようアヒルヤキを変換してみよう
アヒルヤキを変換してみようMasahiko Hashimoto
 
Nginxで日本語入力を遊んでみよう!
Nginxで日本語入力を遊んでみよう!Nginxで日本語入力を遊んでみよう!
Nginxで日本語入力を遊んでみよう!Masahiko Hashimoto
 
続・Cannaをフォークしてみた
続・Cannaをフォークしてみた続・Cannaをフォークしてみた
続・CannaをフォークしてみたMasahiko Hashimoto
 
Cannaをフォークしてみた
CannaをフォークしてみたCannaをフォークしてみた
CannaをフォークしてみたMasahiko Hashimoto
 
秘伝:クラウドに開発環境をえいっ!と構築する方法
秘伝:クラウドに開発環境をえいっ!と構築する方法秘伝:クラウドに開発環境をえいっ!と構築する方法
秘伝:クラウドに開発環境をえいっ!と構築する方法Masahiko Hashimoto
 
AzureとSUSE Studioのあつ~い関係
AzureとSUSE Studioのあつ~い関係AzureとSUSE Studioのあつ~い関係
AzureとSUSE Studioのあつ~い関係Masahiko Hashimoto
 

More from Masahiko Hashimoto (20)

DNNを使用した新しいかな漢字変換『EgoisticLily』 その仕組みとは?
DNNを使用した新しいかな漢字変換『EgoisticLily』 その仕組みとは?DNNを使用した新しいかな漢字変換『EgoisticLily』 その仕組みとは?
DNNを使用した新しいかな漢字変換『EgoisticLily』 その仕組みとは?
 
Dockerいろいろ使って思うこと
Dockerいろいろ使って思うことDockerいろいろ使って思うこと
Dockerいろいろ使って思うこと
 
BrowserMob-Proxyのお話
BrowserMob-Proxyのお話BrowserMob-Proxyのお話
BrowserMob-Proxyのお話
 
DeepLearning入門以前
DeepLearning入門以前DeepLearning入門以前
DeepLearning入門以前
 
かな漢字変換ソフト「Genji」をつくってみた
かな漢字変換ソフト「Genji」をつくってみたかな漢字変換ソフト「Genji」をつくってみた
かな漢字変換ソフト「Genji」をつくってみた
 
あひるに焼かれた話と今後のおーぷん万葉について
あひるに焼かれた話と今後のおーぷん万葉についてあひるに焼かれた話と今後のおーぷん万葉について
あひるに焼かれた話と今後のおーぷん万葉について
 
ホットな日本語入力技術のお勉強。〜 OSC 2016 Hamanako 編 〜
ホットな日本語入力技術のお勉強。〜 OSC 2016 Hamanako 編 〜ホットな日本語入力技術のお勉強。〜 OSC 2016 Hamanako 編 〜
ホットな日本語入力技術のお勉強。〜 OSC 2016 Hamanako 編 〜
 
おーぷん万葉プロジェクトとは
おーぷん万葉プロジェクトとはおーぷん万葉プロジェクトとは
おーぷん万葉プロジェクトとは
 
C++アプリをCmakeとEclipseで開発するお話
C++アプリをCmakeとEclipseで開発するお話C++アプリをCmakeとEclipseで開発するお話
C++アプリをCmakeとEclipseで開発するお話
 
おーぷん万葉プロジェクトの進捗とIzumoのその後
おーぷん万葉プロジェクトの進捗とIzumoのその後おーぷん万葉プロジェクトの進捗とIzumoのその後
おーぷん万葉プロジェクトの進捗とIzumoのその後
 
ホットな日本語技術の(ちょっとした)お勉強。
ホットな日本語技術の(ちょっとした)お勉強。ホットな日本語技術の(ちょっとした)お勉強。
ホットな日本語技術の(ちょっとした)お勉強。
 
京都発祥日本語入力「FreeWnn」は(今度こそ)どこまで賢くなれるか?
京都発祥日本語入力「FreeWnn」は(今度こそ)どこまで賢くなれるか?京都発祥日本語入力「FreeWnn」は(今度こそ)どこまで賢くなれるか?
京都発祥日本語入力「FreeWnn」は(今度こそ)どこまで賢くなれるか?
 
TrieとLOUDS??
TrieとLOUDS??TrieとLOUDS??
TrieとLOUDS??
 
C言語なWebSocketの遊び方。
C言語なWebSocketの遊び方。C言語なWebSocketの遊び方。
C言語なWebSocketの遊び方。
 
アヒルヤキを変換してみよう
アヒルヤキを変換してみようアヒルヤキを変換してみよう
アヒルヤキを変換してみよう
 
Nginxで日本語入力を遊んでみよう!
Nginxで日本語入力を遊んでみよう!Nginxで日本語入力を遊んでみよう!
Nginxで日本語入力を遊んでみよう!
 
続・Cannaをフォークしてみた
続・Cannaをフォークしてみた続・Cannaをフォークしてみた
続・Cannaをフォークしてみた
 
Cannaをフォークしてみた
CannaをフォークしてみたCannaをフォークしてみた
Cannaをフォークしてみた
 
秘伝:クラウドに開発環境をえいっ!と構築する方法
秘伝:クラウドに開発環境をえいっ!と構築する方法秘伝:クラウドに開発環境をえいっ!と構築する方法
秘伝:クラウドに開発環境をえいっ!と構築する方法
 
AzureとSUSE Studioのあつ~い関係
AzureとSUSE Studioのあつ~い関係AzureとSUSE Studioのあつ~い関係
AzureとSUSE Studioのあつ~い関係
 

Recently uploaded

2024 01 Virtual_Counselor
2024 01 Virtual_Counselor 2024 01 Virtual_Counselor
2024 01 Virtual_Counselor arts yokohama
 
2024 02 Nihon-Tanken ~Towards a More Inclusive Japan~
2024 02 Nihon-Tanken ~Towards a More Inclusive Japan~2024 02 Nihon-Tanken ~Towards a More Inclusive Japan~
2024 02 Nihon-Tanken ~Towards a More Inclusive Japan~arts yokohama
 
IFIP IP3での資格制度を対象とする国際認定(IPSJ86全国大会シンポジウム)
IFIP IP3での資格制度を対象とする国際認定(IPSJ86全国大会シンポジウム)IFIP IP3での資格制度を対象とする国際認定(IPSJ86全国大会シンポジウム)
IFIP IP3での資格制度を対象とする国際認定(IPSJ86全国大会シンポジウム)ssuser539845
 
20240326_IoTLT_vol109_kitazaki_v1___.pdf
20240326_IoTLT_vol109_kitazaki_v1___.pdf20240326_IoTLT_vol109_kitazaki_v1___.pdf
20240326_IoTLT_vol109_kitazaki_v1___.pdfAyachika Kitazaki
 
TaketoFujikawa_台本中の動作表現に基づくアニメーション原画システムの提案_SIGEC71.pdf
TaketoFujikawa_台本中の動作表現に基づくアニメーション原画システムの提案_SIGEC71.pdfTaketoFujikawa_台本中の動作表現に基づくアニメーション原画システムの提案_SIGEC71.pdf
TaketoFujikawa_台本中の動作表現に基づくアニメーション原画システムの提案_SIGEC71.pdfMatsushita Laboratory
 
「今からでも間に合う」GPTsによる 活用LT会 - 人とAIが協調するHumani-in-the-Loopへ
「今からでも間に合う」GPTsによる 活用LT会 - 人とAIが協調するHumani-in-the-Loopへ「今からでも間に合う」GPTsによる 活用LT会 - 人とAIが協調するHumani-in-the-Loopへ
「今からでも間に合う」GPTsによる 活用LT会 - 人とAIが協調するHumani-in-the-LoopへTetsuya Nihonmatsu
 
ARスタートアップOnePlanetの Apple Vision Proへの情熱と挑戦
ARスタートアップOnePlanetの Apple Vision Proへの情熱と挑戦ARスタートアップOnePlanetの Apple Vision Proへの情熱と挑戦
ARスタートアップOnePlanetの Apple Vision Proへの情熱と挑戦Sadao Tokuyama
 
持続可能なDrupal Meetupのコツ - Drupal Meetup Tokyoの知見
持続可能なDrupal Meetupのコツ - Drupal Meetup Tokyoの知見持続可能なDrupal Meetupのコツ - Drupal Meetup Tokyoの知見
持続可能なDrupal Meetupのコツ - Drupal Meetup Tokyoの知見Shumpei Kishi
 
情報処理学会86回全国大会_Generic OAMをDeep Learning技術によって実現するための課題と解決方法
情報処理学会86回全国大会_Generic OAMをDeep Learning技術によって実現するための課題と解決方法情報処理学会86回全国大会_Generic OAMをDeep Learning技術によって実現するための課題と解決方法
情報処理学会86回全国大会_Generic OAMをDeep Learning技術によって実現するための課題と解決方法ssuser370dd7
 

Recently uploaded (12)

2024 01 Virtual_Counselor
2024 01 Virtual_Counselor 2024 01 Virtual_Counselor
2024 01 Virtual_Counselor
 
2024 02 Nihon-Tanken ~Towards a More Inclusive Japan~
2024 02 Nihon-Tanken ~Towards a More Inclusive Japan~2024 02 Nihon-Tanken ~Towards a More Inclusive Japan~
2024 02 Nihon-Tanken ~Towards a More Inclusive Japan~
 
IFIP IP3での資格制度を対象とする国際認定(IPSJ86全国大会シンポジウム)
IFIP IP3での資格制度を対象とする国際認定(IPSJ86全国大会シンポジウム)IFIP IP3での資格制度を対象とする国際認定(IPSJ86全国大会シンポジウム)
IFIP IP3での資格制度を対象とする国際認定(IPSJ86全国大会シンポジウム)
 
20240326_IoTLT_vol109_kitazaki_v1___.pdf
20240326_IoTLT_vol109_kitazaki_v1___.pdf20240326_IoTLT_vol109_kitazaki_v1___.pdf
20240326_IoTLT_vol109_kitazaki_v1___.pdf
 
TaketoFujikawa_台本中の動作表現に基づくアニメーション原画システムの提案_SIGEC71.pdf
TaketoFujikawa_台本中の動作表現に基づくアニメーション原画システムの提案_SIGEC71.pdfTaketoFujikawa_台本中の動作表現に基づくアニメーション原画システムの提案_SIGEC71.pdf
TaketoFujikawa_台本中の動作表現に基づくアニメーション原画システムの提案_SIGEC71.pdf
 
「今からでも間に合う」GPTsによる 活用LT会 - 人とAIが協調するHumani-in-the-Loopへ
「今からでも間に合う」GPTsによる 活用LT会 - 人とAIが協調するHumani-in-the-Loopへ「今からでも間に合う」GPTsによる 活用LT会 - 人とAIが協調するHumani-in-the-Loopへ
「今からでも間に合う」GPTsによる 活用LT会 - 人とAIが協調するHumani-in-the-Loopへ
 
ARスタートアップOnePlanetの Apple Vision Proへの情熱と挑戦
ARスタートアップOnePlanetの Apple Vision Proへの情熱と挑戦ARスタートアップOnePlanetの Apple Vision Proへの情熱と挑戦
ARスタートアップOnePlanetの Apple Vision Proへの情熱と挑戦
 
2024 03 CTEA
2024 03 CTEA2024 03 CTEA
2024 03 CTEA
 
What is the world where you can make your own semiconductors?
What is the world where you can make your own semiconductors?What is the world where you can make your own semiconductors?
What is the world where you can make your own semiconductors?
 
持続可能なDrupal Meetupのコツ - Drupal Meetup Tokyoの知見
持続可能なDrupal Meetupのコツ - Drupal Meetup Tokyoの知見持続可能なDrupal Meetupのコツ - Drupal Meetup Tokyoの知見
持続可能なDrupal Meetupのコツ - Drupal Meetup Tokyoの知見
 
2024 04 minnanoito
2024 04 minnanoito2024 04 minnanoito
2024 04 minnanoito
 
情報処理学会86回全国大会_Generic OAMをDeep Learning技術によって実現するための課題と解決方法
情報処理学会86回全国大会_Generic OAMをDeep Learning技術によって実現するための課題と解決方法情報処理学会86回全国大会_Generic OAMをDeep Learning技術によって実現するための課題と解決方法
情報処理学会86回全国大会_Generic OAMをDeep Learning技術によって実現するための課題と解決方法
 

自作かな漢字変換「Genji」をつくったよ

  • 2. 2018/5/19New Genji をつくったよ 2/18 自己紹介 Name: はしもとまさ(または鹿) ● 東海道らぐ …の関東案内人 ● おーぷん万葉プロジェクト 主に自然言語処理について調べたりいろいろと ● ちびぎーこ保護者会(別名:日本openSUSEユーザ会) 本日はこちらの活動はお休み・・・ …と思ったら、なぜか今日は薄い本売ってた?(売れた冊数=0冊)
  • 3. 2018/5/19New Genji をつくったよ 3/18 今日は・・・ かな漢字変換を自作したよ〜! というお話 (正確には前からあったのを大改修)
  • 4. 2018/5/19New Genji をつくったよ 4/18 でもかな漢字変換作るのって・・・ 巨大なコーパス(=日本語の文章)の 解析をする必要があるよね! そもそもそんなに使用できるコーパスなんて 持ってるの??? 注)一番大きな日本語コーパスは買うと何十万円だったりしますorz
  • 5. 2018/5/19New Genji をつくったよ 5/18 唐突ですが、最近始めたこと 私事で全然関係ない話ですが、小説書き始めました! ● 「きらめきインターラプト」 @エブリスタ – オープンソースカンファレンス準拠作品!?? – OSC名古屋編を現在連載中・・・「あひる焼き」も登場!? ● 冴えカノの二次小説「冴えないフミオの育てかた」 @カクヨム → かな漢字変換のコーパスの元ネタに   できるじゃないか!!(ぇ
  • 6. 2018/5/19New Genji をつくったよ 6/18 話を戻しまして、、、 自作かな漢字変換「Genji」が 復活しました! 注)そもそもOSC大阪〜OSC東京で展示物がなかったおーぷん万葉…orz
  • 7. 2018/5/19New Genji をつくったよ 7/18 一番大きな変更点 純粋なコスト最小法を採用! ※詳細は次のスライドで
  • 8. 2018/5/19New Genji をつくったよ 8/18 コスト最小法とは? Mozc(Google日本語入力)の場合: 文 頭 私 の 名前 は 中野 注:ちょっと(かなり?)端折って説明します^^;  例)「わたしのなまえはなかのです」を変換する場合 (コストの値はテキトーです!) です 文 末ので す 中 綿 市 花 課 10 30 15 30 15 10 15 40 20 50 ● 単語生起コスト: 単語の出現優先度を表したコスト ● 連接コスト: 単語と単語の結びつきやすさを表したコスト → 全て足して、合計値が最も低いルートが候補になります 15 30 40 45 20 20 20 20 50 20 25 30 40 45 20 20 出現頻度の高い単語は 単語生起コストが低い 「名前」と「花」という単語は 結びつきにくいので連接コストは高い
  • 9. 2018/5/19New Genji をつくったよ 9/18 New Genji (vol.1) のコスト最小法 文節単位(自立語と付属語の組み合わせ)でコストを決定 文 頭 私の 名前 名前は 中野 例)「わたしのなまえはなかのです」を変換する場合 (やはりコストの値はテキトーです!) です 文 末 中野です 私 の 900 1000 1000 1000 750 1000 1000 860 1000 単語コスト = 1000 (MAX)固定 ※文節コストよりも必ず高い は 文節コスト (自立語 + 付属語) は 単語コストよりも低い ● 単語生起コスト: 1000 固定 (いまのところ) ● 文節コスト(自立語+付属語): 0 < x < 1000 ⇛文節単位の単語の組み合わせが優先される
  • 10. 2018/5/19New Genji をつくったよ 10/18 文節とは? 「自立語 + 付属語」です Genjiの元となるコーパスでは文節を下記のように定義しています { "Independent" : { "surface" : "私", "original" : "私", "read" : "わたし", "position" : [ "名詞", "代名詞", "一般", "*" ], "conjugate" : [ "*", "*" ] }, "Ancillary" : { "surface" : "の", "original" : "の", "read" : "の", "position" : [ "助詞", "連体化", "*", "*" ], "conjugate" : [ "*", "*" ] }, } 自立語 と 付属語 が 1 対 1 で定義されてます ※自立語 = 1 のみの場合もあり
  • 11. 2018/5/19New Genji をつくったよ 11/18 自立語 1 : 付属語 1 だとなにが嬉しいか? 例文 「あひる焼き食べたいな」を単語分割 ● Mecab : 「あひる」「焼き」「食べ」「たい」「な」 ⇛ 単語の組み合わせによってはあひる焼けない? ● Genji : 「あひる焼き」「食べたいな」 ⇛ 確実に「あひる焼き」が召し上がれる! 文節単位で辞書に登録されている! 「あひる」(名詞) + 「焼き」(連体詞)
  • 12. 2018/5/19New Genji をつくったよ 12/18 今後の「Genji」開発予定 ● 「係り受けコスト」の追加 文節同士のつながり=文脈を考慮にいれる → OSC京都(2018/7)にて公開!? ● 辞書の洗練化 文節単位ではなく、単語単位の辞書を作成したい 例)「あひる焼き」「あひる焼きが」→「あひる焼き」ひとつにする 課題)単語単位の辞書だけでいかにありうる文節を作るか?
  • 13. 2018/5/19New Genji をつくったよ 13/18 実演! (時間あるかな?)
  • 14. 2018/5/19New Genji をつくったよ 14/18 おーぷん万葉とは? かな漢字変換も含めて、自然言語処理のアプリを 作成するには巨大なコーパスが必要! → 買おうとすると ?0万円!?? → オープンデータを使えば解決できるのでは? オープンデータ: 青空文庫、Wikipedia etc...
  • 15. 2018/5/19New Genji をつくったよ 15/18 New Genji とその周囲 コーパス登録 「Kasuga」 辞書集計→CSV化 「GenjiDicBuilder」 「Genji」 辞書バイナリ作成 「Fujitsubo」 ローマ字→かな 「Aoi」 かな→かな漢字 「Murasaki」 MongoDB 辞書 CSV
  • 16. 2018/5/19New Genji をつくったよ 16/18 おーぷん万葉の守備範囲 コーパス登録 「Kasuga」 辞書集計→CSV化 「GenjiDicBuilder」 「Genji」 辞書バイナリ作成 「Fujitsubo」 ローマ字→かな 「Aoi」 かな→かな漢字 「Murasaki」 MongoDB 辞書 CSV ここ。オープンデータでどんどん活用したい!
  • 17. 2018/5/19New Genji をつくったよ 17/18 Genji & Kasuga 公開場所 ● コーパス作成ツール「Kasuga」 https://github.com/hashimom/Kasuga ● かな漢字変換「Genji」 https://github.com/hashimom/Genji ● Genji用辞書構築ツール「GenjiDicBuilder」 https://github.com/hashimom/GenjiDicBuilder
  • 18. 2018/5/19New Genji をつくったよ 18/18 ご清聴ありがとうございましたm(_ _)m あ、OSC小説「きらめきインターラプト」もよろしくどーぞです ※「きらめきインターラプト」で検索