From d98f4566bc856e04f2f6a7d9a7bf49e30867551e Mon Sep 17 00:00:00 2001 From: Alex Yatskov Date: Sat, 17 Dec 2016 18:45:19 -0800 Subject: WIP --- ext/bg/data/deinflect.json | 2807 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 2807 insertions(+) create mode 100644 ext/bg/data/deinflect.json (limited to 'ext/bg/data/deinflect.json') diff --git a/ext/bg/data/deinflect.json b/ext/bg/data/deinflect.json new file mode 100644 index 00000000..3fd45771 --- /dev/null +++ b/ext/bg/data/deinflect.json @@ -0,0 +1,2807 @@ +{ + "-ba": [ + { + "kanaIn": "えば", + "kanaOut": "う", + "tagsIn": [], + "tagsOut": [ + "v5" + ] + }, + { + "kanaIn": "けば", + "kanaOut": "く", + "tagsIn": [], + "tagsOut": [ + "v5" + ] + }, + { + "kanaIn": "げば", + "kanaOut": "ぐ", + "tagsIn": [], + "tagsOut": [ + "v5" + ] + }, + { + "kanaIn": "せば", + "kanaOut": "す", + "tagsIn": [], + "tagsOut": [ + "v5" + ] + }, + { + "kanaIn": "てば", + "kanaOut": "つ", + "tagsIn": [], + "tagsOut": [ + "v5" + ] + }, + { + "kanaIn": "ねば", + "kanaOut": "ぬ", + "tagsIn": [], + "tagsOut": [ + "v5" + ] + }, + { + "kanaIn": "べば", + "kanaOut": "ぶ", + "tagsIn": [], + "tagsOut": [ + "v5" + ] + }, + { + "kanaIn": "めば", + "kanaOut": "む", + "tagsIn": [], + "tagsOut": [ + "v5" + ] + }, + { + "kanaIn": "れば", + "kanaOut": "る", + "tagsIn": [], + "tagsOut": [ + "v1", + "v5", + "vk", + "vs" + ] + }, + { + "kanaIn": "ければ", + "kanaOut": "い", + "tagsIn": [], + "tagsOut": [ + "adj-i" + ] + } + ], + "-chau": [ + { + "kanaIn": "ちゃう", + "kanaOut": "る", + "tagsIn": [ + "v5" + ], + "tagsOut": [ + "v1", + "vk" + ] + }, + { + "kanaIn": "いじゃう", + "kanaOut": "ぐ", + "tagsIn": [ + "v5" + ], + "tagsOut": [ + "v5" + ] + }, + { + "kanaIn": "いちゃう", + "kanaOut": "く", + "tagsIn": [ + "v5" + ], + "tagsOut": [ + "v5" + ] + }, + { + "kanaIn": "きちゃう", + "kanaOut": "くる", + "tagsIn": [ + "v5" + ], + "tagsOut": [ + "vk" + ] + }, + { + "kanaIn": "しちゃう", + "kanaOut": "す", + "tagsIn": [ + "v5" + ], + "tagsOut": [ + "v5" + ] + }, + { + "kanaIn": "しちゃう", + "kanaOut": "する", + "tagsIn": [ + "v5" + ], + "tagsOut": [ + "vs" + ] + }, + { + "kanaIn": "っちゃう", + "kanaOut": "う", + "tagsIn": [ + "v5" + ], + "tagsOut": [ + "v5" + ] + }, + { + "kanaIn": "っちゃう", + "kanaOut": "く", + "tagsIn": [ + "v5" + ], + "tagsOut": [ + "v5" + ] + }, + { + "kanaIn": "っちゃう", + "kanaOut": "つ", + "tagsIn": [ + "v5" + ], + "tagsOut": [ + "v5" + ] + }, + { + "kanaIn": "っちゃう", + "kanaOut": "る", + "tagsIn": [ + "v5" + ], + "tagsOut": [ + "v5" + ] + }, + { + "kanaIn": "んじゃう", + "kanaOut": "ぬ", + "tagsIn": [ + "v5" + ], + "tagsOut": [ + "v5" + ] + }, + { + "kanaIn": "んじゃう", + "kanaOut": "ぶ", + "tagsIn": [ + "v5" + ], + "tagsOut": [ + "v5" + ] + }, + { + "kanaIn": "んじゃう", + "kanaOut": "む", + "tagsIn": [ + "v5" + ], + "tagsOut": [ + "v5" + ] + } + ], + "-nasai": [ + { + "kanaIn": "なさい", + "kanaOut": "る", + "tagsIn": [], + "tagsOut": [ + "v1", + "vk" + ] + }, + { + "kanaIn": "いなさい", + "kanaOut": "う", + "tagsIn": [], + "tagsOut": [ + "v5" + ] + }, + { + "kanaIn": "きなさい", + "kanaOut": "く", + "tagsIn": [], + "tagsOut": [ + "v5" + ] + }, + { + "kanaIn": "きなさい", + "kanaOut": "くる", + "tagsIn": [], + "tagsOut": [ + "vk" + ] + }, + { + "kanaIn": "ぎなさい", + "kanaOut": "ぐ", + "tagsIn": [], + "tagsOut": [ + "v5" + ] + }, + { + "kanaIn": "しなさい", + "kanaOut": "す", + "tagsIn": [], + "tagsOut": [ + "v5" + ] + }, + { + "kanaIn": "しなさい", + "kanaOut": "する", + "tagsIn": [], + "tagsOut": [ + "vs" + ] + }, + { + "kanaIn": "ちなさい", + "kanaOut": "つ", + "tagsIn": [], + "tagsOut": [ + "v5" + ] + }, + { + "kanaIn": "になさい", + "kanaOut": "ぬ", + "tagsIn": [], + "tagsOut": [ + "v5" + ] + }, + { + "kanaIn": "びなさい", + "kanaOut": "ぶ", + "tagsIn": [], + "tagsOut": [ + "v5" + ] + }, + { + "kanaIn": "みなさい", + "kanaOut": "む", + "tagsIn": [], + "tagsOut": [ + "v5" + ] + }, + { + "kanaIn": "りなさい", + "kanaOut": "る", + "tagsIn": [], + "tagsOut": [ + "v5" + ] + } + ], + "-sou": [ + { + "kanaIn": "そう", + "kanaOut": "い", + "tagsIn": [], + "tagsOut": [ + "adj-i" + ] + }, + { + "kanaIn": "そう", + "kanaOut": "る", + "tagsIn": [], + "tagsOut": [ + "v1", + "vk" + ] + }, + { + "kanaIn": "いそう", + "kanaOut": "う", + "tagsIn": [], + "tagsOut": [ + "v5" + ] + }, + { + "kanaIn": "きそう", + "kanaOut": "く", + "tagsIn": [], + "tagsOut": [ + "v5" + ] + }, + { + "kanaIn": "きそう", + "kanaOut": "くる", + "tagsIn": [], + "tagsOut": [ + "vk" + ] + }, + { + "kanaIn": "ぎそう", + "kanaOut": "ぐ", + "tagsIn": [], + "tagsOut": [ + "v5" + ] + }, + { + "kanaIn": "しそう", + "kanaOut": "す", + "tagsIn": [], + "tagsOut": [ + "v5" + ] + }, + { + "kanaIn": "しそう", + "kanaOut": "する", + "tagsIn": [], + "tagsOut": [ + "vs" + ] + }, + { + "kanaIn": "ちそう", + "kanaOut": "つ", + "tagsIn": [], + "tagsOut": [ + "v5" + ] + }, + { + "kanaIn": "にそう", + "kanaOut": "ぬ", + "tagsIn": [], + "tagsOut": [ + "v5" + ] + }, + { + "kanaIn": "びそう", + "kanaOut": "ぶ", + "tagsIn": [], + "tagsOut": [ + "v5" + ] + }, + { + "kanaIn": "みそう", + "kanaOut": "む", + "tagsIn": [], + "tagsOut": [ + "v5" + ] + }, + { + "kanaIn": "りそう", + "kanaOut": "る", + "tagsIn": [], + "tagsOut": [ + "v5" + ] + } + ], + "-sugiru": [ + { + "kanaIn": "すぎる", + "kanaOut": "い", + "tagsIn": [ + "v1" + ], + "tagsOut": [ + "adj-i" + ] + }, + { + "kanaIn": "すぎる", + "kanaOut": "る", + "tagsIn": [ + "v1" + ], + "tagsOut": [ + "v1", + "vk" + ] + }, + { + "kanaIn": "いすぎる", + "kanaOut": "う", + "tagsIn": [ + "v1" + ], + "tagsOut": [ + "v5" + ] + }, + { + "kanaIn": "きすぎる", + "kanaOut": "く", + "tagsIn": [ + "v1" + ], + "tagsOut": [ + "v5" + ] + }, + { + "kanaIn": "きすぎる", + "kanaOut": "くる", + "tagsIn": [ + "v1" + ], + "tagsOut": [ + "vk" + ] + }, + { + "kanaIn": "ぎすぎる", + "kanaOut": "ぐ", + "tagsIn": [ + "v1" + ], + "tagsOut": [ + "v5" + ] + }, + { + "kanaIn": "しすぎる", + "kanaOut": "す", + "tagsIn": [ + "v1" + ], + "tagsOut": [ + "v5" + ] + }, + { + "kanaIn": "しすぎる", + "kanaOut": "する", + "tagsIn": [ + "v1" + ], + "tagsOut": [ + "vs" + ] + }, + { + "kanaIn": "ちすぎる", + "kanaOut": "つ", + "tagsIn": [ + "v1" + ], + "tagsOut": [ + "v5" + ] + }, + { + "kanaIn": "にすぎる", + "kanaOut": "ぬ", + "tagsIn": [ + "v1" + ], + "tagsOut": [ + "v5" + ] + }, + { + "kanaIn": "びすぎる", + "kanaOut": "ぶ", + "tagsIn": [ + "v1" + ], + "tagsOut": [ + "v5" + ] + }, + { + "kanaIn": "みすぎる", + "kanaOut": "む", + "tagsIn": [ + "v1" + ], + "tagsOut": [ + "v5" + ] + }, + { + "kanaIn": "りすぎる", + "kanaOut": "る", + "tagsIn": [ + "v1" + ], + "tagsOut": [ + "v5" + ] + } + ], + "-tai": [ + { + "kanaIn": "たい", + "kanaOut": "る", + "tagsIn": [ + "adj-i" + ], + "tagsOut": [ + "v1", + "vk" + ] + }, + { + "kanaIn": "いたい", + "kanaOut": "う", + "tagsIn": [ + "adj-i" + ], + "tagsOut": [ + "v5" + ] + }, + { + "kanaIn": "きたい", + "kanaOut": "く", + "tagsIn": [ + "adj-i" + ], + "tagsOut": [ + "v5" + ] + }, + { + "kanaIn": "きたい", + "kanaOut": "くる", + "tagsIn": [ + "adj-i" + ], + "tagsOut": [ + "vk" + ] + }, + { + "kanaIn": "ぎたい", + "kanaOut": "ぐ", + "tagsIn": [ + "adj-i" + ], + "tagsOut": [ + "v5" + ] + }, + { + "kanaIn": "したい", + "kanaOut": "す", + "tagsIn": [ + "adj-i" + ], + "tagsOut": [ + "v5" + ] + }, + { + "kanaIn": "したい", + "kanaOut": "する", + "tagsIn": [ + "adj-i" + ], + "tagsOut": [ + "vs" + ] + }, + { + "kanaIn": "ちたい", + "kanaOut": "つ", + "tagsIn": [ + "adj-i" + ], + "tagsOut": [ + "v5" + ] + }, + { + "kanaIn": "にたい", + "kanaOut": "ぬ", + "tagsIn": [ + "adj-i" + ], + "tagsOut": [ + "v5" + ] + }, + { + "kanaIn": "びたい", + "kanaOut": "ぶ", + "tagsIn": [ + "adj-i" + ], + "tagsOut": [ + "v5" + ] + }, + { + "kanaIn": "みたい", + "kanaOut": "む", + "tagsIn": [ + "adj-i" + ], + "tagsOut": [ + "v5" + ] + }, + { + "kanaIn": "りたい", + "kanaOut": "る", + "tagsIn": [ + "adj-i" + ], + "tagsOut": [ + "v5" + ] + } + ], + "-tara": [ + { + "kanaIn": "たら", + "kanaOut": "る", + "tagsIn": [], + "tagsOut": [ + "v1", + "vk" + ] + }, + { + "kanaIn": "いたら", + "kanaOut": "く", + "tagsIn": [], + "tagsOut": [ + "v5" + ] + }, + { + "kanaIn": "いだら", + "kanaOut": "ぐ", + "tagsIn": [], + "tagsOut": [ + "v5" + ] + }, + { + "kanaIn": "きたら", + "kanaOut": "くる", + "tagsIn": [], + "tagsOut": [ + "vk" + ] + }, + { + "kanaIn": "したら", + "kanaOut": "す", + "tagsIn": [], + "tagsOut": [ + "v5" + ] + }, + { + "kanaIn": "したら", + "kanaOut": "する", + "tagsIn": [], + "tagsOut": [ + "vs" + ] + }, + { + "kanaIn": "ったら", + "kanaOut": "う", + "tagsIn": [], + "tagsOut": [ + "v5" + ] + }, + { + "kanaIn": "ったら", + "kanaOut": "つ", + "tagsIn": [], + "tagsOut": [ + "v5" + ] + }, + { + "kanaIn": "ったら", + "kanaOut": "る", + "tagsIn": [], + "tagsOut": [ + "v5" + ] + }, + { + "kanaIn": "んだら", + "kanaOut": "ぬ", + "tagsIn": [], + "tagsOut": [ + "v5" + ] + }, + { + "kanaIn": "んだら", + "kanaOut": "ぶ", + "tagsIn": [], + "tagsOut": [ + "v5" + ] + }, + { + "kanaIn": "んだら", + "kanaOut": "む", + "tagsIn": [], + "tagsOut": [ + "v5" + ] + }, + { + "kanaIn": "かったら", + "kanaOut": "い", + "tagsIn": [], + "tagsOut": [ + "adj-i" + ] + } + ], + "-tari": [ + { + "kanaIn": "たり", + "kanaOut": "る", + "tagsIn": [], + "tagsOut": [ + "v1", + "vk" + ] + }, + { + "kanaIn": "いたり", + "kanaOut": "く", + "tagsIn": [], + "tagsOut": [ + "v5" + ] + }, + { + "kanaIn": "いだり", + "kanaOut": "ぐ", + "tagsIn": [], + "tagsOut": [ + "v5" + ] + }, + { + "kanaIn": "きたり", + "kanaOut": "くる", + "tagsIn": [], + "tagsOut": [ + "vk" + ] + }, + { + "kanaIn": "したり", + "kanaOut": "す", + "tagsIn": [], + "tagsOut": [ + "v5" + ] + }, + { + "kanaIn": "したり", + "kanaOut": "する", + "tagsIn": [], + "tagsOut": [ + "vs" + ] + }, + { + "kanaIn": "ったり", + "kanaOut": "う", + "tagsIn": [], + "tagsOut": [ + "v5" + ] + }, + { + "kanaIn": "ったり", + "kanaOut": "つ", + "tagsIn": [], + "tagsOut": [ + "v5" + ] + }, + { + "kanaIn": "ったり", + "kanaOut": "る", + "tagsIn": [], + "tagsOut": [ + "v5" + ] + }, + { + "kanaIn": "んだり", + "kanaOut": "ぬ", + "tagsIn": [], + "tagsOut": [ + "v5" + ] + }, + { + "kanaIn": "んだり", + "kanaOut": "ぶ", + "tagsIn": [], + "tagsOut": [ + "v5" + ] + }, + { + "kanaIn": "んだり", + "kanaOut": "む", + "tagsIn": [], + "tagsOut": [ + "v5" + ] + }, + { + "kanaIn": "かったり", + "kanaOut": "い", + "tagsIn": [], + "tagsOut": [ + "adj-i" + ] + } + ], + "-te": [ + { + "kanaIn": "て", + "kanaOut": "る", + "tagsIn": [], + "tagsOut": [ + "v1", + "vk" + ] + }, + { + "kanaIn": "いて", + "kanaOut": "く", + "tagsIn": [], + "tagsOut": [ + "v5" + ] + }, + { + "kanaIn": "いで", + "kanaOut": "ぐ", + "tagsIn": [], + "tagsOut": [ + "v5" + ] + }, + { + "kanaIn": "きて", + "kanaOut": "くる", + "tagsIn": [], + "tagsOut": [ + "vk" + ] + }, + { + "kanaIn": "くて", + "kanaOut": "い", + "tagsIn": [], + "tagsOut": [ + "adj-i" + ] + }, + { + "kanaIn": "して", + "kanaOut": "す", + "tagsIn": [], + "tagsOut": [ + "v5" + ] + }, + { + "kanaIn": "して", + "kanaOut": "する", + "tagsIn": [], + "tagsOut": [ + "vs" + ] + }, + { + "kanaIn": "って", + "kanaOut": "う", + "tagsIn": [], + "tagsOut": [ + "v5" + ] + }, + { + "kanaIn": "って", + "kanaOut": "く", + "tagsIn": [], + "tagsOut": [ + "v5" + ] + }, + { + "kanaIn": "って", + "kanaOut": "つ", + "tagsIn": [], + "tagsOut": [ + "v5" + ] + }, + { + "kanaIn": "って", + "kanaOut": "る", + "tagsIn": [], + "tagsOut": [ + "v5" + ] + }, + { + "kanaIn": "んで", + "kanaOut": "ぬ", + "tagsIn": [], + "tagsOut": [ + "v5" + ] + }, + { + "kanaIn": "んで", + "kanaOut": "ぶ", + "tagsIn": [], + "tagsOut": [ + "v5" + ] + }, + { + "kanaIn": "んで", + "kanaOut": "む", + "tagsIn": [], + "tagsOut": [ + "v5" + ] + } + ], + "-zu": [ + { + "kanaIn": "ず", + "kanaOut": "る", + "tagsIn": [], + "tagsOut": [ + "v1", + "vk" + ] + }, + { + "kanaIn": "かず", + "kanaOut": "く", + "tagsIn": [], + "tagsOut": [ + "v5" + ] + }, + { + "kanaIn": "がず", + "kanaOut": "ぐ", + "tagsIn": [], + "tagsOut": [ + "v5" + ] + }, + { + "kanaIn": "こず", + "kanaOut": "くる", + "tagsIn": [], + "tagsOut": [ + "vk" + ] + }, + { + "kanaIn": "さず", + "kanaOut": "す", + "tagsIn": [], + "tagsOut": [ + "v5" + ] + }, + { + "kanaIn": "せず", + "kanaOut": "する", + "tagsIn": [], + "tagsOut": [ + "vs" + ] + }, + { + "kanaIn": "たず", + "kanaOut": "つ", + "tagsIn": [], + "tagsOut": [ + "v5" + ] + }, + { + "kanaIn": "なず", + "kanaOut": "ぬ", + "tagsIn": [], + "tagsOut": [ + "v5" + ] + }, + { + "kanaIn": "ばず", + "kanaOut": "ぶ", + "tagsIn": [], + "tagsOut": [ + "v5" + ] + }, + { + "kanaIn": "まず", + "kanaOut": "む", + "tagsIn": [], + "tagsOut": [ + "v5" + ] + }, + { + "kanaIn": "らず", + "kanaOut": "る", + "tagsIn": [], + "tagsOut": [ + "v5" + ] + }, + { + "kanaIn": "わず", + "kanaOut": "う", + "tagsIn": [], + "tagsOut": [ + "v5" + ] + } + ], + "-nu": [ + { + "kanaIn": "ぬ", + "kanaOut": "る", + "tagsIn": [], + "tagsOut": [ + "v1", + "vk" + ] + }, + { + "kanaIn": "かぬ", + "kanaOut": "く", + "tagsIn": [], + "tagsOut": [ + "v5" + ] + }, + { + "kanaIn": "がぬ", + "kanaOut": "ぐ", + "tagsIn": [], + "tagsOut": [ + "v5" + ] + }, + { + "kanaIn": "こぬ", + "kanaOut": "くる", + "tagsIn": [], + "tagsOut": [ + "vk" + ] + }, + { + "kanaIn": "さぬ", + "kanaOut": "す", + "tagsIn": [], + "tagsOut": [ + "v5" + ] + }, + { + "kanaIn": "せぬ", + "kanaOut": "する", + "tagsIn": [], + "tagsOut": [ + "vs" + ] + }, + { + "kanaIn": "たぬ", + "kanaOut": "つ", + "tagsIn": [], + "tagsOut": [ + "v5" + ] + }, + { + "kanaIn": "なぬ", + "kanaOut": "ぬ", + "tagsIn": [], + "tagsOut": [ + "v5" + ] + }, + { + "kanaIn": "ばぬ", + "kanaOut": "ぶ", + "tagsIn": [], + "tagsOut": [ + "v5" + ] + }, + { + "kanaIn": "まぬ", + "kanaOut": "む", + "tagsIn": [], + "tagsOut": [ + "v5" + ] + }, + { + "kanaIn": "らぬ", + "kanaOut": "る", + "tagsIn": [], + "tagsOut": [ + "v5" + ] + }, + { + "kanaIn": "わぬ", + "kanaOut": "う", + "tagsIn": [], + "tagsOut": [ + "v5" + ] + } + ], + "adv": [ + { + "kanaIn": "く", + "kanaOut": "い", + "tagsIn": [], + "tagsOut": [ + "adj-i" + ] + } + ], + "causative": [ + { + "kanaIn": "かせる", + "kanaOut": "く", + "tagsIn": [ + "v1" + ], + "tagsOut": [ + "v5" + ] + }, + { + "kanaIn": "がせる", + "kanaOut": "ぐ", + "tagsIn": [ + "v1" + ], + "tagsOut": [ + "v5" + ] + }, + { + "kanaIn": "させる", + "kanaOut": "する", + "tagsIn": [ + "v1" + ], + "tagsOut": [ + "vs" + ] + }, + { + "kanaIn": "させる", + "kanaOut": "る", + "tagsIn": [ + "v1" + ], + "tagsOut": [ + "v1", + "vk" + ] + }, + { + "kanaIn": "たせる", + "kanaOut": "つ", + "tagsIn": [ + "v1" + ], + "tagsOut": [ + "v5" + ] + }, + { + "kanaIn": "なせる", + "kanaOut": "ぬ", + "tagsIn": [ + "v1" + ], + "tagsOut": [ + "v5" + ] + }, + { + "kanaIn": "ばせる", + "kanaOut": "ぶ", + "tagsIn": [ + "v1" + ], + "tagsOut": [ + "v5" + ] + }, + { + "kanaIn": "ませる", + "kanaOut": "む", + "tagsIn": [ + "v1" + ], + "tagsOut": [ + "v5" + ] + }, + { + "kanaIn": "らせる", + "kanaOut": "る", + "tagsIn": [ + "v1" + ], + "tagsOut": [ + "v5" + ] + }, + { + "kanaIn": "わせる", + "kanaOut": "う", + "tagsIn": [ + "v1" + ], + "tagsOut": [ + "v5" + ] + }, + { + "kanaIn": "こさせる", + "kanaOut": "くる", + "tagsIn": [ + "v1" + ], + "tagsOut": [ + "vk" + ] + } + ], + "imperative": [ + { + "kanaIn": "い", + "kanaOut": "る", + "tagsIn": [], + "tagsOut": [ + "vk" + ] + }, + { + "kanaIn": "え", + "kanaOut": "う", + "tagsIn": [], + "tagsOut": [ + "v5" + ] + }, + { + "kanaIn": "け", + "kanaOut": "く", + "tagsIn": [], + "tagsOut": [ + "v5" + ] + }, + { + "kanaIn": "げ", + "kanaOut": "ぐ", + "tagsIn": [], + "tagsOut": [ + "v5" + ] + }, + { + "kanaIn": "せ", + "kanaOut": "す", + "tagsIn": [], + "tagsOut": [ + "v5" + ] + }, + { + "kanaIn": "て", + "kanaOut": "つ", + "tagsIn": [], + "tagsOut": [ + "v5" + ] + }, + { + "kanaIn": "ね", + "kanaOut": "ぬ", + "tagsIn": [], + "tagsOut": [ + "v5" + ] + }, + { + "kanaIn": "べ", + "kanaOut": "ぶ", + "tagsIn": [], + "tagsOut": [ + "v5" + ] + }, + { + "kanaIn": "め", + "kanaOut": "む", + "tagsIn": [], + "tagsOut": [ + "v5" + ] + }, + { + "kanaIn": "よ", + "kanaOut": "る", + "tagsIn": [], + "tagsOut": [ + "v1" + ] + }, + { + "kanaIn": "れ", + "kanaOut": "る", + "tagsIn": [], + "tagsOut": [ + "v5" + ] + }, + { + "kanaIn": "ろ", + "kanaOut": "る", + "tagsIn": [], + "tagsOut": [ + "v1" + ] + }, + { + "kanaIn": "こい", + "kanaOut": "くる", + "tagsIn": [], + "tagsOut": [ + "vk" + ] + }, + { + "kanaIn": "しろ", + "kanaOut": "する", + "tagsIn": [], + "tagsOut": [ + "vs" + ] + }, + { + "kanaIn": "せよ", + "kanaOut": "する", + "tagsIn": [], + "tagsOut": [ + "vs" + ] + } + ], + "imperative negative": [ + { + "kanaIn": "な", + "kanaOut": "", + "tagsIn": [], + "tagsOut": [ + "v1", + "v5", + "vk", + "vs" + ] + } + ], + "masu stem": [ + { + "kanaIn": "い", + "kanaOut": "いる", + "tagsIn": [], + "tagsOut": [ + "v1" + ] + }, + { + "kanaIn": "い", + "kanaOut": "う", + "tagsIn": [], + "tagsOut": [ + "v5" + ] + }, + { + "kanaIn": "え", + "kanaOut": "える", + "tagsIn": [], + "tagsOut": [ + "v1" + ] + }, + { + "kanaIn": "き", + "kanaOut": "きる", + "tagsIn": [], + "tagsOut": [ + "v1" + ] + }, + { + "kanaIn": "き", + "kanaOut": "く", + "tagsIn": [], + "tagsOut": [ + "v5" + ] + }, + { + "kanaIn": "ぎ", + "kanaOut": "ぎる", + "tagsIn": [], + "tagsOut": [ + "v1" + ] + }, + { + "kanaIn": "ぎ", + "kanaOut": "ぐ", + "tagsIn": [], + "tagsOut": [ + "v5" + ] + }, + { + "kanaIn": "け", + "kanaOut": "ける", + "tagsIn": [], + "tagsOut": [ + "v1" + ] + }, + { + "kanaIn": "げ", + "kanaOut": "げる", + "tagsIn": [], + "tagsOut": [ + "v1" + ] + }, + { + "kanaIn": "し", + "kanaOut": "す", + "tagsIn": [], + "tagsOut": [ + "v5" + ] + }, + { + "kanaIn": "じ", + "kanaOut": "じる", + "tagsIn": [], + "tagsOut": [ + "v1" + ] + }, + { + "kanaIn": "せ", + "kanaOut": "せる", + "tagsIn": [], + "tagsOut": [ + "v1" + ] + }, + { + "kanaIn": "ぜ", + "kanaOut": "ぜる", + "tagsIn": [], + "tagsOut": [ + "v1" + ] + }, + { + "kanaIn": "ち", + "kanaOut": "ちる", + "tagsIn": [], + "tagsOut": [ + "v1" + ] + }, + { + "kanaIn": "ち", + "kanaOut": "つ", + "tagsIn": [], + "tagsOut": [ + "v5" + ] + }, + { + "kanaIn": "て", + "kanaOut": "てる", + "tagsIn": [], + "tagsOut": [ + "v1" + ] + }, + { + "kanaIn": "で", + "kanaOut": "でる", + "tagsIn": [], + "tagsOut": [ + "v1" + ] + }, + { + "kanaIn": "に", + "kanaOut": "にる", + "tagsIn": [], + "tagsOut": [ + "v1" + ] + }, + { + "kanaIn": "に", + "kanaOut": "ぬ", + "tagsIn": [], + "tagsOut": [ + "v5" + ] + }, + { + "kanaIn": "ね", + "kanaOut": "ねる", + "tagsIn": [], + "tagsOut": [ + "v1" + ] + }, + { + "kanaIn": "ひ", + "kanaOut": "ひる", + "tagsIn": [], + "tagsOut": [ + "v1" + ] + }, + { + "kanaIn": "び", + "kanaOut": "びる", + "tagsIn": [], + "tagsOut": [ + "v1" + ] + }, + { + "kanaIn": "び", + "kanaOut": "ぶ", + "tagsIn": [], + "tagsOut": [ + "v5" + ] + }, + { + "kanaIn": "へ", + "kanaOut": "へる", + "tagsIn": [], + "tagsOut": [ + "v1" + ] + }, + { + "kanaIn": "べ", + "kanaOut": "べる", + "tagsIn": [], + "tagsOut": [ + "v1" + ] + }, + { + "kanaIn": "み", + "kanaOut": "みる", + "tagsIn": [], + "tagsOut": [ + "v1" + ] + }, + { + "kanaIn": "み", + "kanaOut": "む", + "tagsIn": [], + "tagsOut": [ + "v5" + ] + }, + { + "kanaIn": "め", + "kanaOut": "める", + "tagsIn": [], + "tagsOut": [ + "v1" + ] + }, + { + "kanaIn": "り", + "kanaOut": "りる", + "tagsIn": [], + "tagsOut": [ + "v1" + ] + }, + { + "kanaIn": "り", + "kanaOut": "る", + "tagsIn": [], + "tagsOut": [ + "v5" + ] + }, + { + "kanaIn": "れ", + "kanaOut": "れる", + "tagsIn": [], + "tagsOut": [ + "v1" + ] + } + ], + "negative": [ + { + "kanaIn": "ない", + "kanaOut": "る", + "tagsIn": [ + "adj-i" + ], + "tagsOut": [ + "v1", + "vk" + ] + }, + { + "kanaIn": "かない", + "kanaOut": "く", + "tagsIn": [ + "adj-i" + ], + "tagsOut": [ + "v5" + ] + }, + { + "kanaIn": "がない", + "kanaOut": "ぐ", + "tagsIn": [ + "adj-i" + ], + "tagsOut": [ + "v5" + ] + }, + { + "kanaIn": "くない", + "kanaOut": "い", + "tagsIn": [ + "adj-i" + ], + "tagsOut": [ + "adj-i" + ] + }, + { + "kanaIn": "こない", + "kanaOut": "くる", + "tagsIn": [ + "adj-i" + ], + "tagsOut": [ + "vk" + ] + }, + { + "kanaIn": "さない", + "kanaOut": "す", + "tagsIn": [ + "adj-i" + ], + "tagsOut": [ + "v5" + ] + }, + { + "kanaIn": "しない", + "kanaOut": "する", + "tagsIn": [ + "adj-i" + ], + "tagsOut": [ + "vs" + ] + }, + { + "kanaIn": "たない", + "kanaOut": "つ", + "tagsIn": [ + "adj-i" + ], + "tagsOut": [ + "v5" + ] + }, + { + "kanaIn": "なない", + "kanaOut": "ぬ", + "tagsIn": [ + "adj-i" + ], + "tagsOut": [ + "v5" + ] + }, + { + "kanaIn": "ばない", + "kanaOut": "ぶ", + "tagsIn": [ + "adj-i" + ], + "tagsOut": [ + "v5" + ] + }, + { + "kanaIn": "まない", + "kanaOut": "む", + "tagsIn": [ + "adj-i" + ], + "tagsOut": [ + "v5" + ] + }, + { + "kanaIn": "らない", + "kanaOut": "る", + "tagsIn": [ + "adj-i" + ], + "tagsOut": [ + "v5" + ] + }, + { + "kanaIn": "わない", + "kanaOut": "う", + "tagsIn": [ + "adj-i" + ], + "tagsOut": [ + "v5" + ] + } + ], + "noun": [ + { + "kanaIn": "さ", + "kanaOut": "い", + "tagsIn": [], + "tagsOut": [ + "adj-i" + ] + } + ], + "passive": [ + { + "kanaIn": "かれる", + "kanaOut": "く", + "tagsIn": [ + "v1" + ], + "tagsOut": [ + "v5" + ] + }, + { + "kanaIn": "がれる", + "kanaOut": "ぐ", + "tagsIn": [ + "v1" + ], + "tagsOut": [ + "v5" + ] + }, + { + "kanaIn": "される", + "kanaOut": "する", + "tagsIn": [ + "v1" + ], + "tagsOut": [ + "vs" + ] + }, + { + "kanaIn": "たれる", + "kanaOut": "つ", + "tagsIn": [ + "v1" + ], + "tagsOut": [ + "v5" + ] + }, + { + "kanaIn": "なれる", + "kanaOut": "ぬ", + "tagsIn": [ + "v1" + ], + "tagsOut": [ + "v5" + ] + }, + { + "kanaIn": "ばれる", + "kanaOut": "ぶ", + "tagsIn": [ + "v1" + ], + "tagsOut": [ + "v5" + ] + }, + { + "kanaIn": "まれる", + "kanaOut": "む", + "tagsIn": [ + "v1" + ], + "tagsOut": [ + "v5" + ] + }, + { + "kanaIn": "われる", + "kanaOut": "う", + "tagsIn": [ + "v1" + ], + "tagsOut": [ + "v5" + ] + } + ], + "passive or causative": [ + { + "kanaIn": "される", + "kanaOut": "す", + "tagsIn": [ + "v1" + ], + "tagsOut": [ + "v5" + ] + } + ], + "past": [ + { + "kanaIn": "た", + "kanaOut": "る", + "tagsIn": [], + "tagsOut": [ + "v1", + "vk" + ] + }, + { + "kanaIn": "いた", + "kanaOut": "く", + "tagsIn": [], + "tagsOut": [ + "v5" + ] + }, + { + "kanaIn": "いだ", + "kanaOut": "ぐ", + "tagsIn": [], + "tagsOut": [ + "v5" + ] + }, + { + "kanaIn": "きた", + "kanaOut": "くる", + "tagsIn": [], + "tagsOut": [ + "vk" + ] + }, + { + "kanaIn": "した", + "kanaOut": "す", + "tagsIn": [], + "tagsOut": [ + "v5" + ] + }, + { + "kanaIn": "した", + "kanaOut": "する", + "tagsIn": [], + "tagsOut": [ + "vs" + ] + }, + { + "kanaIn": "った", + "kanaOut": "う", + "tagsIn": [], + "tagsOut": [ + "v5" + ] + }, + { + "kanaIn": "った", + "kanaOut": "く", + "tagsIn": [], + "tagsOut": [ + "v5" + ] + }, + { + "kanaIn": "った", + "kanaOut": "つ", + "tagsIn": [], + "tagsOut": [ + "v5" + ] + }, + { + "kanaIn": "った", + "kanaOut": "る", + "tagsIn": [], + "tagsOut": [ + "v5" + ] + }, + { + "kanaIn": "んだ", + "kanaOut": "ぬ", + "tagsIn": [], + "tagsOut": [ + "v5" + ] + }, + { + "kanaIn": "んだ", + "kanaOut": "ぶ", + "tagsIn": [], + "tagsOut": [ + "v5" + ] + }, + { + "kanaIn": "んだ", + "kanaOut": "む", + "tagsIn": [], + "tagsOut": [ + "v5" + ] + }, + { + "kanaIn": "かった", + "kanaOut": "い", + "tagsIn": [], + "tagsOut": [ + "adj-i" + ] + } + ], + "polite": [ + { + "kanaIn": "ます", + "kanaOut": "る", + "tagsIn": [], + "tagsOut": [ + "v1", + "vk" + ] + }, + { + "kanaIn": "います", + "kanaOut": "う", + "tagsIn": [], + "tagsOut": [ + "v5" + ] + }, + { + "kanaIn": "きます", + "kanaOut": "く", + "tagsIn": [], + "tagsOut": [ + "v5" + ] + }, + { + "kanaIn": "きます", + "kanaOut": "くる", + "tagsIn": [], + "tagsOut": [ + "vk" + ] + }, + { + "kanaIn": "ぎます", + "kanaOut": "ぐ", + "tagsIn": [], + "tagsOut": [ + "v5" + ] + }, + { + "kanaIn": "します", + "kanaOut": "す", + "tagsIn": [], + "tagsOut": [ + "v5" + ] + }, + { + "kanaIn": "します", + "kanaOut": "する", + "tagsIn": [], + "tagsOut": [ + "vs" + ] + }, + { + "kanaIn": "ちます", + "kanaOut": "つ", + "tagsIn": [], + "tagsOut": [ + "v5" + ] + }, + { + "kanaIn": "にます", + "kanaOut": "ぬ", + "tagsIn": [], + "tagsOut": [ + "v5" + ] + }, + { + "kanaIn": "びます", + "kanaOut": "ぶ", + "tagsIn": [], + "tagsOut": [ + "v5" + ] + }, + { + "kanaIn": "みます", + "kanaOut": "む", + "tagsIn": [], + "tagsOut": [ + "v5" + ] + }, + { + "kanaIn": "ります", + "kanaOut": "る", + "tagsIn": [], + "tagsOut": [ + "v5" + ] + } + ], + "polite negative": [ + { + "kanaIn": "ません", + "kanaOut": "る", + "tagsIn": [], + "tagsOut": [ + "v1", + "vk" + ] + }, + { + "kanaIn": "いません", + "kanaOut": "う", + "tagsIn": [], + "tagsOut": [ + "v5" + ] + }, + { + "kanaIn": "きません", + "kanaOut": "く", + "tagsIn": [], + "tagsOut": [ + "v5" + ] + }, + { + "kanaIn": "きません", + "kanaOut": "くる", + "tagsIn": [], + "tagsOut": [ + "vk" + ] + }, + { + "kanaIn": "ぎません", + "kanaOut": "ぐ", + "tagsIn": [], + "tagsOut": [ + "v5" + ] + }, + { + "kanaIn": "しません", + "kanaOut": "す", + "tagsIn": [], + "tagsOut": [ + "v5" + ] + }, + { + "kanaIn": "しません", + "kanaOut": "する", + "tagsIn": [], + "tagsOut": [ + "vs" + ] + }, + { + "kanaIn": "ちません", + "kanaOut": "つ", + "tagsIn": [], + "tagsOut": [ + "v5" + ] + }, + { + "kanaIn": "にません", + "kanaOut": "ぬ", + "tagsIn": [], + "tagsOut": [ + "v5" + ] + }, + { + "kanaIn": "びません", + "kanaOut": "ぶ", + "tagsIn": [], + "tagsOut": [ + "v5" + ] + }, + { + "kanaIn": "みません", + "kanaOut": "む", + "tagsIn": [], + "tagsOut": [ + "v5" + ] + }, + { + "kanaIn": "りません", + "kanaOut": "る", + "tagsIn": [], + "tagsOut": [ + "v5" + ] + }, + { + "kanaIn": "くありません", + "kanaOut": "い", + "tagsIn": [], + "tagsOut": [ + "adj-i" + ] + } + ], + "polite past": [ + { + "kanaIn": "ました", + "kanaOut": "る", + "tagsIn": [], + "tagsOut": [ + "v1", + "vk" + ] + }, + { + "kanaIn": "いました", + "kanaOut": "う", + "tagsIn": [], + "tagsOut": [ + "v5" + ] + }, + { + "kanaIn": "きました", + "kanaOut": "く", + "tagsIn": [], + "tagsOut": [ + "v5" + ] + }, + { + "kanaIn": "きました", + "kanaOut": "くる", + "tagsIn": [], + "tagsOut": [ + "vk" + ] + }, + { + "kanaIn": "ぎました", + "kanaOut": "ぐ", + "tagsIn": [], + "tagsOut": [ + "v5" + ] + }, + { + "kanaIn": "しました", + "kanaOut": "す", + "tagsIn": [], + "tagsOut": [ + "v5" + ] + }, + { + "kanaIn": "しました", + "kanaOut": "する", + "tagsIn": [], + "tagsOut": [ + "vs" + ] + }, + { + "kanaIn": "ちました", + "kanaOut": "つ", + "tagsIn": [], + "tagsOut": [ + "v5" + ] + }, + { + "kanaIn": "にました", + "kanaOut": "ぬ", + "tagsIn": [], + "tagsOut": [ + "v5" + ] + }, + { + "kanaIn": "びました", + "kanaOut": "ぶ", + "tagsIn": [], + "tagsOut": [ + "v5" + ] + }, + { + "kanaIn": "みました", + "kanaOut": "む", + "tagsIn": [], + "tagsOut": [ + "v5" + ] + }, + { + "kanaIn": "りました", + "kanaOut": "る", + "tagsIn": [], + "tagsOut": [ + "v5" + ] + } + ], + "polite past negative": [ + { + "kanaIn": "ませんでした", + "kanaOut": "る", + "tagsIn": [], + "tagsOut": [ + "v1", + "vk" + ] + }, + { + "kanaIn": "いませんでした", + "kanaOut": "う", + "tagsIn": [], + "tagsOut": [ + "v5" + ] + }, + { + "kanaIn": "きませんでした", + "kanaOut": "く", + "tagsIn": [], + "tagsOut": [ + "v5" + ] + }, + { + "kanaIn": "きませんでした", + "kanaOut": "くる", + "tagsIn": [], + "tagsOut": [ + "vk" + ] + }, + { + "kanaIn": "ぎませんでした", + "kanaOut": "ぐ", + "tagsIn": [], + "tagsOut": [ + "v5" + ] + }, + { + "kanaIn": "しませんでした", + "kanaOut": "す", + "tagsIn": [], + "tagsOut": [ + "v5" + ] + }, + { + "kanaIn": "しませんでした", + "kanaOut": "する", + "tagsIn": [], + "tagsOut": [ + "vs" + ] + }, + { + "kanaIn": "ちませんでした", + "kanaOut": "つ", + "tagsIn": [], + "tagsOut": [ + "v5" + ] + }, + { + "kanaIn": "にませんでした", + "kanaOut": "ぬ", + "tagsIn": [], + "tagsOut": [ + "v5" + ] + }, + { + "kanaIn": "びませんでした", + "kanaOut": "ぶ", + "tagsIn": [], + "tagsOut": [ + "v5" + ] + }, + { + "kanaIn": "みませんでした", + "kanaOut": "む", + "tagsIn": [], + "tagsOut": [ + "v5" + ] + }, + { + "kanaIn": "りませんでした", + "kanaOut": "る", + "tagsIn": [], + "tagsOut": [ + "v5" + ] + }, + { + "kanaIn": "くありませんでした", + "kanaOut": "い", + "tagsIn": [], + "tagsOut": [ + "adj-i" + ] + } + ], + "polite volitional": [ + { + "kanaIn": "ましょう", + "kanaOut": "る", + "tagsIn": [], + "tagsOut": [ + "v1", + "vk" + ] + }, + { + "kanaIn": "いましょう", + "kanaOut": "う", + "tagsIn": [], + "tagsOut": [ + "v5" + ] + }, + { + "kanaIn": "きましょう", + "kanaOut": "く", + "tagsIn": [], + "tagsOut": [ + "v5" + ] + }, + { + "kanaIn": "きましょう", + "kanaOut": "くる", + "tagsIn": [], + "tagsOut": [ + "vk" + ] + }, + { + "kanaIn": "ぎましょう", + "kanaOut": "ぐ", + "tagsIn": [], + "tagsOut": [ + "v5" + ] + }, + { + "kanaIn": "しましょう", + "kanaOut": "す", + "tagsIn": [], + "tagsOut": [ + "v5" + ] + }, + { + "kanaIn": "しましょう", + "kanaOut": "する", + "tagsIn": [], + "tagsOut": [ + "vs" + ] + }, + { + "kanaIn": "ちましょう", + "kanaOut": "つ", + "tagsIn": [], + "tagsOut": [ + "v5" + ] + }, + { + "kanaIn": "にましょう", + "kanaOut": "ぬ", + "tagsIn": [], + "tagsOut": [ + "v5" + ] + }, + { + "kanaIn": "びましょう", + "kanaOut": "ぶ", + "tagsIn": [], + "tagsOut": [ + "v5" + ] + }, + { + "kanaIn": "みましょう", + "kanaOut": "む", + "tagsIn": [], + "tagsOut": [ + "v5" + ] + }, + { + "kanaIn": "りましょう", + "kanaOut": "る", + "tagsIn": [], + "tagsOut": [ + "v5" + ] + } + ], + "potential": [ + { + "kanaIn": "える", + "kanaOut": "う", + "tagsIn": [ + "v1" + ], + "tagsOut": [ + "v5" + ] + }, + { + "kanaIn": "ける", + "kanaOut": "く", + "tagsIn": [ + "v1" + ], + "tagsOut": [ + "v5" + ] + }, + { + "kanaIn": "げる", + "kanaOut": "ぐ", + "tagsIn": [ + "v1" + ], + "tagsOut": [ + "v5" + ] + }, + { + "kanaIn": "せる", + "kanaOut": "す", + "tagsIn": [ + "v1" + ], + "tagsOut": [ + "v5" + ] + }, + { + "kanaIn": "てる", + "kanaOut": "つ", + "tagsIn": [ + "v1" + ], + "tagsOut": [ + "v5" + ] + }, + { + "kanaIn": "ねる", + "kanaOut": "ぬ", + "tagsIn": [ + "v1" + ], + "tagsOut": [ + "v5" + ] + }, + { + "kanaIn": "べる", + "kanaOut": "ぶ", + "tagsIn": [ + "v1" + ], + "tagsOut": [ + "v5" + ] + }, + { + "kanaIn": "める", + "kanaOut": "む", + "tagsIn": [ + "v1" + ], + "tagsOut": [ + "v5" + ] + }, + { + "kanaIn": "れる", + "kanaOut": "る", + "tagsIn": [ + "v1" + ], + "tagsOut": [ + "v1", + "v5", + "vk" + ] + }, + { + "kanaIn": "これる", + "kanaOut": "くる", + "tagsIn": [ + "v1" + ], + "tagsOut": [ + "vk" + ] + } + ], + "potential or passive": [ + { + "kanaIn": "られる", + "kanaOut": "る", + "tagsIn": [ + "v1" + ], + "tagsOut": [ + "v1", + "v5", + "vk" + ] + }, + { + "kanaIn": "こられる", + "kanaOut": "くる", + "tagsIn": [ + "v1" + ], + "tagsOut": [ + "vk" + ] + } + ], + "volitional": [ + { + "kanaIn": "おう", + "kanaOut": "う", + "tagsIn": [], + "tagsOut": [ + "v5" + ] + }, + { + "kanaIn": "こう", + "kanaOut": "く", + "tagsIn": [], + "tagsOut": [ + "v5" + ] + }, + { + "kanaIn": "ごう", + "kanaOut": "ぐ", + "tagsIn": [], + "tagsOut": [ + "v5" + ] + }, + { + "kanaIn": "そう", + "kanaOut": "す", + "tagsIn": [], + "tagsOut": [ + "v5" + ] + }, + { + "kanaIn": "とう", + "kanaOut": "つ", + "tagsIn": [], + "tagsOut": [ + "v5" + ] + }, + { + "kanaIn": "のう", + "kanaOut": "ぬ", + "tagsIn": [], + "tagsOut": [ + "v5" + ] + }, + { + "kanaIn": "ぼう", + "kanaOut": "ぶ", + "tagsIn": [], + "tagsOut": [ + "v5" + ] + }, + { + "kanaIn": "もう", + "kanaOut": "む", + "tagsIn": [], + "tagsOut": [ + "v5" + ] + }, + { + "kanaIn": "よう", + "kanaOut": "る", + "tagsIn": [], + "tagsOut": [ + "v1", + "vk" + ] + }, + { + "kanaIn": "ろう", + "kanaOut": "る", + "tagsIn": [], + "tagsOut": [ + "v5" + ] + }, + { + "kanaIn": "こよう", + "kanaOut": "くる", + "tagsIn": [], + "tagsOut": [ + "vk" + ] + }, + { + "kanaIn": "しよう", + "kanaOut": "する", + "tagsIn": [], + "tagsOut": [ + "vs" + ] + } + ] +} -- cgit v1.2.3 From 28b8bae6a7cbea7b34faed2ea396b95b5de3b426 Mon Sep 17 00:00:00 2001 From: Alex Yatskov Date: Mon, 19 Dec 2016 21:23:17 -0800 Subject: deinflector optimizations --- ext/bg/data/deinflect.json | 1276 ++++++++++++++++++++++---------------------- ext/bg/js/deinflector.js | 35 +- ext/bg/js/translator.js | 75 +-- 3 files changed, 683 insertions(+), 703 deletions(-) (limited to 'ext/bg/data/deinflect.json') diff --git a/ext/bg/data/deinflect.json b/ext/bg/data/deinflect.json index 3fd45771..256633e0 100644 --- a/ext/bg/data/deinflect.json +++ b/ext/bg/data/deinflect.json @@ -3,72 +3,72 @@ { "kanaIn": "えば", "kanaOut": "う", - "tagsIn": [], - "tagsOut": [ + "rulesIn": [], + "rulesOut": [ "v5" ] }, { "kanaIn": "けば", "kanaOut": "く", - "tagsIn": [], - "tagsOut": [ + "rulesIn": [], + "rulesOut": [ "v5" ] }, { "kanaIn": "げば", "kanaOut": "ぐ", - "tagsIn": [], - "tagsOut": [ + "rulesIn": [], + "rulesOut": [ "v5" ] }, { "kanaIn": "せば", "kanaOut": "す", - "tagsIn": [], - "tagsOut": [ + "rulesIn": [], + "rulesOut": [ "v5" ] }, { "kanaIn": "てば", "kanaOut": "つ", - "tagsIn": [], - "tagsOut": [ + "rulesIn": [], + "rulesOut": [ "v5" ] }, { "kanaIn": "ねば", "kanaOut": "ぬ", - "tagsIn": [], - "tagsOut": [ + "rulesIn": [], + "rulesOut": [ "v5" ] }, { "kanaIn": "べば", "kanaOut": "ぶ", - "tagsIn": [], - "tagsOut": [ + "rulesIn": [], + "rulesOut": [ "v5" ] }, { "kanaIn": "めば", "kanaOut": "む", - "tagsIn": [], - "tagsOut": [ + "rulesIn": [], + "rulesOut": [ "v5" ] }, { "kanaIn": "れば", "kanaOut": "る", - "tagsIn": [], - "tagsOut": [ + "rulesIn": [], + "rulesOut": [ "v1", "v5", "vk", @@ -78,8 +78,8 @@ { "kanaIn": "ければ", "kanaOut": "い", - "tagsIn": [], - "tagsOut": [ + "rulesIn": [], + "rulesOut": [ "adj-i" ] } @@ -88,10 +88,10 @@ { "kanaIn": "ちゃう", "kanaOut": "る", - "tagsIn": [ + "rulesIn": [ "v5" ], - "tagsOut": [ + "rulesOut": [ "v1", "vk" ] @@ -99,120 +99,120 @@ { "kanaIn": "いじゃう", "kanaOut": "ぐ", - "tagsIn": [ + "rulesIn": [ "v5" ], - "tagsOut": [ + "rulesOut": [ "v5" ] }, { "kanaIn": "いちゃう", "kanaOut": "く", - "tagsIn": [ + "rulesIn": [ "v5" ], - "tagsOut": [ + "rulesOut": [ "v5" ] }, { "kanaIn": "きちゃう", "kanaOut": "くる", - "tagsIn": [ + "rulesIn": [ "v5" ], - "tagsOut": [ + "rulesOut": [ "vk" ] }, { "kanaIn": "しちゃう", "kanaOut": "す", - "tagsIn": [ + "rulesIn": [ "v5" ], - "tagsOut": [ + "rulesOut": [ "v5" ] }, { "kanaIn": "しちゃう", "kanaOut": "する", - "tagsIn": [ + "rulesIn": [ "v5" ], - "tagsOut": [ + "rulesOut": [ "vs" ] }, { "kanaIn": "っちゃう", "kanaOut": "う", - "tagsIn": [ + "rulesIn": [ "v5" ], - "tagsOut": [ + "rulesOut": [ "v5" ] }, { "kanaIn": "っちゃう", "kanaOut": "く", - "tagsIn": [ + "rulesIn": [ "v5" ], - "tagsOut": [ + "rulesOut": [ "v5" ] }, { "kanaIn": "っちゃう", "kanaOut": "つ", - "tagsIn": [ + "rulesIn": [ "v5" ], - "tagsOut": [ + "rulesOut": [ "v5" ] }, { "kanaIn": "っちゃう", "kanaOut": "る", - "tagsIn": [ + "rulesIn": [ "v5" ], - "tagsOut": [ + "rulesOut": [ "v5" ] }, { "kanaIn": "んじゃう", "kanaOut": "ぬ", - "tagsIn": [ + "rulesIn": [ "v5" ], - "tagsOut": [ + "rulesOut": [ "v5" ] }, { "kanaIn": "んじゃう", "kanaOut": "ぶ", - "tagsIn": [ + "rulesIn": [ "v5" ], - "tagsOut": [ + "rulesOut": [ "v5" ] }, { "kanaIn": "んじゃう", "kanaOut": "む", - "tagsIn": [ + "rulesIn": [ "v5" ], - "tagsOut": [ + "rulesOut": [ "v5" ] } @@ -221,8 +221,8 @@ { "kanaIn": "なさい", "kanaOut": "る", - "tagsIn": [], - "tagsOut": [ + "rulesIn": [], + "rulesOut": [ "v1", "vk" ] @@ -230,88 +230,88 @@ { "kanaIn": "いなさい", "kanaOut": "う", - "tagsIn": [], - "tagsOut": [ + "rulesIn": [], + "rulesOut": [ "v5" ] }, { "kanaIn": "きなさい", "kanaOut": "く", - "tagsIn": [], - "tagsOut": [ + "rulesIn": [], + "rulesOut": [ "v5" ] }, { "kanaIn": "きなさい", "kanaOut": "くる", - "tagsIn": [], - "tagsOut": [ + "rulesIn": [], + "rulesOut": [ "vk" ] }, { "kanaIn": "ぎなさい", "kanaOut": "ぐ", - "tagsIn": [], - "tagsOut": [ + "rulesIn": [], + "rulesOut": [ "v5" ] }, { "kanaIn": "しなさい", "kanaOut": "す", - "tagsIn": [], - "tagsOut": [ + "rulesIn": [], + "rulesOut": [ "v5" ] }, { "kanaIn": "しなさい", "kanaOut": "する", - "tagsIn": [], - "tagsOut": [ + "rulesIn": [], + "rulesOut": [ "vs" ] }, { "kanaIn": "ちなさい", "kanaOut": "つ", - "tagsIn": [], - "tagsOut": [ + "rulesIn": [], + "rulesOut": [ "v5" ] }, { "kanaIn": "になさい", "kanaOut": "ぬ", - "tagsIn": [], - "tagsOut": [ + "rulesIn": [], + "rulesOut": [ "v5" ] }, { "kanaIn": "びなさい", "kanaOut": "ぶ", - "tagsIn": [], - "tagsOut": [ + "rulesIn": [], + "rulesOut": [ "v5" ] }, { "kanaIn": "みなさい", "kanaOut": "む", - "tagsIn": [], - "tagsOut": [ + "rulesIn": [], + "rulesOut": [ "v5" ] }, { "kanaIn": "りなさい", "kanaOut": "る", - "tagsIn": [], - "tagsOut": [ + "rulesIn": [], + "rulesOut": [ "v5" ] } @@ -320,16 +320,16 @@ { "kanaIn": "そう", "kanaOut": "い", - "tagsIn": [], - "tagsOut": [ + "rulesIn": [], + "rulesOut": [ "adj-i" ] }, { "kanaIn": "そう", "kanaOut": "る", - "tagsIn": [], - "tagsOut": [ + "rulesIn": [], + "rulesOut": [ "v1", "vk" ] @@ -337,88 +337,88 @@ { "kanaIn": "いそう", "kanaOut": "う", - "tagsIn": [], - "tagsOut": [ + "rulesIn": [], + "rulesOut": [ "v5" ] }, { "kanaIn": "きそう", "kanaOut": "く", - "tagsIn": [], - "tagsOut": [ + "rulesIn": [], + "rulesOut": [ "v5" ] }, { "kanaIn": "きそう", "kanaOut": "くる", - "tagsIn": [], - "tagsOut": [ + "rulesIn": [], + "rulesOut": [ "vk" ] }, { "kanaIn": "ぎそう", "kanaOut": "ぐ", - "tagsIn": [], - "tagsOut": [ + "rulesIn": [], + "rulesOut": [ "v5" ] }, { "kanaIn": "しそう", "kanaOut": "す", - "tagsIn": [], - "tagsOut": [ + "rulesIn": [], + "rulesOut": [ "v5" ] }, { "kanaIn": "しそう", "kanaOut": "する", - "tagsIn": [], - "tagsOut": [ + "rulesIn": [], + "rulesOut": [ "vs" ] }, { "kanaIn": "ちそう", "kanaOut": "つ", - "tagsIn": [], - "tagsOut": [ + "rulesIn": [], + "rulesOut": [ "v5" ] }, { "kanaIn": "にそう", "kanaOut": "ぬ", - "tagsIn": [], - "tagsOut": [ + "rulesIn": [], + "rulesOut": [ "v5" ] }, { "kanaIn": "びそう", "kanaOut": "ぶ", - "tagsIn": [], - "tagsOut": [ + "rulesIn": [], + "rulesOut": [ "v5" ] }, { "kanaIn": "みそう", "kanaOut": "む", - "tagsIn": [], - "tagsOut": [ + "rulesIn": [], + "rulesOut": [ "v5" ] }, { "kanaIn": "りそう", "kanaOut": "る", - "tagsIn": [], - "tagsOut": [ + "rulesIn": [], + "rulesOut": [ "v5" ] } @@ -427,20 +427,20 @@ { "kanaIn": "すぎる", "kanaOut": "い", - "tagsIn": [ + "rulesIn": [ "v1" ], - "tagsOut": [ + "rulesOut": [ "adj-i" ] }, { "kanaIn": "すぎる", "kanaOut": "る", - "tagsIn": [ + "rulesIn": [ "v1" ], - "tagsOut": [ + "rulesOut": [ "v1", "vk" ] @@ -448,110 +448,110 @@ { "kanaIn": "いすぎる", "kanaOut": "う", - "tagsIn": [ + "rulesIn": [ "v1" ], - "tagsOut": [ + "rulesOut": [ "v5" ] }, { "kanaIn": "きすぎる", "kanaOut": "く", - "tagsIn": [ + "rulesIn": [ "v1" ], - "tagsOut": [ + "rulesOut": [ "v5" ] }, { "kanaIn": "きすぎる", "kanaOut": "くる", - "tagsIn": [ + "rulesIn": [ "v1" ], - "tagsOut": [ + "rulesOut": [ "vk" ] }, { "kanaIn": "ぎすぎる", "kanaOut": "ぐ", - "tagsIn": [ + "rulesIn": [ "v1" ], - "tagsOut": [ + "rulesOut": [ "v5" ] }, { "kanaIn": "しすぎる", "kanaOut": "す", - "tagsIn": [ + "rulesIn": [ "v1" ], - "tagsOut": [ + "rulesOut": [ "v5" ] }, { "kanaIn": "しすぎる", "kanaOut": "する", - "tagsIn": [ + "rulesIn": [ "v1" ], - "tagsOut": [ + "rulesOut": [ "vs" ] }, { "kanaIn": "ちすぎる", "kanaOut": "つ", - "tagsIn": [ + "rulesIn": [ "v1" ], - "tagsOut": [ + "rulesOut": [ "v5" ] }, { "kanaIn": "にすぎる", "kanaOut": "ぬ", - "tagsIn": [ + "rulesIn": [ "v1" ], - "tagsOut": [ + "rulesOut": [ "v5" ] }, { "kanaIn": "びすぎる", "kanaOut": "ぶ", - "tagsIn": [ + "rulesIn": [ "v1" ], - "tagsOut": [ + "rulesOut": [ "v5" ] }, { "kanaIn": "みすぎる", "kanaOut": "む", - "tagsIn": [ + "rulesIn": [ "v1" ], - "tagsOut": [ + "rulesOut": [ "v5" ] }, { "kanaIn": "りすぎる", "kanaOut": "る", - "tagsIn": [ + "rulesIn": [ "v1" ], - "tagsOut": [ + "rulesOut": [ "v5" ] } @@ -560,10 +560,10 @@ { "kanaIn": "たい", "kanaOut": "る", - "tagsIn": [ + "rulesIn": [ "adj-i" ], - "tagsOut": [ + "rulesOut": [ "v1", "vk" ] @@ -571,110 +571,110 @@ { "kanaIn": "いたい", "kanaOut": "う", - "tagsIn": [ + "rulesIn": [ "adj-i" ], - "tagsOut": [ + "rulesOut": [ "v5" ] }, { "kanaIn": "きたい", "kanaOut": "く", - "tagsIn": [ + "rulesIn": [ "adj-i" ], - "tagsOut": [ + "rulesOut": [ "v5" ] }, { "kanaIn": "きたい", "kanaOut": "くる", - "tagsIn": [ + "rulesIn": [ "adj-i" ], - "tagsOut": [ + "rulesOut": [ "vk" ] }, { "kanaIn": "ぎたい", "kanaOut": "ぐ", - "tagsIn": [ + "rulesIn": [ "adj-i" ], - "tagsOut": [ + "rulesOut": [ "v5" ] }, { "kanaIn": "したい", "kanaOut": "す", - "tagsIn": [ + "rulesIn": [ "adj-i" ], - "tagsOut": [ + "rulesOut": [ "v5" ] }, { "kanaIn": "したい", "kanaOut": "する", - "tagsIn": [ + "rulesIn": [ "adj-i" ], - "tagsOut": [ + "rulesOut": [ "vs" ] }, { "kanaIn": "ちたい", "kanaOut": "つ", - "tagsIn": [ + "rulesIn": [ "adj-i" ], - "tagsOut": [ + "rulesOut": [ "v5" ] }, { "kanaIn": "にたい", "kanaOut": "ぬ", - "tagsIn": [ + "rulesIn": [ "adj-i" ], - "tagsOut": [ + "rulesOut": [ "v5" ] }, { "kanaIn": "びたい", "kanaOut": "ぶ", - "tagsIn": [ + "rulesIn": [ "adj-i" ], - "tagsOut": [ + "rulesOut": [ "v5" ] }, { "kanaIn": "みたい", "kanaOut": "む", - "tagsIn": [ + "rulesIn": [ "adj-i" ], - "tagsOut": [ + "rulesOut": [ "v5" ] }, { "kanaIn": "りたい", "kanaOut": "る", - "tagsIn": [ + "rulesIn": [ "adj-i" ], - "tagsOut": [ + "rulesOut": [ "v5" ] } @@ -683,8 +683,8 @@ { "kanaIn": "たら", "kanaOut": "る", - "tagsIn": [], - "tagsOut": [ + "rulesIn": [], + "rulesOut": [ "v1", "vk" ] @@ -692,96 +692,96 @@ { "kanaIn": "いたら", "kanaOut": "く", - "tagsIn": [], - "tagsOut": [ + "rulesIn": [], + "rulesOut": [ "v5" ] }, { "kanaIn": "いだら", "kanaOut": "ぐ", - "tagsIn": [], - "tagsOut": [ + "rulesIn": [], + "rulesOut": [ "v5" ] }, { "kanaIn": "きたら", "kanaOut": "くる", - "tagsIn": [], - "tagsOut": [ + "rulesIn": [], + "rulesOut": [ "vk" ] }, { "kanaIn": "したら", "kanaOut": "す", - "tagsIn": [], - "tagsOut": [ + "rulesIn": [], + "rulesOut": [ "v5" ] }, { "kanaIn": "したら", "kanaOut": "する", - "tagsIn": [], - "tagsOut": [ + "rulesIn": [], + "rulesOut": [ "vs" ] }, { "kanaIn": "ったら", "kanaOut": "う", - "tagsIn": [], - "tagsOut": [ + "rulesIn": [], + "rulesOut": [ "v5" ] }, { "kanaIn": "ったら", "kanaOut": "つ", - "tagsIn": [], - "tagsOut": [ + "rulesIn": [], + "rulesOut": [ "v5" ] }, { "kanaIn": "ったら", "kanaOut": "る", - "tagsIn": [], - "tagsOut": [ + "rulesIn": [], + "rulesOut": [ "v5" ] }, { "kanaIn": "んだら", "kanaOut": "ぬ", - "tagsIn": [], - "tagsOut": [ + "rulesIn": [], + "rulesOut": [ "v5" ] }, { "kanaIn": "んだら", "kanaOut": "ぶ", - "tagsIn": [], - "tagsOut": [ + "rulesIn": [], + "rulesOut": [ "v5" ] }, { "kanaIn": "んだら", "kanaOut": "む", - "tagsIn": [], - "tagsOut": [ + "rulesIn": [], + "rulesOut": [ "v5" ] }, { "kanaIn": "かったら", "kanaOut": "い", - "tagsIn": [], - "tagsOut": [ + "rulesIn": [], + "rulesOut": [ "adj-i" ] } @@ -790,8 +790,8 @@ { "kanaIn": "たり", "kanaOut": "る", - "tagsIn": [], - "tagsOut": [ + "rulesIn": [], + "rulesOut": [ "v1", "vk" ] @@ -799,96 +799,96 @@ { "kanaIn": "いたり", "kanaOut": "く", - "tagsIn": [], - "tagsOut": [ + "rulesIn": [], + "rulesOut": [ "v5" ] }, { "kanaIn": "いだり", "kanaOut": "ぐ", - "tagsIn": [], - "tagsOut": [ + "rulesIn": [], + "rulesOut": [ "v5" ] }, { "kanaIn": "きたり", "kanaOut": "くる", - "tagsIn": [], - "tagsOut": [ + "rulesIn": [], + "rulesOut": [ "vk" ] }, { "kanaIn": "したり", "kanaOut": "す", - "tagsIn": [], - "tagsOut": [ + "rulesIn": [], + "rulesOut": [ "v5" ] }, { "kanaIn": "したり", "kanaOut": "する", - "tagsIn": [], - "tagsOut": [ + "rulesIn": [], + "rulesOut": [ "vs" ] }, { "kanaIn": "ったり", "kanaOut": "う", - "tagsIn": [], - "tagsOut": [ + "rulesIn": [], + "rulesOut": [ "v5" ] }, { "kanaIn": "ったり", "kanaOut": "つ", - "tagsIn": [], - "tagsOut": [ + "rulesIn": [], + "rulesOut": [ "v5" ] }, { "kanaIn": "ったり", "kanaOut": "る", - "tagsIn": [], - "tagsOut": [ + "rulesIn": [], + "rulesOut": [ "v5" ] }, { "kanaIn": "んだり", "kanaOut": "ぬ", - "tagsIn": [], - "tagsOut": [ + "rulesIn": [], + "rulesOut": [ "v5" ] }, { "kanaIn": "んだり", "kanaOut": "ぶ", - "tagsIn": [], - "tagsOut": [ + "rulesIn": [], + "rulesOut": [ "v5" ] }, { "kanaIn": "んだり", "kanaOut": "む", - "tagsIn": [], - "tagsOut": [ + "rulesIn": [], + "rulesOut": [ "v5" ] }, { "kanaIn": "かったり", "kanaOut": "い", - "tagsIn": [], - "tagsOut": [ + "rulesIn": [], + "rulesOut": [ "adj-i" ] } @@ -897,8 +897,8 @@ { "kanaIn": "て", "kanaOut": "る", - "tagsIn": [], - "tagsOut": [ + "rulesIn": [], + "rulesOut": [ "v1", "vk" ] @@ -906,104 +906,104 @@ { "kanaIn": "いて", "kanaOut": "く", - "tagsIn": [], - "tagsOut": [ + "rulesIn": [], + "rulesOut": [ "v5" ] }, { "kanaIn": "いで", "kanaOut": "ぐ", - "tagsIn": [], - "tagsOut": [ + "rulesIn": [], + "rulesOut": [ "v5" ] }, { "kanaIn": "きて", "kanaOut": "くる", - "tagsIn": [], - "tagsOut": [ + "rulesIn": [], + "rulesOut": [ "vk" ] }, { "kanaIn": "くて", "kanaOut": "い", - "tagsIn": [], - "tagsOut": [ + "rulesIn": [], + "rulesOut": [ "adj-i" ] }, { "kanaIn": "して", "kanaOut": "す", - "tagsIn": [], - "tagsOut": [ + "rulesIn": [], + "rulesOut": [ "v5" ] }, { "kanaIn": "して", "kanaOut": "する", - "tagsIn": [], - "tagsOut": [ + "rulesIn": [], + "rulesOut": [ "vs" ] }, { "kanaIn": "って", "kanaOut": "う", - "tagsIn": [], - "tagsOut": [ + "rulesIn": [], + "rulesOut": [ "v5" ] }, { "kanaIn": "って", "kanaOut": "く", - "tagsIn": [], - "tagsOut": [ + "rulesIn": [], + "rulesOut": [ "v5" ] }, { "kanaIn": "って", "kanaOut": "つ", - "tagsIn": [], - "tagsOut": [ + "rulesIn": [], + "rulesOut": [ "v5" ] }, { "kanaIn": "って", "kanaOut": "る", - "tagsIn": [], - "tagsOut": [ + "rulesIn": [], + "rulesOut": [ "v5" ] }, { "kanaIn": "んで", "kanaOut": "ぬ", - "tagsIn": [], - "tagsOut": [ + "rulesIn": [], + "rulesOut": [ "v5" ] }, { "kanaIn": "んで", "kanaOut": "ぶ", - "tagsIn": [], - "tagsOut": [ + "rulesIn": [], + "rulesOut": [ "v5" ] }, { "kanaIn": "んで", "kanaOut": "む", - "tagsIn": [], - "tagsOut": [ + "rulesIn": [], + "rulesOut": [ "v5" ] } @@ -1012,8 +1012,8 @@ { "kanaIn": "ず", "kanaOut": "る", - "tagsIn": [], - "tagsOut": [ + "rulesIn": [], + "rulesOut": [ "v1", "vk" ] @@ -1021,88 +1021,88 @@ { "kanaIn": "かず", "kanaOut": "く", - "tagsIn": [], - "tagsOut": [ + "rulesIn": [], + "rulesOut": [ "v5" ] }, { "kanaIn": "がず", "kanaOut": "ぐ", - "tagsIn": [], - "tagsOut": [ + "rulesIn": [], + "rulesOut": [ "v5" ] }, { "kanaIn": "こず", "kanaOut": "くる", - "tagsIn": [], - "tagsOut": [ + "rulesIn": [], + "rulesOut": [ "vk" ] }, { "kanaIn": "さず", "kanaOut": "す", - "tagsIn": [], - "tagsOut": [ + "rulesIn": [], + "rulesOut": [ "v5" ] }, { "kanaIn": "せず", "kanaOut": "する", - "tagsIn": [], - "tagsOut": [ + "rulesIn": [], + "rulesOut": [ "vs" ] }, { "kanaIn": "たず", "kanaOut": "つ", - "tagsIn": [], - "tagsOut": [ + "rulesIn": [], + "rulesOut": [ "v5" ] }, { "kanaIn": "なず", "kanaOut": "ぬ", - "tagsIn": [], - "tagsOut": [ + "rulesIn": [], + "rulesOut": [ "v5" ] }, { "kanaIn": "ばず", "kanaOut": "ぶ", - "tagsIn": [], - "tagsOut": [ + "rulesIn": [], + "rulesOut": [ "v5" ] }, { "kanaIn": "まず", "kanaOut": "む", - "tagsIn": [], - "tagsOut": [ + "rulesIn": [], + "rulesOut": [ "v5" ] }, { "kanaIn": "らず", "kanaOut": "る", - "tagsIn": [], - "tagsOut": [ + "rulesIn": [], + "rulesOut": [ "v5" ] }, { "kanaIn": "わず", "kanaOut": "う", - "tagsIn": [], - "tagsOut": [ + "rulesIn": [], + "rulesOut": [ "v5" ] } @@ -1111,8 +1111,8 @@ { "kanaIn": "ぬ", "kanaOut": "る", - "tagsIn": [], - "tagsOut": [ + "rulesIn": [], + "rulesOut": [ "v1", "vk" ] @@ -1120,88 +1120,88 @@ { "kanaIn": "かぬ", "kanaOut": "く", - "tagsIn": [], - "tagsOut": [ + "rulesIn": [], + "rulesOut": [ "v5" ] }, { "kanaIn": "がぬ", "kanaOut": "ぐ", - "tagsIn": [], - "tagsOut": [ + "rulesIn": [], + "rulesOut": [ "v5" ] }, { "kanaIn": "こぬ", "kanaOut": "くる", - "tagsIn": [], - "tagsOut": [ + "rulesIn": [], + "rulesOut": [ "vk" ] }, { "kanaIn": "さぬ", "kanaOut": "す", - "tagsIn": [], - "tagsOut": [ + "rulesIn": [], + "rulesOut": [ "v5" ] }, { "kanaIn": "せぬ", "kanaOut": "する", - "tagsIn": [], - "tagsOut": [ + "rulesIn": [], + "rulesOut": [ "vs" ] }, { "kanaIn": "たぬ", "kanaOut": "つ", - "tagsIn": [], - "tagsOut": [ + "rulesIn": [], + "rulesOut": [ "v5" ] }, { "kanaIn": "なぬ", "kanaOut": "ぬ", - "tagsIn": [], - "tagsOut": [ + "rulesIn": [], + "rulesOut": [ "v5" ] }, { "kanaIn": "ばぬ", "kanaOut": "ぶ", - "tagsIn": [], - "tagsOut": [ + "rulesIn": [], + "rulesOut": [ "v5" ] }, { "kanaIn": "まぬ", "kanaOut": "む", - "tagsIn": [], - "tagsOut": [ + "rulesIn": [], + "rulesOut": [ "v5" ] }, { "kanaIn": "らぬ", "kanaOut": "る", - "tagsIn": [], - "tagsOut": [ + "rulesIn": [], + "rulesOut": [ "v5" ] }, { "kanaIn": "わぬ", "kanaOut": "う", - "tagsIn": [], - "tagsOut": [ + "rulesIn": [], + "rulesOut": [ "v5" ] } @@ -1210,8 +1210,8 @@ { "kanaIn": "く", "kanaOut": "い", - "tagsIn": [], - "tagsOut": [ + "rulesIn": [], + "rulesOut": [ "adj-i" ] } @@ -1220,40 +1220,40 @@ { "kanaIn": "かせる", "kanaOut": "く", - "tagsIn": [ + "rulesIn": [ "v1" ], - "tagsOut": [ + "rulesOut": [ "v5" ] }, { "kanaIn": "がせる", "kanaOut": "ぐ", - "tagsIn": [ + "rulesIn": [ "v1" ], - "tagsOut": [ + "rulesOut": [ "v5" ] }, { "kanaIn": "させる", "kanaOut": "する", - "tagsIn": [ + "rulesIn": [ "v1" ], - "tagsOut": [ + "rulesOut": [ "vs" ] }, { "kanaIn": "させる", "kanaOut": "る", - "tagsIn": [ + "rulesIn": [ "v1" ], - "tagsOut": [ + "rulesOut": [ "v1", "vk" ] @@ -1261,70 +1261,70 @@ { "kanaIn": "たせる", "kanaOut": "つ", - "tagsIn": [ + "rulesIn": [ "v1" ], - "tagsOut": [ + "rulesOut": [ "v5" ] }, { "kanaIn": "なせる", "kanaOut": "ぬ", - "tagsIn": [ + "rulesIn": [ "v1" ], - "tagsOut": [ + "rulesOut": [ "v5" ] }, { "kanaIn": "ばせる", "kanaOut": "ぶ", - "tagsIn": [ + "rulesIn": [ "v1" ], - "tagsOut": [ + "rulesOut": [ "v5" ] }, { "kanaIn": "ませる", "kanaOut": "む", - "tagsIn": [ + "rulesIn": [ "v1" ], - "tagsOut": [ + "rulesOut": [ "v5" ] }, { "kanaIn": "らせる", "kanaOut": "る", - "tagsIn": [ + "rulesIn": [ "v1" ], - "tagsOut": [ + "rulesOut": [ "v5" ] }, { "kanaIn": "わせる", "kanaOut": "う", - "tagsIn": [ + "rulesIn": [ "v1" ], - "tagsOut": [ + "rulesOut": [ "v5" ] }, { "kanaIn": "こさせる", "kanaOut": "くる", - "tagsIn": [ + "rulesIn": [ "v1" ], - "tagsOut": [ + "rulesOut": [ "vk" ] } @@ -1333,120 +1333,120 @@ { "kanaIn": "い", "kanaOut": "る", - "tagsIn": [], - "tagsOut": [ + "rulesIn": [], + "rulesOut": [ "vk" ] }, { "kanaIn": "え", "kanaOut": "う", - "tagsIn": [], - "tagsOut": [ + "rulesIn": [], + "rulesOut": [ "v5" ] }, { "kanaIn": "け", "kanaOut": "く", - "tagsIn": [], - "tagsOut": [ + "rulesIn": [], + "rulesOut": [ "v5" ] }, { "kanaIn": "げ", "kanaOut": "ぐ", - "tagsIn": [], - "tagsOut": [ + "rulesIn": [], + "rulesOut": [ "v5" ] }, { "kanaIn": "せ", "kanaOut": "す", - "tagsIn": [], - "tagsOut": [ + "rulesIn": [], + "rulesOut": [ "v5" ] }, { "kanaIn": "て", "kanaOut": "つ", - "tagsIn": [], - "tagsOut": [ + "rulesIn": [], + "rulesOut": [ "v5" ] }, { "kanaIn": "ね", "kanaOut": "ぬ", - "tagsIn": [], - "tagsOut": [ + "rulesIn": [], + "rulesOut": [ "v5" ] }, { "kanaIn": "べ", "kanaOut": "ぶ", - "tagsIn": [], - "tagsOut": [ + "rulesIn": [], + "rulesOut": [ "v5" ] }, { "kanaIn": "め", "kanaOut": "む", - "tagsIn": [], - "tagsOut": [ + "rulesIn": [], + "rulesOut": [ "v5" ] }, { "kanaIn": "よ", "kanaOut": "る", - "tagsIn": [], - "tagsOut": [ + "rulesIn": [], + "rulesOut": [ "v1" ] }, { "kanaIn": "れ", "kanaOut": "る", - "tagsIn": [], - "tagsOut": [ + "rulesIn": [], + "rulesOut": [ "v5" ] }, { "kanaIn": "ろ", "kanaOut": "る", - "tagsIn": [], - "tagsOut": [ + "rulesIn": [], + "rulesOut": [ "v1" ] }, { "kanaIn": "こい", "kanaOut": "くる", - "tagsIn": [], - "tagsOut": [ + "rulesIn": [], + "rulesOut": [ "vk" ] }, { "kanaIn": "しろ", "kanaOut": "する", - "tagsIn": [], - "tagsOut": [ + "rulesIn": [], + "rulesOut": [ "vs" ] }, { "kanaIn": "せよ", "kanaOut": "する", - "tagsIn": [], - "tagsOut": [ + "rulesIn": [], + "rulesOut": [ "vs" ] } @@ -1455,8 +1455,8 @@ { "kanaIn": "な", "kanaOut": "", - "tagsIn": [], - "tagsOut": [ + "rulesIn": [], + "rulesOut": [ "v1", "v5", "vk", @@ -1468,248 +1468,248 @@ { "kanaIn": "い", "kanaOut": "いる", - "tagsIn": [], - "tagsOut": [ + "rulesIn": [], + "rulesOut": [ "v1" ] }, { "kanaIn": "い", "kanaOut": "う", - "tagsIn": [], - "tagsOut": [ + "rulesIn": [], + "rulesOut": [ "v5" ] }, { "kanaIn": "え", "kanaOut": "える", - "tagsIn": [], - "tagsOut": [ + "rulesIn": [], + "rulesOut": [ "v1" ] }, { "kanaIn": "き", "kanaOut": "きる", - "tagsIn": [], - "tagsOut": [ + "rulesIn": [], + "rulesOut": [ "v1" ] }, { "kanaIn": "き", "kanaOut": "く", - "tagsIn": [], - "tagsOut": [ + "rulesIn": [], + "rulesOut": [ "v5" ] }, { "kanaIn": "ぎ", "kanaOut": "ぎる", - "tagsIn": [], - "tagsOut": [ + "rulesIn": [], + "rulesOut": [ "v1" ] }, { "kanaIn": "ぎ", "kanaOut": "ぐ", - "tagsIn": [], - "tagsOut": [ + "rulesIn": [], + "rulesOut": [ "v5" ] }, { "kanaIn": "け", "kanaOut": "ける", - "tagsIn": [], - "tagsOut": [ + "rulesIn": [], + "rulesOut": [ "v1" ] }, { "kanaIn": "げ", "kanaOut": "げる", - "tagsIn": [], - "tagsOut": [ + "rulesIn": [], + "rulesOut": [ "v1" ] }, { "kanaIn": "し", "kanaOut": "す", - "tagsIn": [], - "tagsOut": [ + "rulesIn": [], + "rulesOut": [ "v5" ] }, { "kanaIn": "じ", "kanaOut": "じる", - "tagsIn": [], - "tagsOut": [ + "rulesIn": [], + "rulesOut": [ "v1" ] }, { "kanaIn": "せ", "kanaOut": "せる", - "tagsIn": [], - "tagsOut": [ + "rulesIn": [], + "rulesOut": [ "v1" ] }, { "kanaIn": "ぜ", "kanaOut": "ぜる", - "tagsIn": [], - "tagsOut": [ + "rulesIn": [], + "rulesOut": [ "v1" ] }, { "kanaIn": "ち", "kanaOut": "ちる", - "tagsIn": [], - "tagsOut": [ + "rulesIn": [], + "rulesOut": [ "v1" ] }, { "kanaIn": "ち", "kanaOut": "つ", - "tagsIn": [], - "tagsOut": [ + "rulesIn": [], + "rulesOut": [ "v5" ] }, { "kanaIn": "て", "kanaOut": "てる", - "tagsIn": [], - "tagsOut": [ + "rulesIn": [], + "rulesOut": [ "v1" ] }, { "kanaIn": "で", "kanaOut": "でる", - "tagsIn": [], - "tagsOut": [ + "rulesIn": [], + "rulesOut": [ "v1" ] }, { "kanaIn": "に", "kanaOut": "にる", - "tagsIn": [], - "tagsOut": [ + "rulesIn": [], + "rulesOut": [ "v1" ] }, { "kanaIn": "に", "kanaOut": "ぬ", - "tagsIn": [], - "tagsOut": [ + "rulesIn": [], + "rulesOut": [ "v5" ] }, { "kanaIn": "ね", "kanaOut": "ねる", - "tagsIn": [], - "tagsOut": [ + "rulesIn": [], + "rulesOut": [ "v1" ] }, { "kanaIn": "ひ", "kanaOut": "ひる", - "tagsIn": [], - "tagsOut": [ + "rulesIn": [], + "rulesOut": [ "v1" ] }, { "kanaIn": "び", "kanaOut": "びる", - "tagsIn": [], - "tagsOut": [ + "rulesIn": [], + "rulesOut": [ "v1" ] }, { "kanaIn": "び", "kanaOut": "ぶ", - "tagsIn": [], - "tagsOut": [ + "rulesIn": [], + "rulesOut": [ "v5" ] }, { "kanaIn": "へ", "kanaOut": "へる", - "tagsIn": [], - "tagsOut": [ + "rulesIn": [], + "rulesOut": [ "v1" ] }, { "kanaIn": "べ", "kanaOut": "べる", - "tagsIn": [], - "tagsOut": [ + "rulesIn": [], + "rulesOut": [ "v1" ] }, { "kanaIn": "み", "kanaOut": "みる", - "tagsIn": [], - "tagsOut": [ + "rulesIn": [], + "rulesOut": [ "v1" ] }, { "kanaIn": "み", "kanaOut": "む", - "tagsIn": [], - "tagsOut": [ + "rulesIn": [], + "rulesOut": [ "v5" ] }, { "kanaIn": "め", "kanaOut": "める", - "tagsIn": [], - "tagsOut": [ + "rulesIn": [], + "rulesOut": [ "v1" ] }, { "kanaIn": "り", "kanaOut": "りる", - "tagsIn": [], - "tagsOut": [ + "rulesIn": [], + "rulesOut": [ "v1" ] }, { "kanaIn": "り", "kanaOut": "る", - "tagsIn": [], - "tagsOut": [ + "rulesIn": [], + "rulesOut": [ "v5" ] }, { "kanaIn": "れ", "kanaOut": "れる", - "tagsIn": [], - "tagsOut": [ + "rulesIn": [], + "rulesOut": [ "v1" ] } @@ -1718,10 +1718,10 @@ { "kanaIn": "ない", "kanaOut": "る", - "tagsIn": [ + "rulesIn": [ "adj-i" ], - "tagsOut": [ + "rulesOut": [ "v1", "vk" ] @@ -1729,120 +1729,120 @@ { "kanaIn": "かない", "kanaOut": "く", - "tagsIn": [ + "rulesIn": [ "adj-i" ], - "tagsOut": [ + "rulesOut": [ "v5" ] }, { "kanaIn": "がない", "kanaOut": "ぐ", - "tagsIn": [ + "rulesIn": [ "adj-i" ], - "tagsOut": [ + "rulesOut": [ "v5" ] }, { "kanaIn": "くない", "kanaOut": "い", - "tagsIn": [ + "rulesIn": [ "adj-i" ], - "tagsOut": [ + "rulesOut": [ "adj-i" ] }, { "kanaIn": "こない", "kanaOut": "くる", - "tagsIn": [ + "rulesIn": [ "adj-i" ], - "tagsOut": [ + "rulesOut": [ "vk" ] }, { "kanaIn": "さない", "kanaOut": "す", - "tagsIn": [ + "rulesIn": [ "adj-i" ], - "tagsOut": [ + "rulesOut": [ "v5" ] }, { "kanaIn": "しない", "kanaOut": "する", - "tagsIn": [ + "rulesIn": [ "adj-i" ], - "tagsOut": [ + "rulesOut": [ "vs" ] }, { "kanaIn": "たない", "kanaOut": "つ", - "tagsIn": [ + "rulesIn": [ "adj-i" ], - "tagsOut": [ + "rulesOut": [ "v5" ] }, { "kanaIn": "なない", "kanaOut": "ぬ", - "tagsIn": [ + "rulesIn": [ "adj-i" ], - "tagsOut": [ + "rulesOut": [ "v5" ] }, { "kanaIn": "ばない", "kanaOut": "ぶ", - "tagsIn": [ + "rulesIn": [ "adj-i" ], - "tagsOut": [ + "rulesOut": [ "v5" ] }, { "kanaIn": "まない", "kanaOut": "む", - "tagsIn": [ + "rulesIn": [ "adj-i" ], - "tagsOut": [ + "rulesOut": [ "v5" ] }, { "kanaIn": "らない", "kanaOut": "る", - "tagsIn": [ + "rulesIn": [ "adj-i" ], - "tagsOut": [ + "rulesOut": [ "v5" ] }, { "kanaIn": "わない", "kanaOut": "う", - "tagsIn": [ + "rulesIn": [ "adj-i" ], - "tagsOut": [ + "rulesOut": [ "v5" ] } @@ -1851,8 +1851,8 @@ { "kanaIn": "さ", "kanaOut": "い", - "tagsIn": [], - "tagsOut": [ + "rulesIn": [], + "rulesOut": [ "adj-i" ] } @@ -1861,80 +1861,80 @@ { "kanaIn": "かれる", "kanaOut": "く", - "tagsIn": [ + "rulesIn": [ "v1" ], - "tagsOut": [ + "rulesOut": [ "v5" ] }, { "kanaIn": "がれる", "kanaOut": "ぐ", - "tagsIn": [ + "rulesIn": [ "v1" ], - "tagsOut": [ + "rulesOut": [ "v5" ] }, { "kanaIn": "される", "kanaOut": "する", - "tagsIn": [ + "rulesIn": [ "v1" ], - "tagsOut": [ + "rulesOut": [ "vs" ] }, { "kanaIn": "たれる", "kanaOut": "つ", - "tagsIn": [ + "rulesIn": [ "v1" ], - "tagsOut": [ + "rulesOut": [ "v5" ] }, { "kanaIn": "なれる", "kanaOut": "ぬ", - "tagsIn": [ + "rulesIn": [ "v1" ], - "tagsOut": [ + "rulesOut": [ "v5" ] }, { "kanaIn": "ばれる", "kanaOut": "ぶ", - "tagsIn": [ + "rulesIn": [ "v1" ], - "tagsOut": [ + "rulesOut": [ "v5" ] }, { "kanaIn": "まれる", "kanaOut": "む", - "tagsIn": [ + "rulesIn": [ "v1" ], - "tagsOut": [ + "rulesOut": [ "v5" ] }, { "kanaIn": "われる", "kanaOut": "う", - "tagsIn": [ + "rulesIn": [ "v1" ], - "tagsOut": [ + "rulesOut": [ "v5" ] } @@ -1943,10 +1943,10 @@ { "kanaIn": "される", "kanaOut": "す", - "tagsIn": [ + "rulesIn": [ "v1" ], - "tagsOut": [ + "rulesOut": [ "v5" ] } @@ -1955,8 +1955,8 @@ { "kanaIn": "た", "kanaOut": "る", - "tagsIn": [], - "tagsOut": [ + "rulesIn": [], + "rulesOut": [ "v1", "vk" ] @@ -1964,104 +1964,104 @@ { "kanaIn": "いた", "kanaOut": "く", - "tagsIn": [], - "tagsOut": [ + "rulesIn": [], + "rulesOut": [ "v5" ] }, { "kanaIn": "いだ", "kanaOut": "ぐ", - "tagsIn": [], - "tagsOut": [ + "rulesIn": [], + "rulesOut": [ "v5" ] }, { "kanaIn": "きた", "kanaOut": "くる", - "tagsIn": [], - "tagsOut": [ + "rulesIn": [], + "rulesOut": [ "vk" ] }, { "kanaIn": "した", "kanaOut": "す", - "tagsIn": [], - "tagsOut": [ + "rulesIn": [], + "rulesOut": [ "v5" ] }, { "kanaIn": "した", "kanaOut": "する", - "tagsIn": [], - "tagsOut": [ + "rulesIn": [], + "rulesOut": [ "vs" ] }, { "kanaIn": "った", "kanaOut": "う", - "tagsIn": [], - "tagsOut": [ + "rulesIn": [], + "rulesOut": [ "v5" ] }, { "kanaIn": "った", "kanaOut": "く", - "tagsIn": [], - "tagsOut": [ + "rulesIn": [], + "rulesOut": [ "v5" ] }, { "kanaIn": "った", "kanaOut": "つ", - "tagsIn": [], - "tagsOut": [ + "rulesIn": [], + "rulesOut": [ "v5" ] }, { "kanaIn": "った", "kanaOut": "る", - "tagsIn": [], - "tagsOut": [ + "rulesIn": [], + "rulesOut": [ "v5" ] }, { "kanaIn": "んだ", "kanaOut": "ぬ", - "tagsIn": [], - "tagsOut": [ + "rulesIn": [], + "rulesOut": [ "v5" ] }, { "kanaIn": "んだ", "kanaOut": "ぶ", - "tagsIn": [], - "tagsOut": [ + "rulesIn": [], + "rulesOut": [ "v5" ] }, { "kanaIn": "んだ", "kanaOut": "む", - "tagsIn": [], - "tagsOut": [ + "rulesIn": [], + "rulesOut": [ "v5" ] }, { "kanaIn": "かった", "kanaOut": "い", - "tagsIn": [], - "tagsOut": [ + "rulesIn": [], + "rulesOut": [ "adj-i" ] } @@ -2070,8 +2070,8 @@ { "kanaIn": "ます", "kanaOut": "る", - "tagsIn": [], - "tagsOut": [ + "rulesIn": [], + "rulesOut": [ "v1", "vk" ] @@ -2079,88 +2079,88 @@ { "kanaIn": "います", "kanaOut": "う", - "tagsIn": [], - "tagsOut": [ + "rulesIn": [], + "rulesOut": [ "v5" ] }, { "kanaIn": "きます", "kanaOut": "く", - "tagsIn": [], - "tagsOut": [ + "rulesIn": [], + "rulesOut": [ "v5" ] }, { "kanaIn": "きます", "kanaOut": "くる", - "tagsIn": [], - "tagsOut": [ + "rulesIn": [], + "rulesOut": [ "vk" ] }, { "kanaIn": "ぎます", "kanaOut": "ぐ", - "tagsIn": [], - "tagsOut": [ + "rulesIn": [], + "rulesOut": [ "v5" ] }, { "kanaIn": "します", "kanaOut": "す", - "tagsIn": [], - "tagsOut": [ + "rulesIn": [], + "rulesOut": [ "v5" ] }, { "kanaIn": "します", "kanaOut": "する", - "tagsIn": [], - "tagsOut": [ + "rulesIn": [], + "rulesOut": [ "vs" ] }, { "kanaIn": "ちます", "kanaOut": "つ", - "tagsIn": [], - "tagsOut": [ + "rulesIn": [], + "rulesOut": [ "v5" ] }, { "kanaIn": "にます", "kanaOut": "ぬ", - "tagsIn": [], - "tagsOut": [ + "rulesIn": [], + "rulesOut": [ "v5" ] }, { "kanaIn": "びます", "kanaOut": "ぶ", - "tagsIn": [], - "tagsOut": [ + "rulesIn": [], + "rulesOut": [ "v5" ] }, { "kanaIn": "みます", "kanaOut": "む", - "tagsIn": [], - "tagsOut": [ + "rulesIn": [], + "rulesOut": [ "v5" ] }, { "kanaIn": "ります", "kanaOut": "る", - "tagsIn": [], - "tagsOut": [ + "rulesIn": [], + "rulesOut": [ "v5" ] } @@ -2169,8 +2169,8 @@ { "kanaIn": "ません", "kanaOut": "る", - "tagsIn": [], - "tagsOut": [ + "rulesIn": [], + "rulesOut": [ "v1", "vk" ] @@ -2178,96 +2178,96 @@ { "kanaIn": "いません", "kanaOut": "う", - "tagsIn": [], - "tagsOut": [ + "rulesIn": [], + "rulesOut": [ "v5" ] }, { "kanaIn": "きません", "kanaOut": "く", - "tagsIn": [], - "tagsOut": [ + "rulesIn": [], + "rulesOut": [ "v5" ] }, { "kanaIn": "きません", "kanaOut": "くる", - "tagsIn": [], - "tagsOut": [ + "rulesIn": [], + "rulesOut": [ "vk" ] }, { "kanaIn": "ぎません", "kanaOut": "ぐ", - "tagsIn": [], - "tagsOut": [ + "rulesIn": [], + "rulesOut": [ "v5" ] }, { "kanaIn": "しません", "kanaOut": "す", - "tagsIn": [], - "tagsOut": [ + "rulesIn": [], + "rulesOut": [ "v5" ] }, { "kanaIn": "しません", "kanaOut": "する", - "tagsIn": [], - "tagsOut": [ + "rulesIn": [], + "rulesOut": [ "vs" ] }, { "kanaIn": "ちません", "kanaOut": "つ", - "tagsIn": [], - "tagsOut": [ + "rulesIn": [], + "rulesOut": [ "v5" ] }, { "kanaIn": "にません", "kanaOut": "ぬ", - "tagsIn": [], - "tagsOut": [ + "rulesIn": [], + "rulesOut": [ "v5" ] }, { "kanaIn": "びません", "kanaOut": "ぶ", - "tagsIn": [], - "tagsOut": [ + "rulesIn": [], + "rulesOut": [ "v5" ] }, { "kanaIn": "みません", "kanaOut": "む", - "tagsIn": [], - "tagsOut": [ + "rulesIn": [], + "rulesOut": [ "v5" ] }, { "kanaIn": "りません", "kanaOut": "る", - "tagsIn": [], - "tagsOut": [ + "rulesIn": [], + "rulesOut": [ "v5" ] }, { "kanaIn": "くありません", "kanaOut": "い", - "tagsIn": [], - "tagsOut": [ + "rulesIn": [], + "rulesOut": [ "adj-i" ] } @@ -2276,8 +2276,8 @@ { "kanaIn": "ました", "kanaOut": "る", - "tagsIn": [], - "tagsOut": [ + "rulesIn": [], + "rulesOut": [ "v1", "vk" ] @@ -2285,88 +2285,88 @@ { "kanaIn": "いました", "kanaOut": "う", - "tagsIn": [], - "tagsOut": [ + "rulesIn": [], + "rulesOut": [ "v5" ] }, { "kanaIn": "きました", "kanaOut": "く", - "tagsIn": [], - "tagsOut": [ + "rulesIn": [], + "rulesOut": [ "v5" ] }, { "kanaIn": "きました", "kanaOut": "くる", - "tagsIn": [], - "tagsOut": [ + "rulesIn": [], + "rulesOut": [ "vk" ] }, { "kanaIn": "ぎました", "kanaOut": "ぐ", - "tagsIn": [], - "tagsOut": [ + "rulesIn": [], + "rulesOut": [ "v5" ] }, { "kanaIn": "しました", "kanaOut": "す", - "tagsIn": [], - "tagsOut": [ + "rulesIn": [], + "rulesOut": [ "v5" ] }, { "kanaIn": "しました", "kanaOut": "する", - "tagsIn": [], - "tagsOut": [ + "rulesIn": [], + "rulesOut": [ "vs" ] }, { "kanaIn": "ちました", "kanaOut": "つ", - "tagsIn": [], - "tagsOut": [ + "rulesIn": [], + "rulesOut": [ "v5" ] }, { "kanaIn": "にました", "kanaOut": "ぬ", - "tagsIn": [], - "tagsOut": [ + "rulesIn": [], + "rulesOut": [ "v5" ] }, { "kanaIn": "びました", "kanaOut": "ぶ", - "tagsIn": [], - "tagsOut": [ + "rulesIn": [], + "rulesOut": [ "v5" ] }, { "kanaIn": "みました", "kanaOut": "む", - "tagsIn": [], - "tagsOut": [ + "rulesIn": [], + "rulesOut": [ "v5" ] }, { "kanaIn": "りました", "kanaOut": "る", - "tagsIn": [], - "tagsOut": [ + "rulesIn": [], + "rulesOut": [ "v5" ] } @@ -2375,8 +2375,8 @@ { "kanaIn": "ませんでした", "kanaOut": "る", - "tagsIn": [], - "tagsOut": [ + "rulesIn": [], + "rulesOut": [ "v1", "vk" ] @@ -2384,96 +2384,96 @@ { "kanaIn": "いませんでした", "kanaOut": "う", - "tagsIn": [], - "tagsOut": [ + "rulesIn": [], + "rulesOut": [ "v5" ] }, { "kanaIn": "きませんでした", "kanaOut": "く", - "tagsIn": [], - "tagsOut": [ + "rulesIn": [], + "rulesOut": [ "v5" ] }, { "kanaIn": "きませんでした", "kanaOut": "くる", - "tagsIn": [], - "tagsOut": [ + "rulesIn": [], + "rulesOut": [ "vk" ] }, { "kanaIn": "ぎませんでした", "kanaOut": "ぐ", - "tagsIn": [], - "tagsOut": [ + "rulesIn": [], + "rulesOut": [ "v5" ] }, { "kanaIn": "しませんでした", "kanaOut": "す", - "tagsIn": [], - "tagsOut": [ + "rulesIn": [], + "rulesOut": [ "v5" ] }, { "kanaIn": "しませんでした", "kanaOut": "する", - "tagsIn": [], - "tagsOut": [ + "rulesIn": [], + "rulesOut": [ "vs" ] }, { "kanaIn": "ちませんでした", "kanaOut": "つ", - "tagsIn": [], - "tagsOut": [ + "rulesIn": [], + "rulesOut": [ "v5" ] }, { "kanaIn": "にませんでした", "kanaOut": "ぬ", - "tagsIn": [], - "tagsOut": [ + "rulesIn": [], + "rulesOut": [ "v5" ] }, { "kanaIn": "びませんでした", "kanaOut": "ぶ", - "tagsIn": [], - "tagsOut": [ + "rulesIn": [], + "rulesOut": [ "v5" ] }, { "kanaIn": "みませんでした", "kanaOut": "む", - "tagsIn": [], - "tagsOut": [ + "rulesIn": [], + "rulesOut": [ "v5" ] }, { "kanaIn": "りませんでした", "kanaOut": "る", - "tagsIn": [], - "tagsOut": [ + "rulesIn": [], + "rulesOut": [ "v5" ] }, { "kanaIn": "くありませんでした", "kanaOut": "い", - "tagsIn": [], - "tagsOut": [ + "rulesIn": [], + "rulesOut": [ "adj-i" ] } @@ -2482,8 +2482,8 @@ { "kanaIn": "ましょう", "kanaOut": "る", - "tagsIn": [], - "tagsOut": [ + "rulesIn": [], + "rulesOut": [ "v1", "vk" ] @@ -2491,88 +2491,88 @@ { "kanaIn": "いましょう", "kanaOut": "う", - "tagsIn": [], - "tagsOut": [ + "rulesIn": [], + "rulesOut": [ "v5" ] }, { "kanaIn": "きましょう", "kanaOut": "く", - "tagsIn": [], - "tagsOut": [ + "rulesIn": [], + "rulesOut": [ "v5" ] }, { "kanaIn": "きましょう", "kanaOut": "くる", - "tagsIn": [], - "tagsOut": [ + "rulesIn": [], + "rulesOut": [ "vk" ] }, { "kanaIn": "ぎましょう", "kanaOut": "ぐ", - "tagsIn": [], - "tagsOut": [ + "rulesIn": [], + "rulesOut": [ "v5" ] }, { "kanaIn": "しましょう", "kanaOut": "す", - "tagsIn": [], - "tagsOut": [ + "rulesIn": [], + "rulesOut": [ "v5" ] }, { "kanaIn": "しましょう", "kanaOut": "する", - "tagsIn": [], - "tagsOut": [ + "rulesIn": [], + "rulesOut": [ "vs" ] }, { "kanaIn": "ちましょう", "kanaOut": "つ", - "tagsIn": [], - "tagsOut": [ + "rulesIn": [], + "rulesOut": [ "v5" ] }, { "kanaIn": "にましょう", "kanaOut": "ぬ", - "tagsIn": [], - "tagsOut": [ + "rulesIn": [], + "rulesOut": [ "v5" ] }, { "kanaIn": "びましょう", "kanaOut": "ぶ", - "tagsIn": [], - "tagsOut": [ + "rulesIn": [], + "rulesOut": [ "v5" ] }, { "kanaIn": "みましょう", "kanaOut": "む", - "tagsIn": [], - "tagsOut": [ + "rulesIn": [], + "rulesOut": [ "v5" ] }, { "kanaIn": "りましょう", "kanaOut": "る", - "tagsIn": [], - "tagsOut": [ + "rulesIn": [], + "rulesOut": [ "v5" ] } @@ -2581,90 +2581,90 @@ { "kanaIn": "える", "kanaOut": "う", - "tagsIn": [ + "rulesIn": [ "v1" ], - "tagsOut": [ + "rulesOut": [ "v5" ] }, { "kanaIn": "ける", "kanaOut": "く", - "tagsIn": [ + "rulesIn": [ "v1" ], - "tagsOut": [ + "rulesOut": [ "v5" ] }, { "kanaIn": "げる", "kanaOut": "ぐ", - "tagsIn": [ + "rulesIn": [ "v1" ], - "tagsOut": [ + "rulesOut": [ "v5" ] }, { "kanaIn": "せる", "kanaOut": "す", - "tagsIn": [ + "rulesIn": [ "v1" ], - "tagsOut": [ + "rulesOut": [ "v5" ] }, { "kanaIn": "てる", "kanaOut": "つ", - "tagsIn": [ + "rulesIn": [ "v1" ], - "tagsOut": [ + "rulesOut": [ "v5" ] }, { "kanaIn": "ねる", "kanaOut": "ぬ", - "tagsIn": [ + "rulesIn": [ "v1" ], - "tagsOut": [ + "rulesOut": [ "v5" ] }, { "kanaIn": "べる", "kanaOut": "ぶ", - "tagsIn": [ + "rulesIn": [ "v1" ], - "tagsOut": [ + "rulesOut": [ "v5" ] }, { "kanaIn": "める", "kanaOut": "む", - "tagsIn": [ + "rulesIn": [ "v1" ], - "tagsOut": [ + "rulesOut": [ "v5" ] }, { "kanaIn": "れる", "kanaOut": "る", - "tagsIn": [ + "rulesIn": [ "v1" ], - "tagsOut": [ + "rulesOut": [ "v1", "v5", "vk" @@ -2673,10 +2673,10 @@ { "kanaIn": "これる", "kanaOut": "くる", - "tagsIn": [ + "rulesIn": [ "v1" ], - "tagsOut": [ + "rulesOut": [ "vk" ] } @@ -2685,10 +2685,10 @@ { "kanaIn": "られる", "kanaOut": "る", - "tagsIn": [ + "rulesIn": [ "v1" ], - "tagsOut": [ + "rulesOut": [ "v1", "v5", "vk" @@ -2697,10 +2697,10 @@ { "kanaIn": "こられる", "kanaOut": "くる", - "tagsIn": [ + "rulesIn": [ "v1" ], - "tagsOut": [ + "rulesOut": [ "vk" ] } @@ -2709,72 +2709,72 @@ { "kanaIn": "おう", "kanaOut": "う", - "tagsIn": [], - "tagsOut": [ + "rulesIn": [], + "rulesOut": [ "v5" ] }, { "kanaIn": "こう", "kanaOut": "く", - "tagsIn": [], - "tagsOut": [ + "rulesIn": [], + "rulesOut": [ "v5" ] }, { "kanaIn": "ごう", "kanaOut": "ぐ", - "tagsIn": [], - "tagsOut": [ + "rulesIn": [], + "rulesOut": [ "v5" ] }, { "kanaIn": "そう", "kanaOut": "す", - "tagsIn": [], - "tagsOut": [ + "rulesIn": [], + "rulesOut": [ "v5" ] }, { "kanaIn": "とう", "kanaOut": "つ", - "tagsIn": [], - "tagsOut": [ + "rulesIn": [], + "rulesOut": [ "v5" ] }, { "kanaIn": "のう", "kanaOut": "ぬ", - "tagsIn": [], - "tagsOut": [ + "rulesIn": [], + "rulesOut": [ "v5" ] }, { "kanaIn": "ぼう", "kanaOut": "ぶ", - "tagsIn": [], - "tagsOut": [ + "rulesIn": [], + "rulesOut": [ "v5" ] }, { "kanaIn": "もう", "kanaOut": "む", - "tagsIn": [], - "tagsOut": [ + "rulesIn": [], + "rulesOut": [ "v5" ] }, { "kanaIn": "よう", "kanaOut": "る", - "tagsIn": [], - "tagsOut": [ + "rulesIn": [], + "rulesOut": [ "v1", "vk" ] @@ -2782,24 +2782,24 @@ { "kanaIn": "ろう", "kanaOut": "る", - "tagsIn": [], - "tagsOut": [ + "rulesIn": [], + "rulesOut": [ "v5" ] }, { "kanaIn": "こよう", "kanaOut": "くる", - "tagsIn": [], - "tagsOut": [ + "rulesIn": [], + "rulesOut": [ "vk" ] }, { "kanaIn": "しよう", "kanaOut": "する", - "tagsIn": [], - "tagsOut": [ + "rulesIn": [], + "rulesOut": [ "vs" ] } diff --git a/ext/bg/js/deinflector.js b/ext/bg/js/deinflector.js index 5cfb7f75..5ed191cd 100644 --- a/ext/bg/js/deinflector.js +++ b/ext/bg/js/deinflector.js @@ -23,24 +23,25 @@ class Deinflection { this.term = term; this.rules = rules; this.reason = reason; + this.definitions = []; } - deinflect(validator, reasons, entry=false) { + deinflect(definer, reasons, entry=false) { const validate = () => { - if (entry) { - return Promise.resolve(true); - } - - return validator(this.term).then(sets => { - for (const rules of sets) { + return definer(this.term).then(definitions => { + if (entry) { + this.definitions = definitions; + } else { for (const rule of this.rules) { - if (rules.includes(rule)) { - return true; + for (const definition of definitions) { + if (definition.rules.includes(rule)) { + this.definitions.push(definition); + } } } } - return false; + return this.definitions.length > 0; }); }; @@ -74,7 +75,7 @@ class Deinflection { const child = new Deinflection(term, variant.rulesOut, reason); promises.push( - child.deinflect(validator, reasons).then(valid => { + child.deinflect(definer, reasons).then(valid => { if (valid) { this.children.push(child); } @@ -90,12 +91,18 @@ class Deinflection { gather() { if (this.children.length === 0) { - return [{root: this.term, rules: this.rules, reasons: []}]; + return [{ + root: this.term, + rules: this.rules, + definitions: this.definitions, + reasons: [] + }]; } const paths = []; for (const child of this.children) { for (const path of child.gather()) { + path.definitions = path.definitions.concat(this.definitions); if (this.reason.length > 0) { path.reasons.push(this.reason); } @@ -119,8 +126,8 @@ class Deinflector { this.reasons = reasons; } - deinflect(term, validator) { + deinflect(term, definer) { const node = new Deinflection(term); - return node.deinflect(validator, this.reasons, true).then(success => success ? node.gather() : []); + return node.deinflect(definer, this.reasons, true).then(success => success ? node.gather() : []); } } diff --git a/ext/bg/js/translator.js b/ext/bg/js/translator.js index 7d19b5f9..472211e0 100644 --- a/ext/bg/js/translator.js +++ b/ext/bg/js/translator.js @@ -88,68 +88,41 @@ class Translator { } findDeinflectionGroups(text, dictionaries) { - const deinflectionGroups = {}; - const deinflectionPromises = []; + const definer = term => this.database.findTerm(term, dictionaries); + const groups = {}; + const promises = []; for (let i = text.length; i > 0; --i) { - deinflectionPromises.push( - this.deinflector.deinflect(text.slice(0, i), term => { - return this.database.findTerm(term, dictionaries).then(definitions => definitions.map(definition => definition.rules)); - }).then(deinflections => { - const processPromises = []; + promises.push( + this.deinflector.deinflect(text.slice(0, i), definer).then(deinflections => { for (const deinflection of deinflections) { - processPromises.push( - this.processDeinflection( - deinflectionGroups, - deinflection.source, - deinflection.rules, - deinflection.reasons, - deinflection.root, - dictionaries - ) - ); + this.processDeinflection(groups, deinflection); } - - return Promise.all(processPromises); }) ); } - return Promise.all(deinflectionPromises).then(() => deinflectionGroups); + return Promise.all(promises).then(() => groups); } - processDeinflection(groups, source, rules, reasons, root, dictionaries) { - return this.database.findTerm(root, dictionaries).then(definitions => { - for (const definition of definitions) { - if (definition.id in groups) { - continue; - } - - let matched = rules.length === 0; - for (const rule of rules) { - if (definition.rules.includes(rule)) { - matched = true; - break; - } - } - - if (!matched) { - continue; - } - - const tags = definition.tags.map(tag => buildTag(tag, definition.tagMeta)); - groups[definition.id] = { - source, - reasons, - score: definition.score, - dictionary: definition.dictionary, - expression: definition.expression, - reading: definition.reading, - glossary: definition.glossary, - tags: sortTags(tags) - }; + processDeinflection(groups, {source, rules, reasons, root, definitions}, dictionaries) { + for (const definition of definitions) { + if (definition.id in groups) { + continue; } - }); + + const tags = definition.tags.map(tag => buildTag(tag, definition.tagMeta)); + groups[definition.id] = { + source, + reasons, + score: definition.score, + dictionary: definition.dictionary, + expression: definition.expression, + reading: definition.reading, + glossary: definition.glossary, + tags: sortTags(tags) + }; + } } processKanji(definitions) { -- cgit v1.2.3 From dd3db8faadb55ac2013df168a857a1d10d9184cd Mon Sep 17 00:00:00 2001 From: Alex Yatskov Date: Tue, 20 Dec 2016 21:54:01 -0800 Subject: fixing various deinflection issues --- ext/bg/data/deinflect.json | 8 ------ ext/bg/js/deinflector.js | 66 +++++++++++++++++++++------------------------- ext/bg/js/translator.js | 2 +- 3 files changed, 31 insertions(+), 45 deletions(-) (limited to 'ext/bg/data/deinflect.json') diff --git a/ext/bg/data/deinflect.json b/ext/bg/data/deinflect.json index 256633e0..532f8e62 100644 --- a/ext/bg/data/deinflect.json +++ b/ext/bg/data/deinflect.json @@ -2009,14 +2009,6 @@ "v5" ] }, - { - "kanaIn": "った", - "kanaOut": "く", - "rulesIn": [], - "rulesOut": [ - "v5" - ] - }, { "kanaIn": "った", "kanaOut": "つ", diff --git a/ext/bg/js/deinflector.js b/ext/bg/js/deinflector.js index 5ed191cd..6e480068 100644 --- a/ext/bg/js/deinflector.js +++ b/ext/bg/js/deinflector.js @@ -18,18 +18,18 @@ class Deinflection { - constructor(term, rules=[], reason='') { - this.children = []; + constructor(term, {rules=[], definitions=[], reason=''} = {}) { this.term = term; this.rules = rules; + this.definitions = definitions; this.reason = reason; - this.definitions = []; + this.children = []; } - deinflect(definer, reasons, entry=false) { - const validate = () => { + deinflect(definer, reasons) { + const define = () => { return definer(this.term).then(definitions => { - if (entry) { + if (this.rules.length === 0) { this.definitions = definitions; } else { for (const rule of this.rules) { @@ -45,26 +45,20 @@ class Deinflection { }); }; - const promises = [ - validate().then(valid => { - const child = new Deinflection(this.term, this.rules); - this.children.push(child); - }) - ]; - + const promises = []; for (const reason in reasons) { for (const variant of reasons[reason]) { - let allowed = entry; - if (!allowed) { + let accept = this.rules.length === 0; + if (!accept) { for (const rule of this.rules) { if (variant.rulesIn.includes(rule)) { - allowed = true; + accept = true; break; } } } - if (!allowed || !this.term.endsWith(variant.kanaIn)) { + if (!accept || !this.term.endsWith(variant.kanaIn)) { continue; } @@ -73,46 +67,46 @@ class Deinflection { continue; } - const child = new Deinflection(term, variant.rulesOut, reason); + const child = new Deinflection(term, {reason, rules: variant.rulesOut}); promises.push( - child.deinflect(definer, reasons).then(valid => { - if (valid) { - this.children.push(child); - } - } - )); + child.deinflect(definer, reasons).then(valid => valid && this.children.push(child)) + ); } } - return Promise.all(promises).then(() => { - return this.children.length > 0; + return Promise.all(promises).then(define).then(valid => { + if (valid && this.children.length > 0) { + const child = new Deinflection(this.term, {rules: this.rules, definitions: this.definitions}); + this.children.push(child); + } + + return valid || this.children.length > 0; }); } gather() { if (this.children.length === 0) { return [{ - root: this.term, + source: this.term, rules: this.rules, definitions: this.definitions, - reasons: [] + reasons: [this.reason] }]; } - const paths = []; + const results = []; for (const child of this.children) { - for (const path of child.gather()) { - path.definitions = path.definitions.concat(this.definitions); + for (const result of child.gather()) { if (this.reason.length > 0) { - path.reasons.push(this.reason); + result.reasons.push(this.reason); } - path.source = this.term; - paths.push(path); + result.source = this.term; + results.push(result); } } - return paths; + return results; } } @@ -128,6 +122,6 @@ class Deinflector { deinflect(term, definer) { const node = new Deinflection(term); - return node.deinflect(definer, this.reasons, true).then(success => success ? node.gather() : []); + return node.deinflect(definer, this.reasons).then(success => success ? node.gather() : []); } } diff --git a/ext/bg/js/translator.js b/ext/bg/js/translator.js index 472211e0..0b6b7c2d 100644 --- a/ext/bg/js/translator.js +++ b/ext/bg/js/translator.js @@ -105,7 +105,7 @@ class Translator { return Promise.all(promises).then(() => groups); } - processDeinflection(groups, {source, rules, reasons, root, definitions}, dictionaries) { + processDeinflection(groups, {source, rules, reasons, definitions}, dictionaries) { for (const definition of definitions) { if (definition.id in groups) { continue; -- cgit v1.2.3