From 2b87c919bcd879c7f356308bc522b95f33e35f3b Mon Sep 17 00:00:00 2001 From: StefanVukovic99 Date: Sat, 20 Jan 2024 02:25:23 +0100 Subject: Dictionary deinflections (#503) * wip * wip * fix v3 * wip * fix tests * fix maxitems * hide deinflection definitions * fix anki template * undo unnecessary change * delete console.log * refactor * add set false to handlebars * lint * fix tests * fix comments * fix * use Map in areArraysEqualIgnoreOrder * move inflection source icons to css * lint * improve naming * fix tests * add test * typescript * use for of * wip * comments * anki template upgrade * update descriptions --- test/data/anki-note-builder-test-results.json | 36 + test/data/database-test-cases.json | 6 +- .../valid-dictionary1/term_bank_1.json | 4 +- test/data/translator-test-inputs.json | 10 +- test/data/translator-test-results-note-data1.json | 791 ++++++++++++++++--- test/data/translator-test-results.json | 837 +++++++++++++++++---- 6 files changed, 1417 insertions(+), 267 deletions(-) (limited to 'test/data') diff --git a/test/data/anki-note-builder-test-results.json b/test/data/anki-note-builder-test-results.json index 86bffc6a..7129d748 100644 --- a/test/data/anki-note-builder-test-results.json +++ b/test/data/anki-note-builder-test-results.json @@ -2867,5 +2867,41 @@ "url": "url:" } ] + }, + { + "name": "Test dictionary deinflection", + "results": [ + { + "audio": "", + "clipboard-image": "", + "clipboard-text": "", + "cloze-body": "のたもうた", + "cloze-prefix": "cloze-prefix", + "cloze-suffix": "cloze-suffix", + "conjugation": "past", + "dictionary": "Test Dictionary 2", + "document-title": "title", + "expression": "のたまう", + "frequencies": "", + "furigana": "のたまう", + "furigana-plain": "のたまう", + "glossary": "
(v5, Test Dictionary 2) notamau definition
", + "glossary-brief": "
notamau definition
", + "glossary-no-dictionary": "
(v5) notamau definition
", + "part-of-speech": "Godan verb", + "pitch-accents": "No pitch accent data", + "pitch-accent-graphs": "No pitch accent data", + "pitch-accent-positions": "No pitch accent data", + "phonetic-transcriptions": "", + "reading": "のたまう", + "screenshot": "", + "search-query": "fullQuery", + "selection-text": "", + "sentence": "cloze-prefixのたもうたcloze-suffix", + "sentence-furigana": "cloze-prefixのたもうたcloze-suffix", + "tags": "v5", + "url": "url:" + } + ] } ] \ No newline at end of file diff --git a/test/data/database-test-cases.json b/test/data/database-test-cases.json index 02fddd49..611903dd 100644 --- a/test/data/database-test-cases.json +++ b/test/data/database-test-cases.json @@ -27,7 +27,7 @@ "ipa": 1 }, "terms": { - "total": 23 + "total": 25 } } }, @@ -36,7 +36,7 @@ { "kanji": 2, "kanjiMeta": 6, - "terms": 23, + "terms": 25, "termMeta": 39, "tagMeta": 15, "media": 6 @@ -45,7 +45,7 @@ "total": { "kanji": 2, "kanjiMeta": 6, - "terms": 23, + "terms": 25, "termMeta": 39, "tagMeta": 15, "media": 6 diff --git a/test/data/dictionaries/valid-dictionary1/term_bank_1.json b/test/data/dictionaries/valid-dictionary1/term_bank_1.json index ce4290bd..7f2af6dd 100644 --- a/test/data/dictionaries/valid-dictionary1/term_bank_1.json +++ b/test/data/dictionaries/valid-dictionary1/term_bank_1.json @@ -337,5 +337,7 @@ {"type": "structured-content", "content": "kouzou definition 3 (構造)"} ], 101, "P E1" - ] + ], + ["のたまう", "のたまう", "v5", "v5", 1, ["notamau definition"], 15, ""], + ["のたもうた", "のたもうた", "", "", 1, [["のたまう", ["past"]]], 16, ""] ] \ No newline at end of file diff --git a/test/data/translator-test-inputs.json b/test/data/translator-test-inputs.json index 91cf0ab2..ce449c1e 100644 --- a/test/data/translator-test-inputs.json +++ b/test/data/translator-test-inputs.json @@ -35,7 +35,8 @@ "index": 0, "priority": 0, "allowSecondarySearches": false, - "partsOfSpeechFilter": true + "partsOfSpeechFilter": true, + "useDeinflections": true } ] ] @@ -344,6 +345,13 @@ "mode": "split", "text": "構造", "options": "default" + }, + { + "name": "Test dictionary deinflection", + "func": "findTerms", + "mode": "split", + "text": "のたもうた", + "options": "default" } ] } \ No newline at end of file diff --git a/test/data/translator-test-results-note-data1.json b/test/data/translator-test-results-note-data1.json index 1342a63f..c34842da 100644 --- a/test/data/translator-test-results-note-data1.json +++ b/test/data/translator-test-results-note-data1.json @@ -341,7 +341,12 @@ "source": "打", "rawSource": "打", "sourceTerm": "打", - "reasons": [], + "inflectionRuleChainCandidates": [ + { + "source": "algorithm", + "inflectionRules": [] + } + ], "score": 1, "isPrimary": true, "sequence": 1, @@ -647,7 +652,12 @@ "source": "打", "rawSource": "打", "sourceTerm": "打", - "reasons": [], + "inflectionRuleChainCandidates": [ + { + "source": "algorithm", + "inflectionRules": [] + } + ], "score": 1, "isPrimary": true, "sequence": 2, @@ -967,7 +977,12 @@ "source": "打つ", "rawSource": "打つ", "sourceTerm": "打つ", - "reasons": [], + "inflectionRuleChainCandidates": [ + { + "source": "algorithm", + "inflectionRules": [] + } + ], "score": 10, "isPrimary": true, "sequence": 3, @@ -1273,7 +1288,12 @@ "source": "打つ", "rawSource": "打つ", "sourceTerm": "打つ", - "reasons": [], + "inflectionRuleChainCandidates": [ + { + "source": "algorithm", + "inflectionRules": [] + } + ], "score": 10, "isPrimary": true, "sequence": 3, @@ -1579,7 +1599,12 @@ "source": "打つ", "rawSource": "打つ", "sourceTerm": "打つ", - "reasons": [], + "inflectionRuleChainCandidates": [ + { + "source": "algorithm", + "inflectionRules": [] + } + ], "score": 1, "isPrimary": true, "sequence": 3, @@ -1885,7 +1910,12 @@ "source": "打つ", "rawSource": "打つ", "sourceTerm": "打つ", - "reasons": [], + "inflectionRuleChainCandidates": [ + { + "source": "algorithm", + "inflectionRules": [] + } + ], "score": 1, "isPrimary": true, "sequence": 3, @@ -2191,7 +2221,12 @@ "source": "打", "rawSource": "打", "sourceTerm": "打", - "reasons": [], + "inflectionRuleChainCandidates": [ + { + "source": "algorithm", + "inflectionRules": [] + } + ], "score": 1, "isPrimary": true, "sequence": 1, @@ -2497,7 +2532,12 @@ "source": "打", "rawSource": "打", "sourceTerm": "打", - "reasons": [], + "inflectionRuleChainCandidates": [ + { + "source": "algorithm", + "inflectionRules": [] + } + ], "score": 1, "isPrimary": true, "sequence": 2, @@ -2817,7 +2857,12 @@ "source": "打ち込む", "rawSource": "打ち込む", "sourceTerm": "打ち込む", - "reasons": [], + "inflectionRuleChainCandidates": [ + { + "source": "algorithm", + "inflectionRules": [] + } + ], "score": 10, "isPrimary": true, "sequence": 4, @@ -3231,7 +3276,12 @@ "source": "打ち込む", "rawSource": "打ち込む", "sourceTerm": "打ち込む", - "reasons": [], + "inflectionRuleChainCandidates": [ + { + "source": "algorithm", + "inflectionRules": [] + } + ], "score": 10, "isPrimary": true, "sequence": 4, @@ -3645,7 +3695,12 @@ "source": "打ち込む", "rawSource": "打ち込む", "sourceTerm": "打ち込む", - "reasons": [], + "inflectionRuleChainCandidates": [ + { + "source": "algorithm", + "inflectionRules": [] + } + ], "score": 1, "isPrimary": true, "sequence": 4, @@ -4059,7 +4114,12 @@ "source": "打ち込む", "rawSource": "打ち込む", "sourceTerm": "打ち込む", - "reasons": [], + "inflectionRuleChainCandidates": [ + { + "source": "algorithm", + "inflectionRules": [] + } + ], "score": 1, "isPrimary": true, "sequence": 4, @@ -4473,8 +4533,13 @@ "source": "打ち", "rawSource": "打ち", "sourceTerm": "打つ", - "reasons": [ - "masu stem" + "inflectionRuleChainCandidates": [ + { + "source": "algorithm", + "inflectionRules": [ + "masu stem" + ] + } ], "score": 10, "isPrimary": true, @@ -4781,8 +4846,13 @@ "source": "打ち", "rawSource": "打ち", "sourceTerm": "打つ", - "reasons": [ - "masu stem" + "inflectionRuleChainCandidates": [ + { + "source": "algorithm", + "inflectionRules": [ + "masu stem" + ] + } ], "score": 10, "isPrimary": true, @@ -5089,8 +5159,13 @@ "source": "打ち", "rawSource": "打ち", "sourceTerm": "打つ", - "reasons": [ - "masu stem" + "inflectionRuleChainCandidates": [ + { + "source": "algorithm", + "inflectionRules": [ + "masu stem" + ] + } ], "score": 1, "isPrimary": true, @@ -5397,8 +5472,13 @@ "source": "打ち", "rawSource": "打ち", "sourceTerm": "打つ", - "reasons": [ - "masu stem" + "inflectionRuleChainCandidates": [ + { + "source": "algorithm", + "inflectionRules": [ + "masu stem" + ] + } ], "score": 1, "isPrimary": true, @@ -5705,7 +5785,12 @@ "source": "打", "rawSource": "打", "sourceTerm": "打", - "reasons": [], + "inflectionRuleChainCandidates": [ + { + "source": "algorithm", + "inflectionRules": [] + } + ], "score": 1, "isPrimary": true, "sequence": 1, @@ -6011,7 +6096,12 @@ "source": "打", "rawSource": "打", "sourceTerm": "打", - "reasons": [], + "inflectionRuleChainCandidates": [ + { + "source": "algorithm", + "inflectionRules": [] + } + ], "score": 1, "isPrimary": true, "sequence": 2, @@ -6331,7 +6421,12 @@ "source": "画像", "rawSource": "画像", "sourceTerm": "画像", - "reasons": [], + "inflectionRuleChainCandidates": [ + { + "source": "algorithm", + "inflectionRules": [] + } + ], "score": 1, "isPrimary": true, "sequence": 5, @@ -6485,7 +6580,12 @@ "source": "だ", "rawSource": "だ", "sourceTerm": "だ", - "reasons": [], + "inflectionRuleChainCandidates": [ + { + "source": "algorithm", + "inflectionRules": [] + } + ], "score": 1, "isPrimary": true, "sequence": 1, @@ -6796,7 +6896,12 @@ "source": "ダース", "rawSource": "ダース", "sourceTerm": "ダース", - "reasons": [], + "inflectionRuleChainCandidates": [ + { + "source": "algorithm", + "inflectionRules": [] + } + ], "score": 1, "isPrimary": true, "sequence": 2, @@ -7116,7 +7221,12 @@ "source": "うつ", "rawSource": "うつ", "sourceTerm": "うつ", - "reasons": [], + "inflectionRuleChainCandidates": [ + { + "source": "algorithm", + "inflectionRules": [] + } + ], "score": 10, "isPrimary": true, "sequence": 3, @@ -7422,7 +7532,12 @@ "source": "うつ", "rawSource": "うつ", "sourceTerm": "うつ", - "reasons": [], + "inflectionRuleChainCandidates": [ + { + "source": "algorithm", + "inflectionRules": [] + } + ], "score": 1, "isPrimary": true, "sequence": 3, @@ -7733,7 +7848,12 @@ "source": "ぶつ", "rawSource": "ぶつ", "sourceTerm": "ぶつ", - "reasons": [], + "inflectionRuleChainCandidates": [ + { + "source": "algorithm", + "inflectionRules": [] + } + ], "score": 10, "isPrimary": true, "sequence": 3, @@ -8039,7 +8159,12 @@ "source": "ぶつ", "rawSource": "ぶつ", "sourceTerm": "ぶつ", - "reasons": [], + "inflectionRuleChainCandidates": [ + { + "source": "algorithm", + "inflectionRules": [] + } + ], "score": 1, "isPrimary": true, "sequence": 3, @@ -8350,7 +8475,12 @@ "source": "うちこむ", "rawSource": "うちこむ", "sourceTerm": "うちこむ", - "reasons": [], + "inflectionRuleChainCandidates": [ + { + "source": "algorithm", + "inflectionRules": [] + } + ], "score": 10, "isPrimary": true, "sequence": 4, @@ -8764,7 +8894,12 @@ "source": "うちこむ", "rawSource": "うちこむ", "sourceTerm": "うちこむ", - "reasons": [], + "inflectionRuleChainCandidates": [ + { + "source": "algorithm", + "inflectionRules": [] + } + ], "score": 1, "isPrimary": true, "sequence": 4, @@ -9178,8 +9313,13 @@ "source": "うち", "rawSource": "うち", "sourceTerm": "うつ", - "reasons": [ - "masu stem" + "inflectionRuleChainCandidates": [ + { + "source": "algorithm", + "inflectionRules": [ + "masu stem" + ] + } ], "score": 10, "isPrimary": true, @@ -9486,8 +9626,13 @@ "source": "うち", "rawSource": "うち", "sourceTerm": "うつ", - "reasons": [ - "masu stem" + "inflectionRuleChainCandidates": [ + { + "source": "algorithm", + "inflectionRules": [ + "masu stem" + ] + } ], "score": 1, "isPrimary": true, @@ -9799,7 +9944,12 @@ "source": "ぶちこむ", "rawSource": "ぶちこむ", "sourceTerm": "ぶちこむ", - "reasons": [], + "inflectionRuleChainCandidates": [ + { + "source": "algorithm", + "inflectionRules": [] + } + ], "score": 10, "isPrimary": true, "sequence": 4, @@ -10213,7 +10363,12 @@ "source": "ぶちこむ", "rawSource": "ぶちこむ", "sourceTerm": "ぶちこむ", - "reasons": [], + "inflectionRuleChainCandidates": [ + { + "source": "algorithm", + "inflectionRules": [] + } + ], "score": 1, "isPrimary": true, "sequence": 4, @@ -10627,8 +10782,13 @@ "source": "ぶち", "rawSource": "ぶち", "sourceTerm": "ぶつ", - "reasons": [ - "masu stem" + "inflectionRuleChainCandidates": [ + { + "source": "algorithm", + "inflectionRules": [ + "masu stem" + ] + } ], "score": 10, "isPrimary": true, @@ -10935,8 +11095,13 @@ "source": "ぶち", "rawSource": "ぶち", "sourceTerm": "ぶつ", - "reasons": [ - "masu stem" + "inflectionRuleChainCandidates": [ + { + "source": "algorithm", + "inflectionRules": [ + "masu stem" + ] + } ], "score": 1, "isPrimary": true, @@ -11248,7 +11413,12 @@ "source": "がぞう", "rawSource": "がぞう", "sourceTerm": "がぞう", - "reasons": [], + "inflectionRuleChainCandidates": [ + { + "source": "algorithm", + "inflectionRules": [] + } + ], "score": 1, "isPrimary": true, "sequence": 5, @@ -11413,7 +11583,12 @@ "source": "打ち込む", "rawSource": "打ち込む", "sourceTerm": "打ち込む", - "reasons": [], + "inflectionRuleChainCandidates": [ + { + "source": "algorithm", + "inflectionRules": [] + } + ], "score": 10, "sequence": 4, "dictionary": "Test Dictionary 2", @@ -11850,7 +12025,12 @@ "source": "打ち込む", "rawSource": "打ち込む", "sourceTerm": "打ち込む", - "reasons": [], + "inflectionRuleChainCandidates": [ + { + "source": "algorithm", + "inflectionRules": [] + } + ], "score": 10, "sequence": 4, "dictionary": "Test Dictionary 2", @@ -12287,8 +12467,13 @@ "source": "打ち", "rawSource": "打ち", "sourceTerm": "打つ", - "reasons": [ - "masu stem" + "inflectionRuleChainCandidates": [ + { + "source": "algorithm", + "inflectionRules": [ + "masu stem" + ] + } ], "score": 10, "sequence": 3, @@ -12626,8 +12811,13 @@ "source": "打ち", "rawSource": "打ち", "sourceTerm": "打つ", - "reasons": [ - "masu stem" + "inflectionRuleChainCandidates": [ + { + "source": "algorithm", + "inflectionRules": [ + "masu stem" + ] + } ], "score": 10, "sequence": 3, @@ -12965,7 +13155,12 @@ "source": "打", "rawSource": "打", "sourceTerm": "打", - "reasons": [], + "inflectionRuleChainCandidates": [ + { + "source": "algorithm", + "inflectionRules": [] + } + ], "score": 1, "sequence": 1, "dictionary": "Test Dictionary 2", @@ -13269,7 +13464,12 @@ "source": "打", "rawSource": "打", "sourceTerm": "打", - "reasons": [], + "inflectionRuleChainCandidates": [ + { + "source": "algorithm", + "inflectionRules": [] + } + ], "score": 1, "sequence": 2, "dictionary": "Test Dictionary 2", @@ -13586,7 +13786,12 @@ "type": "termMerged", "source": "打ち込む", "rawSource": "打ち込む", - "reasons": [], + "inflectionRuleChainCandidates": [ + { + "source": "algorithm", + "inflectionRules": [] + } + ], "score": 10, "sequence": 4, "dictionary": "Test Dictionary 2", @@ -14351,8 +14556,13 @@ "type": "termMerged", "source": "打ち", "rawSource": "打ち", - "reasons": [ - "masu stem" + "inflectionRuleChainCandidates": [ + { + "source": "algorithm", + "inflectionRules": [ + "masu stem" + ] + } ], "score": 10, "sequence": 3, @@ -14923,7 +15133,12 @@ "type": "termMerged", "source": "打", "rawSource": "打", - "reasons": [], + "inflectionRuleChainCandidates": [ + { + "source": "algorithm", + "inflectionRules": [] + } + ], "score": 1, "sequence": 1, "dictionary": "Test Dictionary 2", @@ -15220,7 +15435,12 @@ "type": "termMerged", "source": "打", "rawSource": "打", - "reasons": [], + "inflectionRuleChainCandidates": [ + { + "source": "algorithm", + "inflectionRules": [] + } + ], "score": 1, "sequence": 2, "dictionary": "Test Dictionary 2", @@ -15533,10 +15753,15 @@ "source": "打ち込んでいませんでした", "rawSource": "打ち込んでいませんでした", "sourceTerm": "打ち込む", - "reasons": [ - "-te", - "progressive or perfect", - "polite past negative" + "inflectionRuleChainCandidates": [ + { + "source": "algorithm", + "inflectionRules": [ + "-te", + "progressive or perfect", + "polite past negative" + ] + } ], "score": 10, "isPrimary": true, @@ -15951,10 +16176,15 @@ "source": "打ち込んでいませんでした", "rawSource": "打ち込んでいませんでした", "sourceTerm": "打ち込む", - "reasons": [ - "-te", - "progressive or perfect", - "polite past negative" + "inflectionRuleChainCandidates": [ + { + "source": "algorithm", + "inflectionRules": [ + "-te", + "progressive or perfect", + "polite past negative" + ] + } ], "score": 10, "isPrimary": true, @@ -16369,10 +16599,15 @@ "source": "打ち込んでいませんでした", "rawSource": "打ち込んでいませんでした", "sourceTerm": "打ち込む", - "reasons": [ - "-te", - "progressive or perfect", - "polite past negative" + "inflectionRuleChainCandidates": [ + { + "source": "algorithm", + "inflectionRules": [ + "-te", + "progressive or perfect", + "polite past negative" + ] + } ], "score": 1, "isPrimary": true, @@ -16787,10 +17022,15 @@ "source": "打ち込んでいませんでした", "rawSource": "打ち込んでいませんでした", "sourceTerm": "打ち込む", - "reasons": [ - "-te", - "progressive or perfect", - "polite past negative" + "inflectionRuleChainCandidates": [ + { + "source": "algorithm", + "inflectionRules": [ + "-te", + "progressive or perfect", + "polite past negative" + ] + } ], "score": 1, "isPrimary": true, @@ -17205,8 +17445,13 @@ "source": "打ち", "rawSource": "打ち", "sourceTerm": "打つ", - "reasons": [ - "masu stem" + "inflectionRuleChainCandidates": [ + { + "source": "algorithm", + "inflectionRules": [ + "masu stem" + ] + } ], "score": 10, "isPrimary": true, @@ -17513,8 +17758,13 @@ "source": "打ち", "rawSource": "打ち", "sourceTerm": "打つ", - "reasons": [ - "masu stem" + "inflectionRuleChainCandidates": [ + { + "source": "algorithm", + "inflectionRules": [ + "masu stem" + ] + } ], "score": 10, "isPrimary": true, @@ -17821,8 +18071,13 @@ "source": "打ち", "rawSource": "打ち", "sourceTerm": "打つ", - "reasons": [ - "masu stem" + "inflectionRuleChainCandidates": [ + { + "source": "algorithm", + "inflectionRules": [ + "masu stem" + ] + } ], "score": 1, "isPrimary": true, @@ -18129,8 +18384,13 @@ "source": "打ち", "rawSource": "打ち", "sourceTerm": "打つ", - "reasons": [ - "masu stem" + "inflectionRuleChainCandidates": [ + { + "source": "algorithm", + "inflectionRules": [ + "masu stem" + ] + } ], "score": 1, "isPrimary": true, @@ -18437,7 +18697,12 @@ "source": "打", "rawSource": "打", "sourceTerm": "打", - "reasons": [], + "inflectionRuleChainCandidates": [ + { + "source": "algorithm", + "inflectionRules": [] + } + ], "score": 1, "isPrimary": true, "sequence": 1, @@ -18743,7 +19008,12 @@ "source": "打", "rawSource": "打", "sourceTerm": "打", - "reasons": [], + "inflectionRuleChainCandidates": [ + { + "source": "algorithm", + "inflectionRules": [] + } + ], "score": 1, "isPrimary": true, "sequence": 2, @@ -19063,7 +19333,12 @@ "source": "打ち込む", "rawSource": "打(う)ち込(こ)む", "sourceTerm": "打ち込む", - "reasons": [], + "inflectionRuleChainCandidates": [ + { + "source": "algorithm", + "inflectionRules": [] + } + ], "score": 10, "isPrimary": true, "sequence": 4, @@ -19477,7 +19752,12 @@ "source": "打ち込む", "rawSource": "打(う)ち込(こ)む", "sourceTerm": "打ち込む", - "reasons": [], + "inflectionRuleChainCandidates": [ + { + "source": "algorithm", + "inflectionRules": [] + } + ], "score": 10, "isPrimary": true, "sequence": 4, @@ -19891,7 +20171,12 @@ "source": "打ち込む", "rawSource": "打(う)ち込(こ)む", "sourceTerm": "打ち込む", - "reasons": [], + "inflectionRuleChainCandidates": [ + { + "source": "algorithm", + "inflectionRules": [] + } + ], "score": 1, "isPrimary": true, "sequence": 4, @@ -20305,7 +20590,12 @@ "source": "打ち込む", "rawSource": "打(う)ち込(こ)む", "sourceTerm": "打ち込む", - "reasons": [], + "inflectionRuleChainCandidates": [ + { + "source": "algorithm", + "inflectionRules": [] + } + ], "score": 1, "isPrimary": true, "sequence": 4, @@ -20719,8 +21009,13 @@ "source": "打ち", "rawSource": "打(う)ち", "sourceTerm": "打つ", - "reasons": [ - "masu stem" + "inflectionRuleChainCandidates": [ + { + "source": "algorithm", + "inflectionRules": [ + "masu stem" + ] + } ], "score": 10, "isPrimary": true, @@ -21027,8 +21322,13 @@ "source": "打ち", "rawSource": "打(う)ち", "sourceTerm": "打つ", - "reasons": [ - "masu stem" + "inflectionRuleChainCandidates": [ + { + "source": "algorithm", + "inflectionRules": [ + "masu stem" + ] + } ], "score": 10, "isPrimary": true, @@ -21335,8 +21635,13 @@ "source": "打ち", "rawSource": "打(う)ち", "sourceTerm": "打つ", - "reasons": [ - "masu stem" + "inflectionRuleChainCandidates": [ + { + "source": "algorithm", + "inflectionRules": [ + "masu stem" + ] + } ], "score": 1, "isPrimary": true, @@ -21643,8 +21948,13 @@ "source": "打ち", "rawSource": "打(う)ち", "sourceTerm": "打つ", - "reasons": [ - "masu stem" + "inflectionRuleChainCandidates": [ + { + "source": "algorithm", + "inflectionRules": [ + "masu stem" + ] + } ], "score": 1, "isPrimary": true, @@ -21951,7 +22261,12 @@ "source": "打", "rawSource": "打", "sourceTerm": "打", - "reasons": [], + "inflectionRuleChainCandidates": [ + { + "source": "algorithm", + "inflectionRules": [] + } + ], "score": 1, "isPrimary": true, "sequence": 1, @@ -22257,7 +22572,12 @@ "source": "打", "rawSource": "打", "sourceTerm": "打", - "reasons": [], + "inflectionRuleChainCandidates": [ + { + "source": "algorithm", + "inflectionRules": [] + } + ], "score": 1, "isPrimary": true, "sequence": 2, @@ -22577,7 +22897,12 @@ "source": "打ち込む", "rawSource": "(打)(ち)(込)(む)", "sourceTerm": "打ち込む", - "reasons": [], + "inflectionRuleChainCandidates": [ + { + "source": "algorithm", + "inflectionRules": [] + } + ], "score": 10, "isPrimary": true, "sequence": 4, @@ -22991,7 +23316,12 @@ "source": "打ち込む", "rawSource": "(打)(ち)(込)(む)", "sourceTerm": "打ち込む", - "reasons": [], + "inflectionRuleChainCandidates": [ + { + "source": "algorithm", + "inflectionRules": [] + } + ], "score": 10, "isPrimary": true, "sequence": 4, @@ -23405,7 +23735,12 @@ "source": "打ち込む", "rawSource": "(打)(ち)(込)(む)", "sourceTerm": "打ち込む", - "reasons": [], + "inflectionRuleChainCandidates": [ + { + "source": "algorithm", + "inflectionRules": [] + } + ], "score": 1, "isPrimary": true, "sequence": 4, @@ -23819,7 +24154,12 @@ "source": "打ち込む", "rawSource": "(打)(ち)(込)(む)", "sourceTerm": "打ち込む", - "reasons": [], + "inflectionRuleChainCandidates": [ + { + "source": "algorithm", + "inflectionRules": [] + } + ], "score": 1, "isPrimary": true, "sequence": 4, @@ -24233,8 +24573,13 @@ "source": "打ち", "rawSource": "(打)(ち)", "sourceTerm": "打つ", - "reasons": [ - "masu stem" + "inflectionRuleChainCandidates": [ + { + "source": "algorithm", + "inflectionRules": [ + "masu stem" + ] + } ], "score": 10, "isPrimary": true, @@ -24541,8 +24886,13 @@ "source": "打ち", "rawSource": "(打)(ち)", "sourceTerm": "打つ", - "reasons": [ - "masu stem" + "inflectionRuleChainCandidates": [ + { + "source": "algorithm", + "inflectionRules": [ + "masu stem" + ] + } ], "score": 10, "isPrimary": true, @@ -24849,8 +25199,13 @@ "source": "打ち", "rawSource": "(打)(ち)", "sourceTerm": "打つ", - "reasons": [ - "masu stem" + "inflectionRuleChainCandidates": [ + { + "source": "algorithm", + "inflectionRules": [ + "masu stem" + ] + } ], "score": 1, "isPrimary": true, @@ -25157,8 +25512,13 @@ "source": "打ち", "rawSource": "(打)(ち)", "sourceTerm": "打つ", - "reasons": [ - "masu stem" + "inflectionRuleChainCandidates": [ + { + "source": "algorithm", + "inflectionRules": [ + "masu stem" + ] + } ], "score": 1, "isPrimary": true, @@ -25465,7 +25825,12 @@ "source": "打", "rawSource": "(打)", "sourceTerm": "打", - "reasons": [], + "inflectionRuleChainCandidates": [ + { + "source": "algorithm", + "inflectionRules": [] + } + ], "score": 1, "isPrimary": true, "sequence": 1, @@ -25771,7 +26136,12 @@ "source": "打", "rawSource": "(打)", "sourceTerm": "打", - "reasons": [], + "inflectionRuleChainCandidates": [ + { + "source": "algorithm", + "inflectionRules": [] + } + ], "score": 1, "isPrimary": true, "sequence": 2, @@ -26091,8 +26461,13 @@ "source": "よみ", "rawSource": "test", "sourceTerm": "よむ", - "reasons": [ - "masu stem" + "inflectionRuleChainCandidates": [ + { + "source": "algorithm", + "inflectionRules": [ + "masu stem" + ] + } ], "score": 100, "isPrimary": true, @@ -26245,7 +26620,12 @@ "source": "つよみ", "rawSource": "つtest", "sourceTerm": "つよみ", - "reasons": [], + "inflectionRuleChainCandidates": [ + { + "source": "algorithm", + "inflectionRules": [] + } + ], "score": 90, "isPrimary": true, "sequence": 7, @@ -26397,8 +26777,13 @@ "source": "よみました", "rawSource": "testました", "sourceTerm": "よむ", - "reasons": [ - "polite past" + "inflectionRuleChainCandidates": [ + { + "source": "algorithm", + "inflectionRules": [ + "polite past" + ] + } ], "score": 100, "isPrimary": true, @@ -26549,7 +26934,12 @@ "type": "termMerged", "source": "うちこむ", "rawSource": "うちこむ", - "reasons": [], + "inflectionRuleChainCandidates": [ + { + "source": "algorithm", + "inflectionRules": [] + } + ], "score": 10, "sequence": 4, "dictionary": "Test Dictionary 2", @@ -27314,8 +27704,13 @@ "type": "termMerged", "source": "うち", "rawSource": "うち", - "reasons": [ - "masu stem" + "inflectionRuleChainCandidates": [ + { + "source": "algorithm", + "inflectionRules": [ + "masu stem" + ] + } ], "score": 10, "sequence": 3, @@ -27893,7 +28288,12 @@ "source": "お手前", "rawSource": "お手前", "sourceTerm": "お手前", - "reasons": [], + "inflectionRuleChainCandidates": [ + { + "source": "algorithm", + "inflectionRules": [] + } + ], "score": 1, "isPrimary": true, "sequence": 9, @@ -28221,7 +28621,12 @@ "source": "番号", "rawSource": "番号", "sourceTerm": "番号", - "reasons": [], + "inflectionRuleChainCandidates": [ + { + "source": "algorithm", + "inflectionRules": [] + } + ], "score": 1, "isPrimary": true, "sequence": 10, @@ -28401,7 +28806,12 @@ "source": "中腰", "rawSource": "中腰", "sourceTerm": "中腰", - "reasons": [], + "inflectionRuleChainCandidates": [ + { + "source": "algorithm", + "inflectionRules": [] + } + ], "score": 1, "isPrimary": true, "sequence": 11, @@ -28581,7 +28991,12 @@ "source": "所業", "rawSource": "所業", "sourceTerm": "所業", - "reasons": [], + "inflectionRuleChainCandidates": [ + { + "source": "algorithm", + "inflectionRules": [] + } + ], "score": 1, "isPrimary": true, "sequence": 12, @@ -28761,7 +29176,12 @@ "source": "土木工事", "rawSource": "土木工事", "sourceTerm": "土木工事", - "reasons": [], + "inflectionRuleChainCandidates": [ + { + "source": "algorithm", + "inflectionRules": [] + } + ], "score": 1, "isPrimary": true, "sequence": 13, @@ -28941,7 +29361,12 @@ "source": "好き", "rawSource": "好き", "sourceTerm": "好き", - "reasons": [], + "inflectionRuleChainCandidates": [ + { + "source": "algorithm", + "inflectionRules": [] + } + ], "score": 1, "isPrimary": true, "sequence": 14, @@ -29149,7 +29574,12 @@ "source": "構造", "rawSource": "構造", "sourceTerm": "構造", - "reasons": [], + "inflectionRuleChainCandidates": [ + { + "source": "algorithm", + "inflectionRules": [] + } + ], "score": 35, "isPrimary": true, "sequence": 101, @@ -29289,5 +29719,118 @@ "media": {} } ] + }, + { + "name": "Test dictionary deinflection", + "noteDataList": [ + { + "marker": "{marker}", + "definition": { + "type": "term", + "id": 23, + "source": "のたもうた", + "rawSource": "のたもうた", + "sourceTerm": "のたまう", + "inflectionRuleChainCandidates": [ + { + "source": "both", + "inflectionRules": [ + "past" + ] + } + ], + "score": 1, + "isPrimary": true, + "sequence": 15, + "dictionary": "Test Dictionary 2", + "dictionaryOrder": { + "index": 0, + "priority": 0 + }, + "dictionaryNames": [ + "Test Dictionary 2" + ], + "expression": "のたまう", + "reading": "のたまう", + "expressions": [ + { + "sourceTerm": "のたまう", + "expression": "のたまう", + "reading": "のたまう", + "termTags": [], + "frequencies": [], + "pitches": [], + "furiganaSegments": [ + { + "text": "のたまう", + "furigana": "" + } + ], + "termFrequency": "normal", + "wordClasses": [ + "v5" + ] + } + ], + "glossary": [ + "notamau definition" + ], + "definitionTags": [ + { + "name": "v5", + "category": "default", + "notes": "", + "order": 0, + "score": 0, + "dictionary": "Test Dictionary 2", + "redundant": false + } + ], + "termTags": [], + "frequencies": [], + "pitches": [], + "phoneticTranscriptions": [], + "sourceTermExactMatchCount": 1, + "url": "url:", + "cloze": { + "sentence": "", + "prefix": "", + "body": "", + "suffix": "" + }, + "furiganaSegments": [ + { + "text": "のたまう", + "furigana": "" + } + ] + }, + "glossaryLayoutMode": "default", + "compactTags": false, + "group": false, + "merge": false, + "modeTermKanji": false, + "modeTermKana": false, + "modeKanji": false, + "compactGlossaries": false, + "uniqueExpressions": [ + "のたまう" + ], + "uniqueReadings": [ + "のたまう" + ], + "pitches": [], + "pitchCount": 0, + "phoneticTranscriptions": [], + "context": { + "query": "query", + "fullQuery": "fullQuery", + "document": { + "title": "title" + } + }, + "media": {} + } + ] } ] \ No newline at end of file diff --git a/test/data/translator-test-results.json b/test/data/translator-test-results.json index 50d97775..4a81c552 100644 --- a/test/data/translator-test-results.json +++ b/test/data/translator-test-results.json @@ -291,7 +291,12 @@ { "type": "term", "isPrimary": true, - "inflections": [], + "inflectionRuleChainCandidates": [ + { + "source": "algorithm", + "inflectionRules": [] + } + ], "score": 1, "frequencyOrder": 0, "dictionaryIndex": 0, @@ -454,7 +459,12 @@ { "type": "term", "isPrimary": true, - "inflections": [], + "inflectionRuleChainCandidates": [ + { + "source": "algorithm", + "inflectionRules": [] + } + ], "score": 1, "frequencyOrder": 0, "dictionaryIndex": 0, @@ -636,7 +646,12 @@ { "type": "term", "isPrimary": true, - "inflections": [], + "inflectionRuleChainCandidates": [ + { + "source": "algorithm", + "inflectionRules": [] + } + ], "score": 10, "frequencyOrder": 0, "dictionaryIndex": 0, @@ -801,7 +816,12 @@ { "type": "term", "isPrimary": true, - "inflections": [], + "inflectionRuleChainCandidates": [ + { + "source": "algorithm", + "inflectionRules": [] + } + ], "score": 10, "frequencyOrder": 0, "dictionaryIndex": 0, @@ -966,7 +986,12 @@ { "type": "term", "isPrimary": true, - "inflections": [], + "inflectionRuleChainCandidates": [ + { + "source": "algorithm", + "inflectionRules": [] + } + ], "score": 1, "frequencyOrder": 0, "dictionaryIndex": 0, @@ -1131,7 +1156,12 @@ { "type": "term", "isPrimary": true, - "inflections": [], + "inflectionRuleChainCandidates": [ + { + "source": "algorithm", + "inflectionRules": [] + } + ], "score": 1, "frequencyOrder": 0, "dictionaryIndex": 0, @@ -1296,7 +1326,12 @@ { "type": "term", "isPrimary": true, - "inflections": [], + "inflectionRuleChainCandidates": [ + { + "source": "algorithm", + "inflectionRules": [] + } + ], "score": 1, "frequencyOrder": 0, "dictionaryIndex": 0, @@ -1459,7 +1494,12 @@ { "type": "term", "isPrimary": true, - "inflections": [], + "inflectionRuleChainCandidates": [ + { + "source": "algorithm", + "inflectionRules": [] + } + ], "score": 1, "frequencyOrder": 0, "dictionaryIndex": 0, @@ -1641,7 +1681,12 @@ { "type": "term", "isPrimary": true, - "inflections": [], + "inflectionRuleChainCandidates": [ + { + "source": "algorithm", + "inflectionRules": [] + } + ], "score": 10, "frequencyOrder": 0, "dictionaryIndex": 0, @@ -1830,7 +1875,12 @@ { "type": "term", "isPrimary": true, - "inflections": [], + "inflectionRuleChainCandidates": [ + { + "source": "algorithm", + "inflectionRules": [] + } + ], "score": 10, "frequencyOrder": 0, "dictionaryIndex": 0, @@ -2019,7 +2069,12 @@ { "type": "term", "isPrimary": true, - "inflections": [], + "inflectionRuleChainCandidates": [ + { + "source": "algorithm", + "inflectionRules": [] + } + ], "score": 1, "frequencyOrder": 0, "dictionaryIndex": 0, @@ -2208,7 +2263,12 @@ { "type": "term", "isPrimary": true, - "inflections": [], + "inflectionRuleChainCandidates": [ + { + "source": "algorithm", + "inflectionRules": [] + } + ], "score": 1, "frequencyOrder": 0, "dictionaryIndex": 0, @@ -2397,8 +2457,13 @@ { "type": "term", "isPrimary": true, - "inflections": [ - "masu stem" + "inflectionRuleChainCandidates": [ + { + "source": "algorithm", + "inflectionRules": [ + "masu stem" + ] + } ], "score": 10, "frequencyOrder": 0, @@ -2564,8 +2629,13 @@ { "type": "term", "isPrimary": true, - "inflections": [ - "masu stem" + "inflectionRuleChainCandidates": [ + { + "source": "algorithm", + "inflectionRules": [ + "masu stem" + ] + } ], "score": 10, "frequencyOrder": 0, @@ -2731,8 +2801,13 @@ { "type": "term", "isPrimary": true, - "inflections": [ - "masu stem" + "inflectionRuleChainCandidates": [ + { + "source": "algorithm", + "inflectionRules": [ + "masu stem" + ] + } ], "score": 1, "frequencyOrder": 0, @@ -2898,8 +2973,13 @@ { "type": "term", "isPrimary": true, - "inflections": [ - "masu stem" + "inflectionRuleChainCandidates": [ + { + "source": "algorithm", + "inflectionRules": [ + "masu stem" + ] + } ], "score": 1, "frequencyOrder": 0, @@ -3065,7 +3145,12 @@ { "type": "term", "isPrimary": true, - "inflections": [], + "inflectionRuleChainCandidates": [ + { + "source": "algorithm", + "inflectionRules": [] + } + ], "score": 1, "frequencyOrder": 0, "dictionaryIndex": 0, @@ -3228,7 +3313,12 @@ { "type": "term", "isPrimary": true, - "inflections": [], + "inflectionRuleChainCandidates": [ + { + "source": "algorithm", + "inflectionRules": [] + } + ], "score": 1, "frequencyOrder": 0, "dictionaryIndex": 0, @@ -3410,7 +3500,12 @@ { "type": "term", "isPrimary": true, - "inflections": [], + "inflectionRuleChainCandidates": [ + { + "source": "algorithm", + "inflectionRules": [] + } + ], "score": 1, "frequencyOrder": 0, "dictionaryIndex": 0, @@ -3523,7 +3618,12 @@ { "type": "term", "isPrimary": true, - "inflections": [], + "inflectionRuleChainCandidates": [ + { + "source": "algorithm", + "inflectionRules": [] + } + ], "score": 1, "frequencyOrder": 0, "dictionaryIndex": 0, @@ -3692,7 +3792,12 @@ { "type": "term", "isPrimary": true, - "inflections": [], + "inflectionRuleChainCandidates": [ + { + "source": "algorithm", + "inflectionRules": [] + } + ], "score": 1, "frequencyOrder": 0, "dictionaryIndex": 0, @@ -3874,7 +3979,12 @@ { "type": "term", "isPrimary": true, - "inflections": [], + "inflectionRuleChainCandidates": [ + { + "source": "algorithm", + "inflectionRules": [] + } + ], "score": 10, "frequencyOrder": 0, "dictionaryIndex": 0, @@ -4039,7 +4149,12 @@ { "type": "term", "isPrimary": true, - "inflections": [], + "inflectionRuleChainCandidates": [ + { + "source": "algorithm", + "inflectionRules": [] + } + ], "score": 1, "frequencyOrder": 0, "dictionaryIndex": 0, @@ -4210,7 +4325,12 @@ { "type": "term", "isPrimary": true, - "inflections": [], + "inflectionRuleChainCandidates": [ + { + "source": "algorithm", + "inflectionRules": [] + } + ], "score": 10, "frequencyOrder": 0, "dictionaryIndex": 0, @@ -4375,7 +4495,12 @@ { "type": "term", "isPrimary": true, - "inflections": [], + "inflectionRuleChainCandidates": [ + { + "source": "algorithm", + "inflectionRules": [] + } + ], "score": 1, "frequencyOrder": 0, "dictionaryIndex": 0, @@ -4546,7 +4671,12 @@ { "type": "term", "isPrimary": true, - "inflections": [], + "inflectionRuleChainCandidates": [ + { + "source": "algorithm", + "inflectionRules": [] + } + ], "score": 10, "frequencyOrder": 0, "dictionaryIndex": 0, @@ -4735,7 +4865,12 @@ { "type": "term", "isPrimary": true, - "inflections": [], + "inflectionRuleChainCandidates": [ + { + "source": "algorithm", + "inflectionRules": [] + } + ], "score": 1, "frequencyOrder": 0, "dictionaryIndex": 0, @@ -4924,8 +5059,13 @@ { "type": "term", "isPrimary": true, - "inflections": [ - "masu stem" + "inflectionRuleChainCandidates": [ + { + "source": "algorithm", + "inflectionRules": [ + "masu stem" + ] + } ], "score": 10, "frequencyOrder": 0, @@ -5091,8 +5231,13 @@ { "type": "term", "isPrimary": true, - "inflections": [ - "masu stem" + "inflectionRuleChainCandidates": [ + { + "source": "algorithm", + "inflectionRules": [ + "masu stem" + ] + } ], "score": 1, "frequencyOrder": 0, @@ -5264,7 +5409,12 @@ { "type": "term", "isPrimary": true, - "inflections": [], + "inflectionRuleChainCandidates": [ + { + "source": "algorithm", + "inflectionRules": [] + } + ], "score": 10, "frequencyOrder": 0, "dictionaryIndex": 0, @@ -5453,7 +5603,12 @@ { "type": "term", "isPrimary": true, - "inflections": [], + "inflectionRuleChainCandidates": [ + { + "source": "algorithm", + "inflectionRules": [] + } + ], "score": 1, "frequencyOrder": 0, "dictionaryIndex": 0, @@ -5642,8 +5797,13 @@ { "type": "term", "isPrimary": true, - "inflections": [ - "masu stem" + "inflectionRuleChainCandidates": [ + { + "source": "algorithm", + "inflectionRules": [ + "masu stem" + ] + } ], "score": 10, "frequencyOrder": 0, @@ -5809,8 +5969,13 @@ { "type": "term", "isPrimary": true, - "inflections": [ - "masu stem" + "inflectionRuleChainCandidates": [ + { + "source": "algorithm", + "inflectionRules": [ + "masu stem" + ] + } ], "score": 1, "frequencyOrder": 0, @@ -5982,7 +6147,12 @@ { "type": "term", "isPrimary": true, - "inflections": [], + "inflectionRuleChainCandidates": [ + { + "source": "algorithm", + "inflectionRules": [] + } + ], "score": 1, "frequencyOrder": 0, "dictionaryIndex": 0, @@ -6105,7 +6275,12 @@ { "type": "term", "isPrimary": true, - "inflections": [], + "inflectionRuleChainCandidates": [ + { + "source": "algorithm", + "inflectionRules": [] + } + ], "score": 10, "frequencyOrder": 0, "dictionaryIndex": 0, @@ -6162,7 +6337,12 @@ { "type": "term", "isPrimary": true, - "inflections": [], + "inflectionRuleChainCandidates": [ + { + "source": "algorithm", + "inflectionRules": [] + } + ], "score": 10, "frequencyOrder": 0, "dictionaryIndex": 0, @@ -6219,7 +6399,12 @@ { "type": "term", "isPrimary": true, - "inflections": [], + "inflectionRuleChainCandidates": [ + { + "source": "algorithm", + "inflectionRules": [] + } + ], "score": 1, "frequencyOrder": 0, "dictionaryIndex": 0, @@ -6276,7 +6461,12 @@ { "type": "term", "isPrimary": true, - "inflections": [], + "inflectionRuleChainCandidates": [ + { + "source": "algorithm", + "inflectionRules": [] + } + ], "score": 1, "frequencyOrder": 0, "dictionaryIndex": 0, @@ -6333,8 +6523,13 @@ { "type": "term", "isPrimary": true, - "inflections": [ - "masu stem" + "inflectionRuleChainCandidates": [ + { + "source": "algorithm", + "inflectionRules": [ + "masu stem" + ] + } ], "score": 10, "frequencyOrder": 0, @@ -6392,8 +6587,13 @@ { "type": "term", "isPrimary": true, - "inflections": [ - "masu stem" + "inflectionRuleChainCandidates": [ + { + "source": "algorithm", + "inflectionRules": [ + "masu stem" + ] + } ], "score": 10, "frequencyOrder": 0, @@ -6451,8 +6651,13 @@ { "type": "term", "isPrimary": true, - "inflections": [ - "masu stem" + "inflectionRuleChainCandidates": [ + { + "source": "algorithm", + "inflectionRules": [ + "masu stem" + ] + } ], "score": 1, "frequencyOrder": 0, @@ -6510,8 +6715,13 @@ { "type": "term", "isPrimary": true, - "inflections": [ - "masu stem" + "inflectionRuleChainCandidates": [ + { + "source": "algorithm", + "inflectionRules": [ + "masu stem" + ] + } ], "score": 1, "frequencyOrder": 0, @@ -6569,7 +6779,12 @@ { "type": "term", "isPrimary": true, - "inflections": [], + "inflectionRuleChainCandidates": [ + { + "source": "algorithm", + "inflectionRules": [] + } + ], "score": 1, "frequencyOrder": 0, "dictionaryIndex": 0, @@ -6626,7 +6841,12 @@ { "type": "term", "isPrimary": true, - "inflections": [], + "inflectionRuleChainCandidates": [ + { + "source": "algorithm", + "inflectionRules": [] + } + ], "score": 1, "frequencyOrder": 0, "dictionaryIndex": 0, @@ -6689,7 +6909,12 @@ { "type": "term", "isPrimary": true, - "inflections": [], + "inflectionRuleChainCandidates": [ + { + "source": "algorithm", + "inflectionRules": [] + } + ], "score": 10, "frequencyOrder": 0, "dictionaryIndex": 0, @@ -6926,7 +7151,12 @@ { "type": "term", "isPrimary": true, - "inflections": [], + "inflectionRuleChainCandidates": [ + { + "source": "algorithm", + "inflectionRules": [] + } + ], "score": 10, "frequencyOrder": 0, "dictionaryIndex": 0, @@ -7163,8 +7393,13 @@ { "type": "term", "isPrimary": true, - "inflections": [ - "masu stem" + "inflectionRuleChainCandidates": [ + { + "source": "algorithm", + "inflectionRules": [ + "masu stem" + ] + } ], "score": 10, "frequencyOrder": 0, @@ -7378,8 +7613,13 @@ { "type": "term", "isPrimary": true, - "inflections": [ - "masu stem" + "inflectionRuleChainCandidates": [ + { + "source": "algorithm", + "inflectionRules": [ + "masu stem" + ] + } ], "score": 10, "frequencyOrder": 0, @@ -7593,7 +7833,12 @@ { "type": "term", "isPrimary": true, - "inflections": [], + "inflectionRuleChainCandidates": [ + { + "source": "algorithm", + "inflectionRules": [] + } + ], "score": 1, "frequencyOrder": 0, "dictionaryIndex": 0, @@ -7756,7 +8001,12 @@ { "type": "term", "isPrimary": true, - "inflections": [], + "inflectionRuleChainCandidates": [ + { + "source": "algorithm", + "inflectionRules": [] + } + ], "score": 1, "frequencyOrder": 0, "dictionaryIndex": 0, @@ -7938,7 +8188,12 @@ { "type": "term", "isPrimary": true, - "inflections": [], + "inflectionRuleChainCandidates": [ + { + "source": "algorithm", + "inflectionRules": [] + } + ], "score": 10, "frequencyOrder": 0, "dictionaryIndex": 0, @@ -8393,8 +8648,13 @@ { "type": "term", "isPrimary": true, - "inflections": [ - "masu stem" + "inflectionRuleChainCandidates": [ + { + "source": "algorithm", + "inflectionRules": [ + "masu stem" + ] + } ], "score": 10, "frequencyOrder": 0, @@ -8803,7 +9063,12 @@ { "type": "term", "isPrimary": true, - "inflections": [], + "inflectionRuleChainCandidates": [ + { + "source": "algorithm", + "inflectionRules": [] + } + ], "score": 1, "frequencyOrder": 0, "dictionaryIndex": 0, @@ -8966,7 +9231,12 @@ { "type": "term", "isPrimary": true, - "inflections": [], + "inflectionRuleChainCandidates": [ + { + "source": "algorithm", + "inflectionRules": [] + } + ], "score": 1, "frequencyOrder": 0, "dictionaryIndex": 0, @@ -9148,10 +9418,15 @@ { "type": "term", "isPrimary": true, - "inflections": [ - "-te", - "progressive or perfect", - "polite past negative" + "inflectionRuleChainCandidates": [ + { + "source": "algorithm", + "inflectionRules": [ + "-te", + "progressive or perfect", + "polite past negative" + ] + } ], "score": 10, "frequencyOrder": 0, @@ -9341,10 +9616,15 @@ { "type": "term", "isPrimary": true, - "inflections": [ - "-te", - "progressive or perfect", - "polite past negative" + "inflectionRuleChainCandidates": [ + { + "source": "algorithm", + "inflectionRules": [ + "-te", + "progressive or perfect", + "polite past negative" + ] + } ], "score": 10, "frequencyOrder": 0, @@ -9534,10 +9814,15 @@ { "type": "term", "isPrimary": true, - "inflections": [ - "-te", - "progressive or perfect", - "polite past negative" + "inflectionRuleChainCandidates": [ + { + "source": "algorithm", + "inflectionRules": [ + "-te", + "progressive or perfect", + "polite past negative" + ] + } ], "score": 1, "frequencyOrder": 0, @@ -9727,10 +10012,15 @@ { "type": "term", "isPrimary": true, - "inflections": [ - "-te", - "progressive or perfect", - "polite past negative" + "inflectionRuleChainCandidates": [ + { + "source": "algorithm", + "inflectionRules": [ + "-te", + "progressive or perfect", + "polite past negative" + ] + } ], "score": 1, "frequencyOrder": 0, @@ -9920,8 +10210,13 @@ { "type": "term", "isPrimary": true, - "inflections": [ - "masu stem" + "inflectionRuleChainCandidates": [ + { + "source": "algorithm", + "inflectionRules": [ + "masu stem" + ] + } ], "score": 10, "frequencyOrder": 0, @@ -10087,8 +10382,13 @@ { "type": "term", "isPrimary": true, - "inflections": [ - "masu stem" + "inflectionRuleChainCandidates": [ + { + "source": "algorithm", + "inflectionRules": [ + "masu stem" + ] + } ], "score": 10, "frequencyOrder": 0, @@ -10254,8 +10554,13 @@ { "type": "term", "isPrimary": true, - "inflections": [ - "masu stem" + "inflectionRuleChainCandidates": [ + { + "source": "algorithm", + "inflectionRules": [ + "masu stem" + ] + } ], "score": 1, "frequencyOrder": 0, @@ -10421,8 +10726,13 @@ { "type": "term", "isPrimary": true, - "inflections": [ - "masu stem" + "inflectionRuleChainCandidates": [ + { + "source": "algorithm", + "inflectionRules": [ + "masu stem" + ] + } ], "score": 1, "frequencyOrder": 0, @@ -10588,7 +10898,12 @@ { "type": "term", "isPrimary": true, - "inflections": [], + "inflectionRuleChainCandidates": [ + { + "source": "algorithm", + "inflectionRules": [] + } + ], "score": 1, "frequencyOrder": 0, "dictionaryIndex": 0, @@ -10751,7 +11066,12 @@ { "type": "term", "isPrimary": true, - "inflections": [], + "inflectionRuleChainCandidates": [ + { + "source": "algorithm", + "inflectionRules": [] + } + ], "score": 1, "frequencyOrder": 0, "dictionaryIndex": 0, @@ -10933,7 +11253,12 @@ { "type": "term", "isPrimary": true, - "inflections": [], + "inflectionRuleChainCandidates": [ + { + "source": "algorithm", + "inflectionRules": [] + } + ], "score": 10, "frequencyOrder": 0, "dictionaryIndex": 0, @@ -11122,7 +11447,12 @@ { "type": "term", "isPrimary": true, - "inflections": [], + "inflectionRuleChainCandidates": [ + { + "source": "algorithm", + "inflectionRules": [] + } + ], "score": 10, "frequencyOrder": 0, "dictionaryIndex": 0, @@ -11311,7 +11641,12 @@ { "type": "term", "isPrimary": true, - "inflections": [], + "inflectionRuleChainCandidates": [ + { + "source": "algorithm", + "inflectionRules": [] + } + ], "score": 1, "frequencyOrder": 0, "dictionaryIndex": 0, @@ -11500,7 +11835,12 @@ { "type": "term", "isPrimary": true, - "inflections": [], + "inflectionRuleChainCandidates": [ + { + "source": "algorithm", + "inflectionRules": [] + } + ], "score": 1, "frequencyOrder": 0, "dictionaryIndex": 0, @@ -11689,8 +12029,13 @@ { "type": "term", "isPrimary": true, - "inflections": [ - "masu stem" + "inflectionRuleChainCandidates": [ + { + "source": "algorithm", + "inflectionRules": [ + "masu stem" + ] + } ], "score": 10, "frequencyOrder": 0, @@ -11856,8 +12201,13 @@ { "type": "term", "isPrimary": true, - "inflections": [ - "masu stem" + "inflectionRuleChainCandidates": [ + { + "source": "algorithm", + "inflectionRules": [ + "masu stem" + ] + } ], "score": 10, "frequencyOrder": 0, @@ -12023,8 +12373,13 @@ { "type": "term", "isPrimary": true, - "inflections": [ - "masu stem" + "inflectionRuleChainCandidates": [ + { + "source": "algorithm", + "inflectionRules": [ + "masu stem" + ] + } ], "score": 1, "frequencyOrder": 0, @@ -12190,8 +12545,13 @@ { "type": "term", "isPrimary": true, - "inflections": [ - "masu stem" + "inflectionRuleChainCandidates": [ + { + "source": "algorithm", + "inflectionRules": [ + "masu stem" + ] + } ], "score": 1, "frequencyOrder": 0, @@ -12357,7 +12717,12 @@ { "type": "term", "isPrimary": true, - "inflections": [], + "inflectionRuleChainCandidates": [ + { + "source": "algorithm", + "inflectionRules": [] + } + ], "score": 1, "frequencyOrder": 0, "dictionaryIndex": 0, @@ -12520,7 +12885,12 @@ { "type": "term", "isPrimary": true, - "inflections": [], + "inflectionRuleChainCandidates": [ + { + "source": "algorithm", + "inflectionRules": [] + } + ], "score": 1, "frequencyOrder": 0, "dictionaryIndex": 0, @@ -12702,7 +13072,12 @@ { "type": "term", "isPrimary": true, - "inflections": [], + "inflectionRuleChainCandidates": [ + { + "source": "algorithm", + "inflectionRules": [] + } + ], "score": 10, "frequencyOrder": 0, "dictionaryIndex": 0, @@ -12891,7 +13266,12 @@ { "type": "term", "isPrimary": true, - "inflections": [], + "inflectionRuleChainCandidates": [ + { + "source": "algorithm", + "inflectionRules": [] + } + ], "score": 10, "frequencyOrder": 0, "dictionaryIndex": 0, @@ -13080,7 +13460,12 @@ { "type": "term", "isPrimary": true, - "inflections": [], + "inflectionRuleChainCandidates": [ + { + "source": "algorithm", + "inflectionRules": [] + } + ], "score": 1, "frequencyOrder": 0, "dictionaryIndex": 0, @@ -13269,7 +13654,12 @@ { "type": "term", "isPrimary": true, - "inflections": [], + "inflectionRuleChainCandidates": [ + { + "source": "algorithm", + "inflectionRules": [] + } + ], "score": 1, "frequencyOrder": 0, "dictionaryIndex": 0, @@ -13458,8 +13848,13 @@ { "type": "term", "isPrimary": true, - "inflections": [ - "masu stem" + "inflectionRuleChainCandidates": [ + { + "source": "algorithm", + "inflectionRules": [ + "masu stem" + ] + } ], "score": 10, "frequencyOrder": 0, @@ -13625,8 +14020,13 @@ { "type": "term", "isPrimary": true, - "inflections": [ - "masu stem" + "inflectionRuleChainCandidates": [ + { + "source": "algorithm", + "inflectionRules": [ + "masu stem" + ] + } ], "score": 10, "frequencyOrder": 0, @@ -13792,8 +14192,13 @@ { "type": "term", "isPrimary": true, - "inflections": [ - "masu stem" + "inflectionRuleChainCandidates": [ + { + "source": "algorithm", + "inflectionRules": [ + "masu stem" + ] + } ], "score": 1, "frequencyOrder": 0, @@ -13959,8 +14364,13 @@ { "type": "term", "isPrimary": true, - "inflections": [ - "masu stem" + "inflectionRuleChainCandidates": [ + { + "source": "algorithm", + "inflectionRules": [ + "masu stem" + ] + } ], "score": 1, "frequencyOrder": 0, @@ -14126,7 +14536,12 @@ { "type": "term", "isPrimary": true, - "inflections": [], + "inflectionRuleChainCandidates": [ + { + "source": "algorithm", + "inflectionRules": [] + } + ], "score": 1, "frequencyOrder": 0, "dictionaryIndex": 0, @@ -14289,7 +14704,12 @@ { "type": "term", "isPrimary": true, - "inflections": [], + "inflectionRuleChainCandidates": [ + { + "source": "algorithm", + "inflectionRules": [] + } + ], "score": 1, "frequencyOrder": 0, "dictionaryIndex": 0, @@ -14471,8 +14891,13 @@ { "type": "term", "isPrimary": true, - "inflections": [ - "masu stem" + "inflectionRuleChainCandidates": [ + { + "source": "algorithm", + "inflectionRules": [ + "masu stem" + ] + } ], "score": 100, "frequencyOrder": 0, @@ -14576,7 +15001,12 @@ { "type": "term", "isPrimary": true, - "inflections": [], + "inflectionRuleChainCandidates": [ + { + "source": "algorithm", + "inflectionRules": [] + } + ], "score": 90, "frequencyOrder": 0, "dictionaryIndex": 0, @@ -14679,8 +15109,13 @@ { "type": "term", "isPrimary": true, - "inflections": [ - "polite past" + "inflectionRuleChainCandidates": [ + { + "source": "algorithm", + "inflectionRules": [ + "polite past" + ] + } ], "score": 100, "frequencyOrder": 0, @@ -14784,7 +15219,12 @@ { "type": "term", "isPrimary": true, - "inflections": [], + "inflectionRuleChainCandidates": [ + { + "source": "algorithm", + "inflectionRules": [] + } + ], "score": 10, "frequencyOrder": 0, "dictionaryIndex": 0, @@ -15239,8 +15679,13 @@ { "type": "term", "isPrimary": true, - "inflections": [ - "masu stem" + "inflectionRuleChainCandidates": [ + { + "source": "algorithm", + "inflectionRules": [ + "masu stem" + ] + } ], "score": 10, "frequencyOrder": 0, @@ -15655,7 +16100,12 @@ { "type": "term", "isPrimary": true, - "inflections": [], + "inflectionRuleChainCandidates": [ + { + "source": "algorithm", + "inflectionRules": [] + } + ], "score": 1, "frequencyOrder": 0, "dictionaryIndex": 0, @@ -15804,7 +16254,12 @@ { "type": "term", "isPrimary": true, - "inflections": [], + "inflectionRuleChainCandidates": [ + { + "source": "algorithm", + "inflectionRules": [] + } + ], "score": 1, "frequencyOrder": 0, "dictionaryIndex": 0, @@ -15899,7 +16354,12 @@ { "type": "term", "isPrimary": true, - "inflections": [], + "inflectionRuleChainCandidates": [ + { + "source": "algorithm", + "inflectionRules": [] + } + ], "score": 1, "frequencyOrder": 0, "dictionaryIndex": 0, @@ -15994,7 +16454,12 @@ { "type": "term", "isPrimary": true, - "inflections": [], + "inflectionRuleChainCandidates": [ + { + "source": "algorithm", + "inflectionRules": [] + } + ], "score": 1, "frequencyOrder": 0, "dictionaryIndex": 0, @@ -16089,7 +16554,12 @@ { "type": "term", "isPrimary": true, - "inflections": [], + "inflectionRuleChainCandidates": [ + { + "source": "algorithm", + "inflectionRules": [] + } + ], "score": 1, "frequencyOrder": 0, "dictionaryIndex": 0, @@ -16184,7 +16654,12 @@ { "type": "term", "isPrimary": true, - "inflections": [], + "inflectionRuleChainCandidates": [ + { + "source": "algorithm", + "inflectionRules": [] + } + ], "score": 1, "frequencyOrder": 0, "dictionaryIndex": 0, @@ -16296,7 +16771,12 @@ { "type": "term", "isPrimary": true, - "inflections": [], + "inflectionRuleChainCandidates": [ + { + "source": "algorithm", + "inflectionRules": [] + } + ], "score": 35, "frequencyOrder": 0, "dictionaryIndex": 0, @@ -16399,5 +16879,86 @@ "frequencies": [] } ] + }, + { + "name": "Test dictionary deinflection", + "originalTextLength": 5, + "dictionaryEntries": [ + { + "type": "term", + "isPrimary": true, + "inflectionRuleChainCandidates": [ + { + "source": "both", + "inflectionRules": [ + "past" + ] + } + ], + "score": 1, + "frequencyOrder": 0, + "dictionaryIndex": 0, + "dictionaryPriority": 0, + "sourceTermExactMatchCount": 1, + "maxTransformedTextLength": 5, + "headwords": [ + { + "index": 0, + "term": "のたまう", + "reading": "のたまう", + "sources": [ + { + "originalText": "のたもうた", + "transformedText": "のたもうた", + "deinflectedText": "のたまう", + "matchType": "exact", + "matchSource": "term", + "isPrimary": true + } + ], + "tags": [], + "wordClasses": [ + "v5" + ] + } + ], + "definitions": [ + { + "index": 0, + "headwordIndices": [ + 0 + ], + "dictionary": "Test Dictionary 2", + "dictionaryIndex": 0, + "dictionaryPriority": 0, + "id": 23, + "score": 1, + "frequencyOrder": 0, + "sequences": [ + 15 + ], + "isPrimary": true, + "tags": [ + { + "name": "v5", + "category": "default", + "order": 0, + "score": 0, + "content": [], + "dictionaries": [ + "Test Dictionary 2" + ], + "redundant": false + } + ], + "entries": [ + "notamau definition" + ] + } + ], + "pronunciations": [], + "frequencies": [] + } + ] } ] \ No newline at end of file -- cgit v1.2.3