Improve AI

This commit is contained in:
syuilo 2018-09-03 12:14:37 +09:00
parent f68e60537a
commit 9fe1122e60

View file

@ -12,24 +12,36 @@ export default function(text: string, words: (string | RegExp)[]): boolean {
* *
*/ */
function denoise(text: string): string { function denoise(text: string): string {
text = text.trim() text = text.trim();
.replace(/[!]+$/, '')
.replace(/っ+$/, '') function fn() {
text = text.replace(/[!]+$/, '');
text = text.replace(/っ+$/, '');
// 末尾の ー を除去 // 末尾の ー を除去
// 例えば「おはよー」を「おはよ」にする // 例えば「おはよー」を「おはよ」にする
// ただそのままだと「セーラー」などの本来「ー」が含まれているワードも「ー」が除去され // ただそのままだと「セーラー」などの本来「ー」が含まれているワードも「ー」が除去され
// 「セーラ」になり、「セーラー」を期待している場合はマッチしなくなり期待する動作にならなくなるので、 // 「セーラ」になり、「セーラー」を期待している場合はマッチしなくなり期待する動作にならなくなるので、
// 期待するワードの末尾にもともと「ー」が含まれている場合は(対象のテキストの「ー」をすべて除去した後に)「ー」を付けてあげる // 期待するワードの末尾にもともと「ー」が含まれている場合は(対象のテキストの「ー」をすべて除去した後に)「ー」を付けてあげる
.replace(/ー+$/, '') + ((typeof word == 'string' && word[word.length - 1] == 'ー') ? 'ー' : ''); text = text.replace(/ー+$/, '') + ((typeof word == 'string' && word[word.length - 1] == 'ー') ? 'ー' : '');
text = text text = text.replace(/。$/, '');
.replace(/。$/, '') text = text.replace(/です$/, '');
.replace(/です$/, '') text = text.replace(/(\.|…)+$/, '');
.replace(/(\.|…)+$/, '') text = text.replace(/[♪♥]+$/, '');
.replace(/[♪♥]+$/, '') text = text.replace(/^藍/, '');
.replace(/^藍/, '') text = text.replace(/^ちゃん/, '');
.replace(/^ちゃん/, '') text = text.replace(/、+$/, '');
.replace(/、+$/, ''); }
let textBefore = text;
let textAfter = null;
while (textBefore != textAfter) {
textBefore = text;
fn();
textAfter = text;
}
return text; return text;
} }