Showing
1 changed file
with
34 additions
and
0 deletions
1 | const apiRequest = require('./apiRequest'); | 1 | const apiRequest = require('./apiRequest'); |
2 | 2 | ||
3 | /** | 3 | /** |
4 | + * @param {{lemma:string, position:number, type:string}[][]} tempMorps - 공백 단위로 묶어둠 ex) [[{감기}],[{걸리},{었},{을}],[{때}]] | ||
5 | + * @returns {{needMorp : {}[][], noNeedMorp : {}[][]}} morp를 needMorp와 noNeedMorp로 나눴습니다. | ||
6 | + * @description 공백 단위로 나뉜 morp를 받아 type과 의미에 따라 2가지로 분류합니다. | ||
7 | + */ | ||
8 | +const divideMorpbyMean = ( tempMorps ) => { | ||
9 | + let needMorp = [], | ||
10 | + noNeedMorp = []; | ||
11 | + | ||
12 | + tempMorps.forEach( ( word, j ) => { | ||
13 | + | ||
14 | + if( word[ 0 ].type === "VV" || word[ 0 ].type === "VA" || word[ 0 ].type === "MAG") { // 동사, 형용사, 부사 | ||
15 | + let checkV = true | ||
16 | + word.find( ( Morp ) => { | ||
17 | + if( Morp.type === "EF" ) { // 종결어미 | ||
18 | + checkV = false; | ||
19 | + } else if( Morp.type === "EC" ) { // 연결어미 | ||
20 | + if( tempMorps.length > j + 1 ) { | ||
21 | + tempMorps[ j + 1 ].forEach( ( morp ) => { | ||
22 | + if( allowMorpChecklist.indexOf( morp.type ) === -1 ) { | ||
23 | + checkV = false; | ||
24 | + } | ||
25 | + }); | ||
26 | + } | ||
27 | + } | ||
28 | + }); | ||
29 | + } | ||
30 | + else { | ||
31 | + checkMorp( word, needMorp, noNeedMorp ); | ||
32 | + } | ||
33 | + }); | ||
34 | + return [ needMorp, noNeedMorp ]; | ||
35 | +} | ||
36 | + | ||
37 | +/** | ||
4 | * 수정중... | 38 | * 수정중... |
5 | * @param {String} result - 결과 담던거 | 39 | * @param {String} result - 결과 담던거 |
6 | * @param {{NE : {}[], Morp : {}[]}} analysisResult 분석 결과가 담겼습니다. | 40 | * @param {{NE : {}[], Morp : {}[]}} analysisResult 분석 결과가 담겼습니다. | ... | ... |
-
Please register or login to post a comment