@kensio/pinyinjs 1.9.1 → 1.9.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/decode/de-rule.d.ts +1 -0
- package/dist/decode/de-rule.d.ts.map +1 -1
- package/dist/decode/de-rule.js +1 -0
- package/dist/decode/de-rule.js.map +1 -1
- package/dist/decode/hua-modified.d.ts +19 -0
- package/dist/decode/hua-modified.d.ts.map +1 -0
- package/dist/decode/hua-modified.js +62 -0
- package/dist/decode/hua-modified.js.map +1 -0
- package/dist/decode/hua-rule.d.ts +18 -0
- package/dist/decode/hua-rule.d.ts.map +1 -0
- package/dist/decode/hua-rule.js +87 -0
- package/dist/decode/hua-rule.js.map +1 -0
- package/dist/decode/hua-speaking.d.ts +29 -0
- package/dist/decode/hua-speaking.d.ts.map +1 -0
- package/dist/decode/hua-speaking.js +79 -0
- package/dist/decode/hua-speaking.js.map +1 -0
- package/dist/decode/hua-words.d.ts +87 -0
- package/dist/decode/hua-words.d.ts.map +1 -0
- package/dist/decode/hua-words.js +228 -0
- package/dist/decode/hua-words.js.map +1 -0
- package/dist/decode/measure-rule.d.ts +31 -0
- package/dist/decode/measure-rule.d.ts.map +1 -0
- package/dist/decode/measure-rule.js +87 -0
- package/dist/decode/measure-rule.js.map +1 -0
- package/dist/decode/reading-rules.d.ts +3 -31
- package/dist/decode/reading-rules.d.ts.map +1 -1
- package/dist/decode/reading-rules.js +5 -88
- package/dist/decode/reading-rules.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/decode/de-rule.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"de-rule.d.ts","sourceRoot":"","sources":["../../src/decode/de-rule.ts"],"names":[],"mappings":"AASA,OAAO,EAEL,KAAK,QAAQ,EAKd,MAAM,YAAY,CAAC;AAgCpB;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,eAAO,MAAM,QAAQ,EAAE,QActB,CAAC;AA8CF;;;;;;;;;;;;;;;;;;GAkBG;AACH,eAAO,MAAM,YAAY,EAAE,QAoB1B,CAAC;AAWF;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,eAAO,MAAM,WAAW,EAAE,QAczB,CAAC"}
|
|
1
|
+
{"version":3,"file":"de-rule.d.ts","sourceRoot":"","sources":["../../src/decode/de-rule.ts"],"names":[],"mappings":"AASA,OAAO,EAEL,KAAK,QAAQ,EAKd,MAAM,YAAY,CAAC;AAgCpB;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,eAAO,MAAM,QAAQ,EAAE,QActB,CAAC;AA8CF;;;;;;;;;;;;;;;;;;GAkBG;AACH,eAAO,MAAM,YAAY,EAAE,QAoB1B,CAAC;AAWF;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,eAAO,MAAM,WAAW,EAAE,QAczB,CAAC;AAEF,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC"}
|
package/dist/decode/de-rule.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"de-rule.js","sourceRoot":"","sources":["../../src/decode/de-rule.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"de-rule.js","sourceRoot":"","sources":["../../src/decode/de-rule.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { type EdgeContext } from "./rules.js";
|
|
2
|
+
/**
|
|
3
|
+
* Whether the 的 follows an adjective of speech that somebody said.
|
|
4
|
+
*
|
|
5
|
+
* The adjective can carry a degree (很蠢, 这么卑鄙), and before it stands a
|
|
6
|
+
* speaker (他刻薄的话), a verb of speaking (说出这么卑鄙的话, 说了很蠢的话) or
|
|
7
|
+
* another 的 (我说过的最愚蠢的话). A bare 难听的话 is left to the conditional.
|
|
8
|
+
*/
|
|
9
|
+
export declare function describesSpeech(context: EdgeContext, from: number): boolean;
|
|
10
|
+
/**
|
|
11
|
+
* Whether the 话 is the words something is put in: 用通俗的话解释.
|
|
12
|
+
*
|
|
13
|
+
* A 用 in the few characters before the 的, standing as a word of its own, and
|
|
14
|
+
* a verb of explaining at the 话's end or one character on (再说一遍,
|
|
15
|
+
* 做解释). 用电脑的话就快多了 has no such verb and stays the conditional, and so
|
|
16
|
+
* does 有用的话, whose 用 is half of another word.
|
|
17
|
+
*/
|
|
18
|
+
export declare function explainsIn(context: EdgeContext, from: number, to: number): boolean;
|
|
19
|
+
//# sourceMappingURL=hua-modified.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hua-modified.d.ts","sourceRoot":"","sources":["../../src/decode/hua-modified.ts"],"names":[],"mappings":"AAKA,OAAO,EACL,KAAK,WAAW,EAIjB,MAAM,YAAY,CAAC;AAWpB;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAyB3E;AAED;;;;;;;GAOG;AACH,wBAAgB,UAAU,CACxB,OAAO,EAAE,WAAW,EACpB,IAAI,EAAE,MAAM,EACZ,EAAE,EAAE,MAAM,GACT,OAAO,CAmBT"}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* What the modifier before a 的 says about the 话 after it: 他刻薄的话,
|
|
3
|
+
* 说了很蠢的话, 用通俗的话解释.
|
|
4
|
+
*/
|
|
5
|
+
import { toCharacters } from "../script/characters.js";
|
|
6
|
+
import { wordEndingAt, wordsEndingAt, wordStartingAt, } from "./rules.js";
|
|
7
|
+
import { at } from "./hua-speaking.js";
|
|
8
|
+
import { DEGREE, EXPLAINING, OF_SPEECH, PERSONS, SPEAKING, SPEAKING_TAIL, } from "./hua-words.js";
|
|
9
|
+
/**
|
|
10
|
+
* Whether the 的 follows an adjective of speech that somebody said.
|
|
11
|
+
*
|
|
12
|
+
* The adjective can carry a degree (很蠢, 这么卑鄙), and before it stands a
|
|
13
|
+
* speaker (他刻薄的话), a verb of speaking (说出这么卑鄙的话, 说了很蠢的话) or
|
|
14
|
+
* another 的 (我说过的最愚蠢的话). A bare 难听的话 is left to the conditional.
|
|
15
|
+
*/
|
|
16
|
+
export function describesSpeech(context, from) {
|
|
17
|
+
const quality = wordsEndingAt(context, from, 2).find((word) => OF_SPEECH.has(word));
|
|
18
|
+
if (quality === undefined) {
|
|
19
|
+
return false;
|
|
20
|
+
}
|
|
21
|
+
let start = from - toCharacters(quality).length;
|
|
22
|
+
const degree = wordsEndingAt(context, start, 2).find((word) => DEGREE.has(word));
|
|
23
|
+
if (degree !== undefined) {
|
|
24
|
+
start -= toCharacters(degree).length;
|
|
25
|
+
}
|
|
26
|
+
if (at(context, start - 1) === "的" ||
|
|
27
|
+
wordsEndingAt(context, start, 2).some((word) => PERSONS.has(word))) {
|
|
28
|
+
return true;
|
|
29
|
+
}
|
|
30
|
+
let verb = start - 1;
|
|
31
|
+
while (verb > start - 4 && SPEAKING_TAIL.has(at(context, verb))) {
|
|
32
|
+
verb -= 1;
|
|
33
|
+
}
|
|
34
|
+
return SPEAKING.has(at(context, verb));
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Whether the 话 is the words something is put in: 用通俗的话解释.
|
|
38
|
+
*
|
|
39
|
+
* A 用 in the few characters before the 的, standing as a word of its own, and
|
|
40
|
+
* a verb of explaining at the 话's end or one character on (再说一遍,
|
|
41
|
+
* 做解释). 用电脑的话就快多了 has no such verb and stays the conditional, and so
|
|
42
|
+
* does 有用的话, whose 用 is half of another word.
|
|
43
|
+
*/
|
|
44
|
+
export function explainsIn(context, from, to) {
|
|
45
|
+
let uses = false;
|
|
46
|
+
for (let index = from - 1; index >= Math.max(0, from - 5); index--) {
|
|
47
|
+
const character = at(context, index);
|
|
48
|
+
if (character === "的") {
|
|
49
|
+
return false;
|
|
50
|
+
}
|
|
51
|
+
if (character === "用" && wordEndingAt(context, index + 1, 2) === "用") {
|
|
52
|
+
uses = true;
|
|
53
|
+
break;
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
return (uses &&
|
|
57
|
+
[to, to + 1].some((index) => {
|
|
58
|
+
const word = wordStartingAt(context, index);
|
|
59
|
+
return word !== undefined && EXPLAINING.includes(word);
|
|
60
|
+
}));
|
|
61
|
+
}
|
|
62
|
+
//# sourceMappingURL=hua-modified.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hua-modified.js","sourceRoot":"","sources":["../../src/decode/hua-modified.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { type EdgeRule } from "./rules.js";
|
|
2
|
+
/**
|
|
3
|
+
* 的话 is taken off the lattice where the 话 is the noun its 的 modifies.
|
|
4
|
+
*
|
|
5
|
+
* The conditional is the default, since it is what the word is, and the rule
|
|
6
|
+
* names the contexts where it cannot be: a 吗 or 里 after the 话, a time the
|
|
7
|
+
* words were said, a verb of speaking before the 的, a kind of words that verb
|
|
8
|
+
* is saying, a 句 counting them, an adjective of speech, the words something
|
|
9
|
+
* is explained in, or a person whose words they are. Taking the edge away leaves 的 and 话
|
|
10
|
+
* to read as themselves, which they already did, so this changes the spacing
|
|
11
|
+
* and the segmentation rather than any syllable: `shuō de huà`, not
|
|
12
|
+
* `shuō dehuà`.
|
|
13
|
+
*
|
|
14
|
+
* Over the 472 distinct lines of Tatoeba, zh.wikipedia and the Chinese Boost
|
|
15
|
+
* example sentences that hold 的话, the full tier read 463 runs as the word.
|
|
16
|
+
*/
|
|
17
|
+
export declare const NOUN_HUA: EdgeRule;
|
|
18
|
+
//# sourceMappingURL=hua-rule.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hua-rule.d.ts","sourceRoot":"","sources":["../../src/decode/hua-rule.ts"],"names":[],"mappings":"AAUA,OAAO,EAEL,KAAK,QAAQ,EAId,MAAM,YAAY,CAAC;AAuDpB;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,QAAQ,EAAE,QAoBtB,CAAC"}
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The 话 after a structural 的, which is the noun *words* and not half of 的话.
|
|
3
|
+
*
|
|
4
|
+
* 的话 is a word, the clause-final *if* of 要是下雨的话, and every source counts
|
|
5
|
+
* it. The same two characters are just as often the particle 的 and the noun 话
|
|
6
|
+
* it modifies: 他说的话, 听妈妈的话. The decode had no way to tell the two
|
|
7
|
+
* apart and read every one of them as the conditional, so 你听得懂从我嘴里出来的话吗
|
|
8
|
+
* came out `chūlái dehuà ma`.
|
|
9
|
+
*/
|
|
10
|
+
import { toCharacters } from "../script/characters.js";
|
|
11
|
+
import { tagOf, wordEndingAt, wordsEndingAt, } from "./rules.js";
|
|
12
|
+
import { DE_HUA, AFTER_NOUN, PERSONS, OWNER_TAGS, RECEIVING, NEGATION, RECEIVING_TAIL, EARLIER, } from "./hua-words.js";
|
|
13
|
+
import { describesSpeech, explainsIn } from "./hua-modified.js";
|
|
14
|
+
import { at, followsSpeaking, isCounted, saysKind } from "./hua-speaking.js";
|
|
15
|
+
/**
|
|
16
|
+
* Whether the 的 marks whose words they are, 他的话 and 听老师的话.
|
|
17
|
+
*
|
|
18
|
+
* The owner is a person, and it either opens the run with something said about
|
|
19
|
+
* the words after them (他的话让我吃惊) or is the object of a verb that takes
|
|
20
|
+
* words (听妈妈的话, 相信你的话, 听她叔叔的话). A noun owner is a word of two
|
|
21
|
+
* characters or more, since 热的话就脱衣服 is tagged as a noun and is the
|
|
22
|
+
* conditional.
|
|
23
|
+
*
|
|
24
|
+
* A negated verb counts as the verb. 不听 is a word of its own, and
|
|
25
|
+
* 为什么不听我的话 has to find 听 in it.
|
|
26
|
+
*/
|
|
27
|
+
function isOwned(context, from, to) {
|
|
28
|
+
const owner = wordEndingAt(context, from, 3);
|
|
29
|
+
if (owner === undefined) {
|
|
30
|
+
return false;
|
|
31
|
+
}
|
|
32
|
+
const isPerson = PERSONS.has(owner);
|
|
33
|
+
if (!isPerson &&
|
|
34
|
+
(toCharacters(owner).length < 2 || !OWNER_TAGS.test(tagOf(context, owner)))) {
|
|
35
|
+
return false;
|
|
36
|
+
}
|
|
37
|
+
let start = from - toCharacters(owner).length;
|
|
38
|
+
if (start === 0) {
|
|
39
|
+
return to < context.characters.length;
|
|
40
|
+
}
|
|
41
|
+
const possessor = wordEndingAt(context, start, 2);
|
|
42
|
+
if (!isPerson && possessor !== undefined && PERSONS.has(possessor)) {
|
|
43
|
+
start -= toCharacters(possessor).length;
|
|
44
|
+
}
|
|
45
|
+
let verb = start;
|
|
46
|
+
while (verb > start - 2 && RECEIVING_TAIL.has(at(context, verb - 1))) {
|
|
47
|
+
verb -= 1;
|
|
48
|
+
}
|
|
49
|
+
return wordsEndingAt(context, verb).some((word) => RECEIVING.has(word) || RECEIVING.has(word.replace(NEGATION, "")));
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* 的话 is taken off the lattice where the 话 is the noun its 的 modifies.
|
|
53
|
+
*
|
|
54
|
+
* The conditional is the default, since it is what the word is, and the rule
|
|
55
|
+
* names the contexts where it cannot be: a 吗 or 里 after the 话, a time the
|
|
56
|
+
* words were said, a verb of speaking before the 的, a kind of words that verb
|
|
57
|
+
* is saying, a 句 counting them, an adjective of speech, the words something
|
|
58
|
+
* is explained in, or a person whose words they are. Taking the edge away leaves 的 and 话
|
|
59
|
+
* to read as themselves, which they already did, so this changes the spacing
|
|
60
|
+
* and the segmentation rather than any syllable: `shuō de huà`, not
|
|
61
|
+
* `shuō dehuà`.
|
|
62
|
+
*
|
|
63
|
+
* Over the 472 distinct lines of Tatoeba, zh.wikipedia and the Chinese Boost
|
|
64
|
+
* example sentences that hold 的话, the full tier read 463 runs as the word.
|
|
65
|
+
*/
|
|
66
|
+
export const NOUN_HUA = {
|
|
67
|
+
name: "noun-hua",
|
|
68
|
+
verdictFor: (context) => {
|
|
69
|
+
const { edge } = context;
|
|
70
|
+
if (!DE_HUA.has(edge.text)) {
|
|
71
|
+
return "keep";
|
|
72
|
+
}
|
|
73
|
+
const { from, to } = edge;
|
|
74
|
+
const before = wordEndingAt(context, from, 2);
|
|
75
|
+
return AFTER_NOUN.has(at(context, to)) ||
|
|
76
|
+
(before !== undefined && EARLIER.has(before)) ||
|
|
77
|
+
followsSpeaking(context, from) ||
|
|
78
|
+
saysKind(context, from) ||
|
|
79
|
+
isCounted(context, from) ||
|
|
80
|
+
describesSpeech(context, from) ||
|
|
81
|
+
explainsIn(context, from, to) ||
|
|
82
|
+
isOwned(context, from, to)
|
|
83
|
+
? "forbid"
|
|
84
|
+
: "keep";
|
|
85
|
+
},
|
|
86
|
+
};
|
|
87
|
+
//# sourceMappingURL=hua-rule.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hua-rule.js","sourceRoot":"","sources":["../../src/decode/hua-rule.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAGL,KAAK,EACL,YAAY,EACZ,aAAa,GACd,MAAM,YAAY,CAAC;AACpB,OAAO,EACL,MAAM,EACN,UAAU,EACV,OAAO,EACP,UAAU,EACV,SAAS,EACT,QAAQ,EACR,cAAc,EACd,OAAO,GACR,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAChE,OAAO,EAAE,EAAE,EAAE,eAAe,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAE7E;;;;;;;;;;;GAWG;AACH,SAAS,OAAO,CAAC,OAAoB,EAAE,IAAY,EAAE,EAAU;IAC7D,MAAM,KAAK,GAAG,YAAY,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IAC7C,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,OAAO,KAAK,CAAC;IACf,CAAC;IACD,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IACpC,IACE,CAAC,QAAQ;QACT,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC,EAC3E,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IACD,IAAI,KAAK,GAAG,IAAI,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC;IAC9C,IAAI,KAAK,KAAK,CAAC,EAAE,CAAC;QAChB,OAAO,EAAE,GAAG,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC;IACxC,CAAC;IACD,MAAM,SAAS,GAAG,YAAY,CAAC,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;IAClD,IAAI,CAAC,QAAQ,IAAI,SAAS,KAAK,SAAS,IAAI,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;QACnE,KAAK,IAAI,YAAY,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC;IAC1C,CAAC;IACD,IAAI,IAAI,GAAG,KAAK,CAAC;IACjB,OAAO,IAAI,GAAG,KAAK,GAAG,CAAC,IAAI,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,IAAI,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;QACrE,IAAI,IAAI,CAAC,CAAC;IACZ,CAAC;IACD,OAAO,aAAa,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,IAAI,CACtC,CAAC,IAAI,EAAE,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,CAC3E,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAa;IAChC,IAAI,EAAE,UAAU;IAChB,UAAU,EAAE,CAAC,OAAoB,EAAE,EAAE;QACnC,MAAM,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC;QACzB,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YAC3B,OAAO,MAAM,CAAC;QAChB,CAAC;QACD,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,IAAI,CAAC;QAC1B,MAAM,MAAM,GAAG,YAAY,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;QAC9C,OAAO,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;YACpC,CAAC,MAAM,KAAK,SAAS,IAAI,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YAC7C,eAAe,CAAC,OAAO,EAAE,IAAI,CAAC;YAC9B,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC;YACvB,SAAS,CAAC,OAAO,EAAE,IAAI,CAAC;YACxB,eAAe,CAAC,OAAO,EAAE,IAAI,CAAC;YAC9B,UAAU,CAAC,OAAO,EAAE,IAAI,EAAE,EAAE,CAAC;YAC7B,OAAO,CAAC,OAAO,EAAE,IAAI,EAAE,EAAE,CAAC;YAC1B,CAAC,CAAC,QAAQ;YACV,CAAC,CAAC,MAAM,CAAC;IACb,CAAC;CACF,CAAC"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { type EdgeContext } from "./rules.js";
|
|
2
|
+
/**
|
|
3
|
+
* The character at a position, or the empty string beyond either end.
|
|
4
|
+
*/
|
|
5
|
+
export declare function at(context: EdgeContext, index: number): string;
|
|
6
|
+
/**
|
|
7
|
+
* Whether the 的 is the object marker of a verb of speaking.
|
|
8
|
+
*
|
|
9
|
+
* 说的话, 所说的话, 说过的话 and 说出来的话 all qualify, unless a manner stands in
|
|
10
|
+
* front of the verb or somebody is asked for an opinion: 这么说的话 is *if you
|
|
11
|
+
* put it like that* and 要我说的话 is *if you ask me*.
|
|
12
|
+
*/
|
|
13
|
+
export declare function followsSpeaking(context: EdgeContext, from: number): boolean;
|
|
14
|
+
/**
|
|
15
|
+
* Whether the 的 follows a kind of words a verb of speaking is saying.
|
|
16
|
+
*
|
|
17
|
+
* 说这样的话, 说过那样的话 and 讲同样的话.
|
|
18
|
+
*/
|
|
19
|
+
export declare function saysKind(context: EdgeContext, from: number): boolean;
|
|
20
|
+
/**
|
|
21
|
+
* Whether a 句, or a 些 after a verb of speaking, counts the words.
|
|
22
|
+
*
|
|
23
|
+
* 句 is the classifier of 话 and of little else a 的话 could follow, so one in
|
|
24
|
+
* the few characters before the 的 is counting the head: 一句感谢的话,
|
|
25
|
+
* 说句简单的话. 些 counts anything, 有些人不来的话 among them, so it counts the
|
|
26
|
+
* words only when it is what is said: 说些傻乎乎的话, 说一些下流的话.
|
|
27
|
+
*/
|
|
28
|
+
export declare function isCounted(context: EdgeContext, from: number): boolean;
|
|
29
|
+
//# sourceMappingURL=hua-speaking.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hua-speaking.d.ts","sourceRoot":"","sources":["../../src/decode/hua-speaking.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,KAAK,WAAW,EAAgB,MAAM,YAAY,CAAC;AAU5D;;GAEG;AACH,wBAAgB,EAAE,CAAC,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAE9D;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAiB3E;AAED;;;;GAIG;AACH,wBAAgB,QAAQ,CAAC,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAUpE;AAED;;;;;;;GAOG;AACH,wBAAgB,SAAS,CAAC,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAerE"}
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* What a verb of speaking says about the 话 after a 的: 说的话, 说这样的话,
|
|
3
|
+
* 说句简单的话.
|
|
4
|
+
*/
|
|
5
|
+
import { toCharacters } from "../script/characters.js";
|
|
6
|
+
import { wordEndingAt } from "./rules.js";
|
|
7
|
+
import { SPEAKING, NOT_SPEAKING, ASKING, SPEAKING_TAIL, MANNER, KIND, } from "./hua-words.js";
|
|
8
|
+
/**
|
|
9
|
+
* The character at a position, or the empty string beyond either end.
|
|
10
|
+
*/
|
|
11
|
+
export function at(context, index) {
|
|
12
|
+
return context.characters[index] ?? "";
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Whether the 的 is the object marker of a verb of speaking.
|
|
16
|
+
*
|
|
17
|
+
* 说的话, 所说的话, 说过的话 and 说出来的话 all qualify, unless a manner stands in
|
|
18
|
+
* front of the verb or somebody is asked for an opinion: 这么说的话 is *if you
|
|
19
|
+
* put it like that* and 要我说的话 is *if you ask me*.
|
|
20
|
+
*/
|
|
21
|
+
export function followsSpeaking(context, from) {
|
|
22
|
+
let verb = from - 1;
|
|
23
|
+
while (verb > from - 4 && SPEAKING_TAIL.has(at(context, verb))) {
|
|
24
|
+
verb -= 1;
|
|
25
|
+
}
|
|
26
|
+
if (!SPEAKING.has(at(context, verb))) {
|
|
27
|
+
return false;
|
|
28
|
+
}
|
|
29
|
+
const word = wordEndingAt(context, verb + 1, 2);
|
|
30
|
+
if (word !== undefined && NOT_SPEAKING.has(word)) {
|
|
31
|
+
return false;
|
|
32
|
+
}
|
|
33
|
+
if (ASKING.has(at(context, verb - 2)) && at(context, verb - 1) === "我") {
|
|
34
|
+
return false;
|
|
35
|
+
}
|
|
36
|
+
const manner = wordEndingAt(context, verb, 2);
|
|
37
|
+
return manner === undefined || !MANNER.has(manner);
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Whether the 的 follows a kind of words a verb of speaking is saying.
|
|
41
|
+
*
|
|
42
|
+
* 说这样的话, 说过那样的话 and 讲同样的话.
|
|
43
|
+
*/
|
|
44
|
+
export function saysKind(context, from) {
|
|
45
|
+
const kind = wordEndingAt(context, from, 2);
|
|
46
|
+
if (kind === undefined || !KIND.has(kind)) {
|
|
47
|
+
return false;
|
|
48
|
+
}
|
|
49
|
+
let verb = from - toCharacters(kind).length - 1;
|
|
50
|
+
if (SPEAKING_TAIL.has(at(context, verb))) {
|
|
51
|
+
verb -= 1;
|
|
52
|
+
}
|
|
53
|
+
return SPEAKING.has(at(context, verb));
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Whether a 句, or a 些 after a verb of speaking, counts the words.
|
|
57
|
+
*
|
|
58
|
+
* 句 is the classifier of 话 and of little else a 的话 could follow, so one in
|
|
59
|
+
* the few characters before the 的 is counting the head: 一句感谢的话,
|
|
60
|
+
* 说句简单的话. 些 counts anything, 有些人不来的话 among them, so it counts the
|
|
61
|
+
* words only when it is what is said: 说些傻乎乎的话, 说一些下流的话.
|
|
62
|
+
*/
|
|
63
|
+
export function isCounted(context, from) {
|
|
64
|
+
for (let index = from - 1; index >= Math.max(0, from - 4); index--) {
|
|
65
|
+
const character = at(context, index);
|
|
66
|
+
if (character === "的") {
|
|
67
|
+
return false;
|
|
68
|
+
}
|
|
69
|
+
if (character === "句") {
|
|
70
|
+
return true;
|
|
71
|
+
}
|
|
72
|
+
if (character === "些") {
|
|
73
|
+
const verb = at(context, index - 1) === "一" ? index - 2 : index - 1;
|
|
74
|
+
return SPEAKING.has(at(context, verb));
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
return false;
|
|
78
|
+
}
|
|
79
|
+
//# sourceMappingURL=hua-speaking.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hua-speaking.js","sourceRoot":"","sources":["../../src/decode/hua-speaking.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The words {@link import("./hua-rule.js").NOUN_HUA} reads the context of a
|
|
3
|
+
* 的话 by, in both scripts.
|
|
4
|
+
*/
|
|
5
|
+
/** The two writings of the word, which are all this rule looks at. */
|
|
6
|
+
export declare const DE_HUA: Set<string>;
|
|
7
|
+
/**
|
|
8
|
+
* What follows the noun 话 and cannot follow the conditional.
|
|
9
|
+
*
|
|
10
|
+
* A conditional clause is followed by the clause it conditions, so it is never
|
|
11
|
+
* the thing a 吗 asks about and has no inside for 里 to name: 出来的话吗,
|
|
12
|
+
* 他的话里有文章.
|
|
13
|
+
*/
|
|
14
|
+
export declare const AFTER_NOUN: Set<string>;
|
|
15
|
+
/** The verbs of speaking whose object 话 is: 说的话, 讲过的话. */
|
|
16
|
+
export declare const SPEAKING: Set<string>;
|
|
17
|
+
/**
|
|
18
|
+
* Words ending in a verb of speaking that are not that verb.
|
|
19
|
+
*
|
|
20
|
+
* 听讲 is attending a lecture and 小说 is a novel, and 去听讲的话 is a
|
|
21
|
+
* conditional.
|
|
22
|
+
*/
|
|
23
|
+
export declare const NOT_SPEAKING: Set<string>;
|
|
24
|
+
/**
|
|
25
|
+
* What asks for an opinion before 我说, 要我说的话 being *if you ask me*.
|
|
26
|
+
*/
|
|
27
|
+
export declare const ASKING: Set<string>;
|
|
28
|
+
/**
|
|
29
|
+
* What can stand between a verb of speaking and the 的 of its object.
|
|
30
|
+
*
|
|
31
|
+
* 过, 出来, 了 and 不完 are the verb's own, and 所 makes the verb the modifier.
|
|
32
|
+
*/
|
|
33
|
+
export declare const SPEAKING_TAIL: Set<string>;
|
|
34
|
+
/**
|
|
35
|
+
* The manners a speaker can ask after, which make 说的话 the conditional.
|
|
36
|
+
*
|
|
37
|
+
* 我这么说的话是不是像个傻瓜 is *if I put it like this*, and the 说 here is
|
|
38
|
+
* saying it that way rather than saying the words.
|
|
39
|
+
*/
|
|
40
|
+
export declare const MANNER: Set<string>;
|
|
41
|
+
/**
|
|
42
|
+
* The modifiers that pick out words of a kind after a verb of speaking.
|
|
43
|
+
*
|
|
44
|
+
* 说这样的话 is saying such things, where 这样的话 alone is *in that case*.
|
|
45
|
+
*/
|
|
46
|
+
export declare const KIND: Set<string>;
|
|
47
|
+
/**
|
|
48
|
+
* The pronouns that make 的话 someone's words: 他的话, 听妈妈的话.
|
|
49
|
+
*
|
|
50
|
+
* Personal pronouns only. 这样 is tagged a pronoun as well, and 这样的话 is the
|
|
51
|
+
* conditional far more often than it is anything else.
|
|
52
|
+
*/
|
|
53
|
+
export declare const PERSONS: Set<string>;
|
|
54
|
+
/** The tags of a noun that can own its words: 老师, 汤姆. */
|
|
55
|
+
export declare const OWNER_TAGS: RegExp;
|
|
56
|
+
/**
|
|
57
|
+
* The verbs whose object is somebody's words, 听他的话 and 相信你的话.
|
|
58
|
+
*
|
|
59
|
+
* Each takes what was said rather than an action, which is why 帮助我的话 and
|
|
60
|
+
* 陪我的话 stay conditional while 相信我的话 does not. 把, 对 and 因为 are in for
|
|
61
|
+
* the same reason: 把你的话转告给他, 对我的话充耳不闻 and 因为他的话 have the
|
|
62
|
+
* words as their object.
|
|
63
|
+
*/
|
|
64
|
+
export declare const RECEIVING: Set<string>;
|
|
65
|
+
/** What can negate a receiving verb inside a word of its own: 不听, 没听. */
|
|
66
|
+
export declare const NEGATION: RegExp;
|
|
67
|
+
/** The characters a receiving verb can carry before its object: 听了, 听完了. */
|
|
68
|
+
export declare const RECEIVING_TAIL: Set<string>;
|
|
69
|
+
/**
|
|
70
|
+
* When the words were said, which a conditional cannot be about: 刚才的话.
|
|
71
|
+
*/
|
|
72
|
+
export declare const EARLIER: Set<string>;
|
|
73
|
+
/**
|
|
74
|
+
* The adjectives that describe what was said, 刻薄的话 and 难听的话.
|
|
75
|
+
*
|
|
76
|
+
* Only adjectives that hardly describe a person or a state. 你累的话 and
|
|
77
|
+
* 你无聊的话 are conditionals, so 累 and 无聊 stay out.
|
|
78
|
+
*/
|
|
79
|
+
export declare const OF_SPEECH: Set<string>;
|
|
80
|
+
/** The degree an adjective of speech can carry: 很蠢, 最愚蠢, 这么卑鄙. */
|
|
81
|
+
export declare const DEGREE: Set<string>;
|
|
82
|
+
/**
|
|
83
|
+
* The verbs of explaining that follow the words something is put in:
|
|
84
|
+
* 用通俗的话解释, 用简练的话介绍.
|
|
85
|
+
*/
|
|
86
|
+
export declare const EXPLAINING: string[];
|
|
87
|
+
//# sourceMappingURL=hua-words.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hua-words.d.ts","sourceRoot":"","sources":["../../src/decode/hua-words.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,sEAAsE;AACtE,eAAO,MAAM,MAAM,aAAwB,CAAC;AAE5C;;;;;;GAMG;AACH,eAAO,MAAM,UAAU,aAAqC,CAAC;AAE7D,0DAA0D;AAC1D,eAAO,MAAM,QAAQ,aAAgC,CAAC;AAEtD;;;;;GAKG;AACH,eAAO,MAAM,YAAY,aASvB,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,MAAM,aAAgC,CAAC;AAEpD;;;;GAIG;AACH,eAAO,MAAM,aAAa,aASxB,CAAC;AAEH;;;;;GAKG;AACH,eAAO,MAAM,MAAM,aASjB,CAAC;AAEH;;;;GAIG;AACH,eAAO,MAAM,IAAI,aAQf,CAAC;AAEH;;;;;GAKG;AACH,eAAO,MAAM,OAAO,aAoBlB,CAAC;AAEH,yDAAyD;AACzD,eAAO,MAAM,UAAU,QAAyB,CAAC;AAEjD;;;;;;;GAOG;AACH,eAAO,MAAM,SAAS,aAqCpB,CAAC;AAEH,yEAAyE;AACzE,eAAO,MAAM,QAAQ,QAAY,CAAC;AAElC,4EAA4E;AAC5E,eAAO,MAAM,cAAc,aAAsB,CAAC;AAElD;;GAEG;AACH,eAAO,MAAM,OAAO,aAAoC,CAAC;AAEzD;;;;;GAKG;AACH,eAAO,MAAM,SAAS,aAwBpB,CAAC;AAEH,kEAAkE;AAClE,eAAO,MAAM,MAAM,aASjB,CAAC;AAEH;;;GAGG;AACH,eAAO,MAAM,UAAU,UAgBtB,CAAC"}
|
|
@@ -0,0 +1,228 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The words {@link import("./hua-rule.js").NOUN_HUA} reads the context of a
|
|
3
|
+
* 的话 by, in both scripts.
|
|
4
|
+
*/
|
|
5
|
+
/** The two writings of the word, which are all this rule looks at. */
|
|
6
|
+
export const DE_HUA = new Set(["的话", "的話"]);
|
|
7
|
+
/**
|
|
8
|
+
* What follows the noun 话 and cannot follow the conditional.
|
|
9
|
+
*
|
|
10
|
+
* A conditional clause is followed by the clause it conditions, so it is never
|
|
11
|
+
* the thing a 吗 asks about and has no inside for 里 to name: 出来的话吗,
|
|
12
|
+
* 他的话里有文章.
|
|
13
|
+
*/
|
|
14
|
+
export const AFTER_NOUN = new Set(["吗", "嗎", "里", "裡", "裏"]);
|
|
15
|
+
/** The verbs of speaking whose object 话 is: 说的话, 讲过的话. */
|
|
16
|
+
export const SPEAKING = new Set(["说", "說", "讲", "講"]);
|
|
17
|
+
/**
|
|
18
|
+
* Words ending in a verb of speaking that are not that verb.
|
|
19
|
+
*
|
|
20
|
+
* 听讲 is attending a lecture and 小说 is a novel, and 去听讲的话 is a
|
|
21
|
+
* conditional.
|
|
22
|
+
*/
|
|
23
|
+
export const NOT_SPEAKING = new Set([
|
|
24
|
+
"听讲",
|
|
25
|
+
"聽講",
|
|
26
|
+
"演讲",
|
|
27
|
+
"演講",
|
|
28
|
+
"听说",
|
|
29
|
+
"聽說",
|
|
30
|
+
"小说",
|
|
31
|
+
"小說",
|
|
32
|
+
]);
|
|
33
|
+
/**
|
|
34
|
+
* What asks for an opinion before 我说, 要我说的话 being *if you ask me*.
|
|
35
|
+
*/
|
|
36
|
+
export const ASKING = new Set(["要", "依", "让", "讓"]);
|
|
37
|
+
/**
|
|
38
|
+
* What can stand between a verb of speaking and the 的 of its object.
|
|
39
|
+
*
|
|
40
|
+
* 过, 出来, 了 and 不完 are the verb's own, and 所 makes the verb the modifier.
|
|
41
|
+
*/
|
|
42
|
+
export const SPEAKING_TAIL = new Set([
|
|
43
|
+
"过",
|
|
44
|
+
"過",
|
|
45
|
+
"出",
|
|
46
|
+
"来",
|
|
47
|
+
"來",
|
|
48
|
+
"了",
|
|
49
|
+
"不",
|
|
50
|
+
"完",
|
|
51
|
+
]);
|
|
52
|
+
/**
|
|
53
|
+
* The manners a speaker can ask after, which make 说的话 the conditional.
|
|
54
|
+
*
|
|
55
|
+
* 我这么说的话是不是像个傻瓜 is *if I put it like this*, and the 说 here is
|
|
56
|
+
* saying it that way rather than saying the words.
|
|
57
|
+
*/
|
|
58
|
+
export const MANNER = new Set([
|
|
59
|
+
"这么",
|
|
60
|
+
"這麼",
|
|
61
|
+
"那么",
|
|
62
|
+
"那麼",
|
|
63
|
+
"这样",
|
|
64
|
+
"這樣",
|
|
65
|
+
"那样",
|
|
66
|
+
"那樣",
|
|
67
|
+
]);
|
|
68
|
+
/**
|
|
69
|
+
* The modifiers that pick out words of a kind after a verb of speaking.
|
|
70
|
+
*
|
|
71
|
+
* 说这样的话 is saying such things, where 这样的话 alone is *in that case*.
|
|
72
|
+
*/
|
|
73
|
+
export const KIND = new Set([
|
|
74
|
+
...MANNER,
|
|
75
|
+
"同样",
|
|
76
|
+
"同樣",
|
|
77
|
+
"这种",
|
|
78
|
+
"這種",
|
|
79
|
+
"那种",
|
|
80
|
+
"那種",
|
|
81
|
+
]);
|
|
82
|
+
/**
|
|
83
|
+
* The pronouns that make 的话 someone's words: 他的话, 听妈妈的话.
|
|
84
|
+
*
|
|
85
|
+
* Personal pronouns only. 这样 is tagged a pronoun as well, and 这样的话 is the
|
|
86
|
+
* conditional far more often than it is anything else.
|
|
87
|
+
*/
|
|
88
|
+
export const PERSONS = new Set([
|
|
89
|
+
"我",
|
|
90
|
+
"你",
|
|
91
|
+
"他",
|
|
92
|
+
"她",
|
|
93
|
+
"您",
|
|
94
|
+
"我们",
|
|
95
|
+
"我們",
|
|
96
|
+
"你们",
|
|
97
|
+
"你們",
|
|
98
|
+
"他们",
|
|
99
|
+
"他們",
|
|
100
|
+
"她们",
|
|
101
|
+
"她們",
|
|
102
|
+
"咱们",
|
|
103
|
+
"咱們",
|
|
104
|
+
"别人",
|
|
105
|
+
"別人",
|
|
106
|
+
"人家",
|
|
107
|
+
"大家",
|
|
108
|
+
]);
|
|
109
|
+
/** The tags of a noun that can own its words: 老师, 汤姆. */
|
|
110
|
+
export const OWNER_TAGS = /^(?:n|nr|nrfg|nrt)$/u;
|
|
111
|
+
/**
|
|
112
|
+
* The verbs whose object is somebody's words, 听他的话 and 相信你的话.
|
|
113
|
+
*
|
|
114
|
+
* Each takes what was said rather than an action, which is why 帮助我的话 and
|
|
115
|
+
* 陪我的话 stay conditional while 相信我的话 does not. 把, 对 and 因为 are in for
|
|
116
|
+
* the same reason: 把你的话转告给他, 对我的话充耳不闻 and 因为他的话 have the
|
|
117
|
+
* words as their object.
|
|
118
|
+
*/
|
|
119
|
+
export const RECEIVING = new Set([
|
|
120
|
+
"听",
|
|
121
|
+
"聽",
|
|
122
|
+
"听见",
|
|
123
|
+
"聽見",
|
|
124
|
+
"听到",
|
|
125
|
+
"聽到",
|
|
126
|
+
"听从",
|
|
127
|
+
"聽從",
|
|
128
|
+
"聆听",
|
|
129
|
+
"聆聽",
|
|
130
|
+
"相信",
|
|
131
|
+
"怀疑",
|
|
132
|
+
"懷疑",
|
|
133
|
+
"收回",
|
|
134
|
+
"引用",
|
|
135
|
+
"回味",
|
|
136
|
+
"转告",
|
|
137
|
+
"轉告",
|
|
138
|
+
"听懂",
|
|
139
|
+
"聽懂",
|
|
140
|
+
"听不懂",
|
|
141
|
+
"聽不懂",
|
|
142
|
+
"判断",
|
|
143
|
+
"判斷",
|
|
144
|
+
"印证",
|
|
145
|
+
"印證",
|
|
146
|
+
"证实",
|
|
147
|
+
"證實",
|
|
148
|
+
"记得",
|
|
149
|
+
"記得",
|
|
150
|
+
"因为",
|
|
151
|
+
"因為",
|
|
152
|
+
"照",
|
|
153
|
+
"把",
|
|
154
|
+
"对",
|
|
155
|
+
"對",
|
|
156
|
+
]);
|
|
157
|
+
/** What can negate a receiving verb inside a word of its own: 不听, 没听. */
|
|
158
|
+
export const NEGATION = /^[不没沒]/u;
|
|
159
|
+
/** The characters a receiving verb can carry before its object: 听了, 听完了. */
|
|
160
|
+
export const RECEIVING_TAIL = new Set(["了", "完"]);
|
|
161
|
+
/**
|
|
162
|
+
* When the words were said, which a conditional cannot be about: 刚才的话.
|
|
163
|
+
*/
|
|
164
|
+
export const EARLIER = new Set(["刚才", "剛才", "刚刚", "剛剛"]);
|
|
165
|
+
/**
|
|
166
|
+
* The adjectives that describe what was said, 刻薄的话 and 难听的话.
|
|
167
|
+
*
|
|
168
|
+
* Only adjectives that hardly describe a person or a state. 你累的话 and
|
|
169
|
+
* 你无聊的话 are conditionals, so 累 and 无聊 stay out.
|
|
170
|
+
*/
|
|
171
|
+
export const OF_SPEECH = new Set([
|
|
172
|
+
"刻薄",
|
|
173
|
+
"卑鄙",
|
|
174
|
+
"愚蠢",
|
|
175
|
+
"蠢",
|
|
176
|
+
"难听",
|
|
177
|
+
"難聽",
|
|
178
|
+
"好听",
|
|
179
|
+
"好聽",
|
|
180
|
+
"动听",
|
|
181
|
+
"動聽",
|
|
182
|
+
"中听",
|
|
183
|
+
"中聽",
|
|
184
|
+
"粗鲁",
|
|
185
|
+
"粗魯",
|
|
186
|
+
"粗俗",
|
|
187
|
+
"下流",
|
|
188
|
+
"肉麻",
|
|
189
|
+
"恶毒",
|
|
190
|
+
"惡毒",
|
|
191
|
+
"刺耳",
|
|
192
|
+
"尖酸",
|
|
193
|
+
"伤人",
|
|
194
|
+
"傷人",
|
|
195
|
+
]);
|
|
196
|
+
/** The degree an adjective of speech can carry: 很蠢, 最愚蠢, 这么卑鄙. */
|
|
197
|
+
export const DEGREE = new Set([
|
|
198
|
+
"很",
|
|
199
|
+
"最",
|
|
200
|
+
"更",
|
|
201
|
+
"太",
|
|
202
|
+
"多么",
|
|
203
|
+
"多麼",
|
|
204
|
+
"如此",
|
|
205
|
+
...MANNER,
|
|
206
|
+
]);
|
|
207
|
+
/**
|
|
208
|
+
* The verbs of explaining that follow the words something is put in:
|
|
209
|
+
* 用通俗的话解释, 用简练的话介绍.
|
|
210
|
+
*/
|
|
211
|
+
export const EXPLAINING = [
|
|
212
|
+
"解释",
|
|
213
|
+
"解釋",
|
|
214
|
+
"介绍",
|
|
215
|
+
"介紹",
|
|
216
|
+
"说",
|
|
217
|
+
"說",
|
|
218
|
+
"讲",
|
|
219
|
+
"講",
|
|
220
|
+
"表达",
|
|
221
|
+
"表達",
|
|
222
|
+
"描述",
|
|
223
|
+
"概括",
|
|
224
|
+
"回答",
|
|
225
|
+
"写",
|
|
226
|
+
"寫",
|
|
227
|
+
];
|
|
228
|
+
//# sourceMappingURL=hua-words.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hua-words.js","sourceRoot":"","sources":["../../src/decode/hua-words.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { type EdgeRule } from "./rules.js";
|
|
2
|
+
/**
|
|
3
|
+
* A 量词 with a number in front of it does not start the next word.
|
|
4
|
+
*
|
|
5
|
+
* 三个人 is three people and came out `sān gèrén`, three *personals*, because
|
|
6
|
+
* 个人 is a common noun and nothing weighed it against the 个 belonging to the
|
|
7
|
+
* 三 in front of it. The same swallow takes 一杯水 into 杯水, 两家俱乐部 into
|
|
8
|
+
* 家俱 and 一天天 into 天天; digits reach it too, since a run decoded after a
|
|
9
|
+
* number sees that number — see `decodeRun` — so 2个人 is the same case.
|
|
10
|
+
*
|
|
11
|
+
* What makes it decidable is that the dictionary tags the 量词: 个, 次, 天, 位,
|
|
12
|
+
* 杯 and 匹 are `q`, while the characters that only look like measure words in
|
|
13
|
+
* this position are not — 分 is `v`, 部 and 成 are `n`, 年 and 点 are `m`. So
|
|
14
|
+
* 五分钟, 三部分, 五成分, 五年级 and 三点钟 are untouched, and those are exactly
|
|
15
|
+
* the words a blanket rule would break. A word that is itself a 量词 is kept as
|
|
16
|
+
* well, since 分钟 and 点钟 are units rather than something being counted.
|
|
17
|
+
*
|
|
18
|
+
* Only the edge *starting at the 量词* is forbidden, so a number and its
|
|
19
|
+
* measure written solid survive whole where the dictionary has them: 一辈子 and
|
|
20
|
+
* 一会儿 are entries covering the number too, and the decode still reaches them.
|
|
21
|
+
*
|
|
22
|
+
* Measured over the same 88,866 lines of Tatoeba and zh.wikipedia the other
|
|
23
|
+
* rules were sized against, it forbids 561 edges across 144 shapes — 个人 203
|
|
24
|
+
* of them, then 杯水, 天一, 口气, 些小 and 家人 — and moves 53 decodes, since
|
|
25
|
+
* most of what it takes away the cost model was not going to choose anyway.
|
|
26
|
+
* Three of the 53 are wrong: 一批评, 这一名词 and 六七股灾, where the 一 and the
|
|
27
|
+
* 六七 count nothing and no tag says so. Exactly one reading changes over the
|
|
28
|
+
* corpus and it is a fix, 下了两天雨 having read 天雨 as `tiān yù`.
|
|
29
|
+
*/
|
|
30
|
+
export declare const COUNTED_MEASURE: EdgeRule;
|
|
31
|
+
//# sourceMappingURL=measure-rule.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"measure-rule.d.ts","sourceRoot":"","sources":["../../src/decode/measure-rule.ts"],"names":[],"mappings":"AAEA,OAAO,EAEL,KAAK,QAAQ,EAGd,MAAM,YAAY,CAAC;AAsCpB;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,eAAO,MAAM,eAAe,EAAE,QAuB7B,CAAC"}
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
import { QUANTITY_CHARACTERS } from "../numerals/characters.js";
|
|
2
|
+
import { toCharacters } from "../script/characters.js";
|
|
3
|
+
import { tagOf, wordEndingAt, } from "./rules.js";
|
|
4
|
+
/**
|
|
5
|
+
* The tag the dictionary gives a 量词.
|
|
6
|
+
*/
|
|
7
|
+
const MEASURE = "q";
|
|
8
|
+
/**
|
|
9
|
+
* The mark that makes the number after it a position rather than a count.
|
|
10
|
+
*
|
|
11
|
+
* 第三集团军 is the Third Army Group and not three 集团军, so the 集 the
|
|
12
|
+
* dictionary tags `q` is counting nothing and 集团军 is a word like any other.
|
|
13
|
+
*/
|
|
14
|
+
const ORDINAL = "第";
|
|
15
|
+
/**
|
|
16
|
+
* Where the number counting the character at a position starts, or undefined
|
|
17
|
+
* where nothing counts it.
|
|
18
|
+
*
|
|
19
|
+
* Two things stop a numeral in front of a 量词 from counting it. An ordinal
|
|
20
|
+
* names a position, so 第十级别 is the tenth 级别 rather than ten 级; and a
|
|
21
|
+
* numeral inside a longer word belongs to that word, so the 一 of 唯一道路 is
|
|
22
|
+
* counting no 道 and the 二 of 十二月 no 月.
|
|
23
|
+
*/
|
|
24
|
+
function countedFrom(context, at) {
|
|
25
|
+
const { characters } = context;
|
|
26
|
+
let from = at;
|
|
27
|
+
while (from > 0 && QUANTITY_CHARACTERS.has(characters[from - 1] ?? "")) {
|
|
28
|
+
from--;
|
|
29
|
+
}
|
|
30
|
+
if (from === at || characters[from - 1] === ORDINAL) {
|
|
31
|
+
return undefined;
|
|
32
|
+
}
|
|
33
|
+
const before = wordEndingAt(context, at);
|
|
34
|
+
const held = before === undefined ? at : at - toCharacters(before).length;
|
|
35
|
+
return held < from ? undefined : from;
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* A 量词 with a number in front of it does not start the next word.
|
|
39
|
+
*
|
|
40
|
+
* 三个人 is three people and came out `sān gèrén`, three *personals*, because
|
|
41
|
+
* 个人 is a common noun and nothing weighed it against the 个 belonging to the
|
|
42
|
+
* 三 in front of it. The same swallow takes 一杯水 into 杯水, 两家俱乐部 into
|
|
43
|
+
* 家俱 and 一天天 into 天天; digits reach it too, since a run decoded after a
|
|
44
|
+
* number sees that number — see `decodeRun` — so 2个人 is the same case.
|
|
45
|
+
*
|
|
46
|
+
* What makes it decidable is that the dictionary tags the 量词: 个, 次, 天, 位,
|
|
47
|
+
* 杯 and 匹 are `q`, while the characters that only look like measure words in
|
|
48
|
+
* this position are not — 分 is `v`, 部 and 成 are `n`, 年 and 点 are `m`. So
|
|
49
|
+
* 五分钟, 三部分, 五成分, 五年级 and 三点钟 are untouched, and those are exactly
|
|
50
|
+
* the words a blanket rule would break. A word that is itself a 量词 is kept as
|
|
51
|
+
* well, since 分钟 and 点钟 are units rather than something being counted.
|
|
52
|
+
*
|
|
53
|
+
* Only the edge *starting at the 量词* is forbidden, so a number and its
|
|
54
|
+
* measure written solid survive whole where the dictionary has them: 一辈子 and
|
|
55
|
+
* 一会儿 are entries covering the number too, and the decode still reaches them.
|
|
56
|
+
*
|
|
57
|
+
* Measured over the same 88,866 lines of Tatoeba and zh.wikipedia the other
|
|
58
|
+
* rules were sized against, it forbids 561 edges across 144 shapes — 个人 203
|
|
59
|
+
* of them, then 杯水, 天一, 口气, 些小 and 家人 — and moves 53 decodes, since
|
|
60
|
+
* most of what it takes away the cost model was not going to choose anyway.
|
|
61
|
+
* Three of the 53 are wrong: 一批评, 这一名词 and 六七股灾, where the 一 and the
|
|
62
|
+
* 六七 count nothing and no tag says so. Exactly one reading changes over the
|
|
63
|
+
* corpus and it is a fix, 下了两天雨 having read 天雨 as `tiān yù`.
|
|
64
|
+
*/
|
|
65
|
+
export const COUNTED_MEASURE = {
|
|
66
|
+
name: "counted-measure",
|
|
67
|
+
verdictFor: (context) => {
|
|
68
|
+
const { characters, edge } = context;
|
|
69
|
+
// A reading of a different length from its span says something about how
|
|
70
|
+
// the characters are read rather than only about where they break: 份儿 is
|
|
71
|
+
// `fènr` over two characters, and taking the edge away would take the 儿化
|
|
72
|
+
// with it.
|
|
73
|
+
if (edge.to - edge.from < 2 ||
|
|
74
|
+
edge.reading.length !== edge.to - edge.from) {
|
|
75
|
+
return "keep";
|
|
76
|
+
}
|
|
77
|
+
const counted = countedFrom(context, edge.from);
|
|
78
|
+
if (counted === undefined) {
|
|
79
|
+
return "keep";
|
|
80
|
+
}
|
|
81
|
+
return tagOf(context, characters[edge.from]) === MEASURE &&
|
|
82
|
+
edge.partOfSpeech !== MEASURE
|
|
83
|
+
? "forbid"
|
|
84
|
+
: "keep";
|
|
85
|
+
},
|
|
86
|
+
};
|
|
87
|
+
//# sourceMappingURL=measure-rule.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"measure-rule.js","sourceRoot":"","sources":["../../src/decode/measure-rule.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAGL,KAAK,EACL,YAAY,GACb,MAAM,YAAY,CAAC;AAEpB;;GAEG;AACH,MAAM,OAAO,GAAG,GAAG,CAAC;AAEpB;;;;;GAKG;AACH,MAAM,OAAO,GAAG,GAAG,CAAC;AAEpB;;;;;;;;GAQG;AACH,SAAS,WAAW,CAAC,OAAoB,EAAE,EAAU;IACnD,MAAM,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC;IAC/B,IAAI,IAAI,GAAG,EAAE,CAAC;IACd,OAAO,IAAI,GAAG,CAAC,IAAI,mBAAmB,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC;QACvE,IAAI,EAAE,CAAC;IACT,CAAC;IACD,IAAI,IAAI,KAAK,EAAE,IAAI,UAAU,CAAC,IAAI,GAAG,CAAC,CAAC,KAAK,OAAO,EAAE,CAAC;QACpD,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,MAAM,MAAM,GAAG,YAAY,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;IACzC,MAAM,IAAI,GAAG,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC;IAC1E,OAAO,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC;AACxC,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,MAAM,CAAC,MAAM,eAAe,GAAa;IACvC,IAAI,EAAE,iBAAiB;IACvB,UAAU,EAAE,CAAC,OAAoB,EAAE,EAAE;QACnC,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC;QACrC,yEAAyE;QACzE,yEAAyE;QACzE,yEAAyE;QACzE,WAAW;QACX,IACE,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,IAAI,GAAG,CAAC;YACvB,IAAI,CAAC,OAAO,CAAC,MAAM,KAAK,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,IAAI,EAC3C,CAAC;YACD,OAAO,MAAM,CAAC;QAChB,CAAC;QACD,MAAM,OAAO,GAAG,WAAW,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QAChD,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;YAC1B,OAAO,MAAM,CAAC;QAChB,CAAC;QACD,OAAO,KAAK,CAAC,OAAO,EAAE,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,OAAO;YACtD,IAAI,CAAC,YAAY,KAAK,OAAO;YAC7B,CAAC,CAAC,QAAQ;YACV,CAAC,CAAC,MAAM,CAAC;IACb,CAAC;CACF,CAAC"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
export { MODAL_DE, PARTICLE_DE, POTENTIAL_DE } from "./de-rule.js";
|
|
1
|
+
export { MODAL_DE, NOUN_HUA, PARTICLE_DE, POTENTIAL_DE } from "./de-rule.js";
|
|
2
2
|
export { TAXI_DI } from "./taxi-rule.js";
|
|
3
|
+
export { COUNTED_MEASURE } from "./measure-rule.js";
|
|
3
4
|
export { EXPERIENTIAL_GUO } from "./guo-rule.js";
|
|
4
5
|
export { TEACHING_JIAO } from "./jiao-rule.js";
|
|
5
6
|
export { DOMINANT_READING } from "./dominant-rule.js";
|
|
@@ -11,7 +12,7 @@ export { POTENTIAL_LIAO } from "./liao-rule.js";
|
|
|
11
12
|
export { OBTAINING_DE } from "./obtain-rule.js";
|
|
12
13
|
export { REDUPLICATED_VERB } from "./reduplication-rule.js";
|
|
13
14
|
export { VERBAL_READING } from "./verbal-rule.js";
|
|
14
|
-
import {
|
|
15
|
+
import type { EdgeRule } from "./rules.js";
|
|
15
16
|
/**
|
|
16
17
|
* 儿 does not stand on its own where the dictionary attests the 儿化.
|
|
17
18
|
*
|
|
@@ -33,35 +34,6 @@ import { type EdgeRule } from "./rules.js";
|
|
|
33
34
|
* 门铃儿 and a row of Mongol names transliterated with 儿.
|
|
34
35
|
*/
|
|
35
36
|
export declare const ATTESTED_ERHUA: EdgeRule;
|
|
36
|
-
/**
|
|
37
|
-
* A 量词 with a number in front of it does not start the next word.
|
|
38
|
-
*
|
|
39
|
-
* 三个人 is three people and came out `sān gèrén`, three *personals*, because
|
|
40
|
-
* 个人 is a common noun and nothing weighed it against the 个 belonging to the
|
|
41
|
-
* 三 in front of it. The same swallow takes 一杯水 into 杯水, 两家俱乐部 into
|
|
42
|
-
* 家俱 and 一天天 into 天天; digits reach it too, since a run decoded after a
|
|
43
|
-
* number sees that number — see `decodeRun` — so 2个人 is the same case.
|
|
44
|
-
*
|
|
45
|
-
* What makes it decidable is that the dictionary tags the 量词: 个, 次, 天, 位,
|
|
46
|
-
* 杯 and 匹 are `q`, while the characters that only look like measure words in
|
|
47
|
-
* this position are not — 分 is `v`, 部 and 成 are `n`, 年 and 点 are `m`. So
|
|
48
|
-
* 五分钟, 三部分, 五成分, 五年级 and 三点钟 are untouched, and those are exactly
|
|
49
|
-
* the words a blanket rule would break. A word that is itself a 量词 is kept as
|
|
50
|
-
* well, since 分钟 and 点钟 are units rather than something being counted.
|
|
51
|
-
*
|
|
52
|
-
* Only the edge *starting at the 量词* is forbidden, so a number and its
|
|
53
|
-
* measure written solid survive whole where the dictionary has them: 一辈子 and
|
|
54
|
-
* 一会儿 are entries covering the number too, and the decode still reaches them.
|
|
55
|
-
*
|
|
56
|
-
* Measured over the same 88,866 lines of Tatoeba and zh.wikipedia the other
|
|
57
|
-
* rules were sized against, it forbids 561 edges across 144 shapes — 个人 203
|
|
58
|
-
* of them, then 杯水, 天一, 口气, 些小 and 家人 — and moves 53 decodes, since
|
|
59
|
-
* most of what it takes away the cost model was not going to choose anyway.
|
|
60
|
-
* Three of the 53 are wrong: 一批评, 这一名词 and 六七股灾, where the 一 and the
|
|
61
|
-
* 六七 count nothing and no tag says so. Exactly one reading changes over the
|
|
62
|
-
* corpus and it is a fix, 下了两天雨 having read 天雨 as `tiān yù`.
|
|
63
|
-
*/
|
|
64
|
-
export declare const COUNTED_MEASURE: EdgeRule;
|
|
65
37
|
export { ADJECTIVAL_CHANG, EASY_HAO, PLAYING_TAN } from "./polyphone-rules.js";
|
|
66
38
|
/**
|
|
67
39
|
* The rules the lattice decode applies, in order.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reading-rules.d.ts","sourceRoot":"","sources":["../../src/decode/reading-rules.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"reading-rules.d.ts","sourceRoot":"","sources":["../../src/decode/reading-rules.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC7E,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AACzC,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,KAAK,EAAe,QAAQ,EAAE,MAAM,YAAY,CAAC;AAExD;;;;;;;;;;;;;;;;;;;GAmBG;AACH,eAAO,MAAM,cAAc,EAAE,QAY5B,CAAC;AAIF,OAAO,EAAE,gBAAgB,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAE/E;;GAEG;AACH,eAAO,MAAM,aAAa,EAAE,SAAS,QAAQ,EAsB5C,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { MODAL_DE, PARTICLE_DE, POTENTIAL_DE } from "./de-rule.js";
|
|
1
|
+
import { MODAL_DE, NOUN_HUA, PARTICLE_DE, POTENTIAL_DE } from "./de-rule.js";
|
|
3
2
|
import { TAXI_DI } from "./taxi-rule.js";
|
|
3
|
+
import { COUNTED_MEASURE } from "./measure-rule.js";
|
|
4
4
|
import { EXPERIENTIAL_GUO } from "./guo-rule.js";
|
|
5
5
|
import { TEACHING_JIAO } from "./jiao-rule.js";
|
|
6
6
|
import { DOMINANT_READING } from "./dominant-rule.js";
|
|
@@ -12,8 +12,9 @@ import { POTENTIAL_LIAO } from "./liao-rule.js";
|
|
|
12
12
|
import { OBTAINING_DE } from "./obtain-rule.js";
|
|
13
13
|
import { REDUPLICATED_VERB } from "./reduplication-rule.js";
|
|
14
14
|
import { VERBAL_READING } from "./verbal-rule.js";
|
|
15
|
-
export { MODAL_DE, PARTICLE_DE, POTENTIAL_DE } from "./de-rule.js";
|
|
15
|
+
export { MODAL_DE, NOUN_HUA, PARTICLE_DE, POTENTIAL_DE } from "./de-rule.js";
|
|
16
16
|
export { TAXI_DI } from "./taxi-rule.js";
|
|
17
|
+
export { COUNTED_MEASURE } from "./measure-rule.js";
|
|
17
18
|
export { EXPERIENTIAL_GUO } from "./guo-rule.js";
|
|
18
19
|
export { TEACHING_JIAO } from "./jiao-rule.js";
|
|
19
20
|
export { DOMINANT_READING } from "./dominant-rule.js";
|
|
@@ -25,8 +26,6 @@ export { POTENTIAL_LIAO } from "./liao-rule.js";
|
|
|
25
26
|
export { OBTAINING_DE } from "./obtain-rule.js";
|
|
26
27
|
export { REDUPLICATED_VERB } from "./reduplication-rule.js";
|
|
27
28
|
export { VERBAL_READING } from "./verbal-rule.js";
|
|
28
|
-
import { toCharacters } from "../script/characters.js";
|
|
29
|
-
import { tagOf, wordEndingAt, } from "./rules.js";
|
|
30
29
|
/**
|
|
31
30
|
* 儿 does not stand on its own where the dictionary attests the 儿化.
|
|
32
31
|
*
|
|
@@ -60,89 +59,6 @@ export const ATTESTED_ERHUA = {
|
|
|
60
59
|
return (reading?.at(-1)?.erhua ?? false) ? "forbid" : "keep";
|
|
61
60
|
},
|
|
62
61
|
};
|
|
63
|
-
/**
|
|
64
|
-
* The tag the dictionary gives a 量词.
|
|
65
|
-
*/
|
|
66
|
-
const MEASURE = "q";
|
|
67
|
-
/**
|
|
68
|
-
* The mark that makes the number after it a position rather than a count.
|
|
69
|
-
*
|
|
70
|
-
* 第三集团军 is the Third Army Group and not three 集团军, so the 集 the
|
|
71
|
-
* dictionary tags `q` is counting nothing and 集团军 is a word like any other.
|
|
72
|
-
*/
|
|
73
|
-
const ORDINAL = "第";
|
|
74
|
-
/**
|
|
75
|
-
* Where the number counting the character at a position starts, or undefined
|
|
76
|
-
* where nothing counts it.
|
|
77
|
-
*
|
|
78
|
-
* Two things stop a numeral in front of a 量词 from counting it. An ordinal
|
|
79
|
-
* names a position, so 第十级别 is the tenth 级别 rather than ten 级; and a
|
|
80
|
-
* numeral inside a longer word belongs to that word, so the 一 of 唯一道路 is
|
|
81
|
-
* counting no 道 and the 二 of 十二月 no 月.
|
|
82
|
-
*/
|
|
83
|
-
function countedFrom(context, at) {
|
|
84
|
-
const { characters } = context;
|
|
85
|
-
let from = at;
|
|
86
|
-
while (from > 0 && QUANTITY_CHARACTERS.has(characters[from - 1] ?? "")) {
|
|
87
|
-
from--;
|
|
88
|
-
}
|
|
89
|
-
if (from === at || characters[from - 1] === ORDINAL) {
|
|
90
|
-
return undefined;
|
|
91
|
-
}
|
|
92
|
-
const before = wordEndingAt(context, at);
|
|
93
|
-
const held = before === undefined ? at : at - toCharacters(before).length;
|
|
94
|
-
return held < from ? undefined : from;
|
|
95
|
-
}
|
|
96
|
-
/**
|
|
97
|
-
* A 量词 with a number in front of it does not start the next word.
|
|
98
|
-
*
|
|
99
|
-
* 三个人 is three people and came out `sān gèrén`, three *personals*, because
|
|
100
|
-
* 个人 is a common noun and nothing weighed it against the 个 belonging to the
|
|
101
|
-
* 三 in front of it. The same swallow takes 一杯水 into 杯水, 两家俱乐部 into
|
|
102
|
-
* 家俱 and 一天天 into 天天; digits reach it too, since a run decoded after a
|
|
103
|
-
* number sees that number — see `decodeRun` — so 2个人 is the same case.
|
|
104
|
-
*
|
|
105
|
-
* What makes it decidable is that the dictionary tags the 量词: 个, 次, 天, 位,
|
|
106
|
-
* 杯 and 匹 are `q`, while the characters that only look like measure words in
|
|
107
|
-
* this position are not — 分 is `v`, 部 and 成 are `n`, 年 and 点 are `m`. So
|
|
108
|
-
* 五分钟, 三部分, 五成分, 五年级 and 三点钟 are untouched, and those are exactly
|
|
109
|
-
* the words a blanket rule would break. A word that is itself a 量词 is kept as
|
|
110
|
-
* well, since 分钟 and 点钟 are units rather than something being counted.
|
|
111
|
-
*
|
|
112
|
-
* Only the edge *starting at the 量词* is forbidden, so a number and its
|
|
113
|
-
* measure written solid survive whole where the dictionary has them: 一辈子 and
|
|
114
|
-
* 一会儿 are entries covering the number too, and the decode still reaches them.
|
|
115
|
-
*
|
|
116
|
-
* Measured over the same 88,866 lines of Tatoeba and zh.wikipedia the other
|
|
117
|
-
* rules were sized against, it forbids 561 edges across 144 shapes — 个人 203
|
|
118
|
-
* of them, then 杯水, 天一, 口气, 些小 and 家人 — and moves 53 decodes, since
|
|
119
|
-
* most of what it takes away the cost model was not going to choose anyway.
|
|
120
|
-
* Three of the 53 are wrong: 一批评, 这一名词 and 六七股灾, where the 一 and the
|
|
121
|
-
* 六七 count nothing and no tag says so. Exactly one reading changes over the
|
|
122
|
-
* corpus and it is a fix, 下了两天雨 having read 天雨 as `tiān yù`.
|
|
123
|
-
*/
|
|
124
|
-
export const COUNTED_MEASURE = {
|
|
125
|
-
name: "counted-measure",
|
|
126
|
-
verdictFor: (context) => {
|
|
127
|
-
const { characters, edge } = context;
|
|
128
|
-
// A reading of a different length from its span says something about how
|
|
129
|
-
// the characters are read rather than only about where they break: 份儿 is
|
|
130
|
-
// `fènr` over two characters, and taking the edge away would take the 儿化
|
|
131
|
-
// with it.
|
|
132
|
-
if (edge.to - edge.from < 2 ||
|
|
133
|
-
edge.reading.length !== edge.to - edge.from) {
|
|
134
|
-
return "keep";
|
|
135
|
-
}
|
|
136
|
-
const counted = countedFrom(context, edge.from);
|
|
137
|
-
if (counted === undefined) {
|
|
138
|
-
return "keep";
|
|
139
|
-
}
|
|
140
|
-
return tagOf(context, characters[edge.from]) === MEASURE &&
|
|
141
|
-
edge.partOfSpeech !== MEASURE
|
|
142
|
-
? "forbid"
|
|
143
|
-
: "keep";
|
|
144
|
-
},
|
|
145
|
-
};
|
|
146
62
|
import { ADJECTIVAL_CHANG, EASY_HAO, PLAYING_TAN } from "./polyphone-rules.js";
|
|
147
63
|
export { ADJECTIVAL_CHANG, EASY_HAO, PLAYING_TAN } from "./polyphone-rules.js";
|
|
148
64
|
/**
|
|
@@ -153,6 +69,7 @@ export const READING_RULES = [
|
|
|
153
69
|
PARTICLE_DE,
|
|
154
70
|
POTENTIAL_DE,
|
|
155
71
|
TAXI_DI,
|
|
72
|
+
NOUN_HUA,
|
|
156
73
|
TEACHING_JIAO,
|
|
157
74
|
ATTESTED_ERHUA,
|
|
158
75
|
COUNTED_MEASURE,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reading-rules.js","sourceRoot":"","sources":["../../src/decode/reading-rules.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"reading-rules.js","sourceRoot":"","sources":["../../src/decode/reading-rules.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -51,7 +51,7 @@ export type { ReadingProjection, ReadingUnit } from "./decode/locking.js";
|
|
|
51
51
|
export { applyEdgeRules, tagOf, wordEndingAt, wordStartingAt, } from "./decode/rules.js";
|
|
52
52
|
export type { EdgeContext, EdgeRule, EdgeVerdict } from "./decode/rules.js";
|
|
53
53
|
export type { PositionalReading, ReadingHint, ReadingHints, WordReading, } from "./decode/hints.js";
|
|
54
|
-
export { ADJECTIVAL_CHANG, ATTESTED_ERHUA, CONCERNING_GAN, OBTAINING_DE, COUNTED_MEASURE, COUNTING_ZHI, DOMINANT_READING, EASY_HAO, EXPERIENTIAL_GUO, MODAL_DE, PARTICLE_DE, PLAYING_TAN, POTENTIAL_DE, POTENTIAL_LIAO, READING_RULES, REDUPLICATED_VERB, RETURNING_HUAN, SEPARATED_COMPOUND, TAXI_DI, TEACHING_JIAO, VERBAL_READING, } from "./decode/reading-rules.js";
|
|
54
|
+
export { ADJECTIVAL_CHANG, ATTESTED_ERHUA, CONCERNING_GAN, OBTAINING_DE, COUNTED_MEASURE, COUNTING_ZHI, DOMINANT_READING, EASY_HAO, EXPERIENTIAL_GUO, MODAL_DE, NOUN_HUA, PARTICLE_DE, PLAYING_TAN, POTENTIAL_DE, POTENTIAL_LIAO, READING_RULES, REDUPLICATED_VERB, RETURNING_HUAN, SEPARATED_COMPOUND, TAXI_DI, TEACHING_JIAO, VERBAL_READING, } from "./decode/reading-rules.js";
|
|
55
55
|
export { readingCost, shortestPath, spacingCost } from "./decode/viterbi.js";
|
|
56
56
|
export type { CostOf } from "./decode/viterbi.js";
|
|
57
57
|
export type { DecodedWord, ScoredWord, WordSeparator } from "./decode/word.js";
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -31,7 +31,7 @@ export { buildScriptTables } from "./dictionary/script-tables.js";
|
|
|
31
31
|
export { allEdges, buildLattice, cutPoints, READING_CHARGE, } from "./decode/lattice.js";
|
|
32
32
|
export { isSettled, projectReadings, settledUnits, unitsOf, } from "./decode/locking.js";
|
|
33
33
|
export { applyEdgeRules, tagOf, wordEndingAt, wordStartingAt, } from "./decode/rules.js";
|
|
34
|
-
export { ADJECTIVAL_CHANG, ATTESTED_ERHUA, CONCERNING_GAN, OBTAINING_DE, COUNTED_MEASURE, COUNTING_ZHI, DOMINANT_READING, EASY_HAO, EXPERIENTIAL_GUO, MODAL_DE, PARTICLE_DE, PLAYING_TAN, POTENTIAL_DE, POTENTIAL_LIAO, READING_RULES, REDUPLICATED_VERB, RETURNING_HUAN, SEPARATED_COMPOUND, TAXI_DI, TEACHING_JIAO, VERBAL_READING, } from "./decode/reading-rules.js";
|
|
34
|
+
export { ADJECTIVAL_CHANG, ATTESTED_ERHUA, CONCERNING_GAN, OBTAINING_DE, COUNTED_MEASURE, COUNTING_ZHI, DOMINANT_READING, EASY_HAO, EXPERIENTIAL_GUO, MODAL_DE, NOUN_HUA, PARTICLE_DE, PLAYING_TAN, POTENTIAL_DE, POTENTIAL_LIAO, READING_RULES, REDUPLICATED_VERB, RETURNING_HUAN, SEPARATED_COMPOUND, TAXI_DI, TEACHING_JIAO, VERBAL_READING, } from "./decode/reading-rules.js";
|
|
35
35
|
export { readingCost, shortestPath, spacingCost } from "./decode/viterbi.js";
|
|
36
36
|
export { cardinalHanzi, LARGEST_CARDINAL } from "./numerals/cardinal.js";
|
|
37
37
|
export { DIGIT_CHARACTERS, numeralSyllable, QUANTITY_CHARACTERS, UNIT_VALUES, yaoSyllable, } from "./numerals/characters.js";
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|