-
Notifications
You must be signed in to change notification settings - Fork 1
/
use-literary-style.js
182 lines (179 loc) · 5.95 KB
/
use-literary-style.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
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
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
function validateSentence(sentence) {
// 口語ではなく文語を使う
var terms = [
// http://www.ise.chuo-u.ac.jp/ISE/outline/Gmajor/nihongo/28.html
{
'expected':'過度に',
'pattern':['あまりに']
},
{
'expected':'一度に/一括して/まとめて',
'pattern':['いっぺんに']
},
{
'expected':'また,さらに',
'pattern':['あと'],
'tokenCheck':['名詞','副詞可能','あと']
},
{
'expected':'行う/する',
'pattern':['やる'],
'tokenCheck':['動詞','自立','やる']
},
{
'expected':'する',
'pattern':['してやる'],
'tokenCheck':['動詞','自立','してやる']
},
// 別途検知方法を考える
// してあげる、してない
{
'expected':'が',
'pattern':['けど'],
'tokenCheck':['助詞','接続助詞','けど']
},
{
'expected':'であった',
'pattern':['だった']
},
{
'expected':'であるとき/であったらならば/なら',
'pattern':['だったら']
},
// 別途検知方法を考える
// 文頭のシリーズ しようがない
{
'expected':'のような',
'pattern':['みたいな']
},
{
'expected':'は/や',
'pattern':['とか'],
'tokenCheck':['助詞','並立助詞','とか']
},
// 別途検知方法を考える
// したり
{
'expected':'ではなく',
'pattern':['じゃなくて']
},
{
'expected':'適切な言葉',
'pattern':['すごく'],
'tokenCheck':['形容詞','自立','すごい']
},
// 別途検知方法を考える
// したり
{
'expected':'比較的/やや/かなり/たいへん/きわめて',
'pattern':['超'],
'tokenCheck':['接頭詞','名詞接続','超']
},
{
'expected':'真に/絶対的に/圧倒的に',
'pattern':['まじで']
},
{
'expected':'直接的に/直接',
'pattern':['まともに']
},
{
'expected':'直接的に/直接',
'pattern':['もろに']
},
{
'expected':'単純/易しい/容易',
'pattern':['簡単']
},
{
'expected':'単純/易しい/容易',
'pattern':['楽'],
'tokenCheck':['名詞','形容動詞語幹','楽']
},
{
'expected':'複雑/難しい/困難',
'pattern':['面倒']
},
{
'expected':'複雑/難しい/困難',
'pattern':['難儀']
},
{
'expected':'複雑/難しい/困難',
'pattern':['厄介']
},
// http://www.ipentec.com/document/document.aspx?page=write-thesis-tips
/*
{
'expected':'別の表現',
'pattern':['という'],
'tokenCheck':['助詞','格助詞','という']
},
*/
{
'expected':'別の表現',
'pattern':['すると']
},
// http://isabelle.cc.kyushu-u.ac.jp/~amano/how_to_write/japanese.html
{
'expected':'する必要がある',
'pattern':['ないといけない']
},
{
'expected':'したがって/このため/そのため',
'pattern':['だから']
},
{
'expected':'したがって/このため/そのため',
'pattern':['それで']
},
// http://www.ise.chuo-u.ac.jp/ISE/outline/Gmajor/nihongo/50.html
{
'expected':'済みません/申し訳ございません',
'pattern':['すいません']
},
{
'expected':'他の適切な表現',
'pattern':['ちなみに']
},
{
'expected':'ています',
'pattern':['てます']
},
{
'expected':'ていません',
'pattern':['てません']
},
{
'expected':'もの',
'pattern':['やつ'],
'tokenCheck':['名詞','代名詞','やつ']
},
{
'expected':'削除/他の適切な表現',
'pattern':['しまう'],
'tokenCheck':['動詞','非自立','しまう']
}
];
var morphologicalAnalysis = function(sentence){
for (var k = 0; k < sentence.tokens.length; k++) {
if ( sentence.tokens[k].tags[0] === terms[i]['tokenCheck'][0] &&
sentence.tokens[k].tags[1] === terms[i]['tokenCheck'][1] &&
sentence.tokens[k].tags[6] === terms[i]['tokenCheck'][2] ){
addError('「' + terms[i]['pattern'][j] +'」は口語です。「' + terms[i]['expected'] + '」に修正してください' , sentence);
}
}
}
for ( var i = 0; i < terms.length; i++ ) {
for ( var j = 0; j < terms[i]['pattern'].length; j++ ) {
var regex = new RegExp( terms[i]['pattern'][j] );
if ( 'tokenCheck' in terms[i] ) {
morphologicalAnalysis(sentence);
} else {
if ( sentence.content.match(regex) ) {
addError('「' + terms[i]['pattern'][j] +'」は口語です。「' + terms[i]['expected'] + '」に修正してください。' , sentence);
}
}
}
}
}