Exemple #1
0
def main(inputSentence, inputSentenceStyle, subjectHonorification):
    inputSentenceStyle, subjectHonorification = int(inputSentenceStyle), int(
        subjectHonorification)

    sentenceType = engInputAnalysis.sentenceType(inputSentence)  # 문장종류 확인
    # 주체 높임법 예외처리
    if sentenceType == 'command':
        if subjectHonorification == 1:
            if inputSentenceStyle == '해' or inputSentenceStyle == '해라':
                print("error")
                exit(1)
        elif subjectHonorification == 0:
            if inputSentenceStyle == '해요' or inputSentenceStyle == '합쇼':
                print("error")
                exit(1)

    sentenceInfo, eng_pos = naverPapago.translate(
        inputSentence)  # 파파고API로 번역 및 Komoran으로 형태소 분석
    sentenceInfo = komoranSpacing.Spacing(
        sentenceInfo[1])  # 분석된 형태소를 이용하여 띄어쓰기 처리
    # 주체 높임법 플래그, 불규칙 활용 여부 플래그 리스트에 추가
    sentenceInfo.append([subjectHonorification, 0])
    print(sentenceInfo, end="1\n")
    conversion.conversion(sentenceInfo, eng_pos)

    sentenceInfo = honorification.honorification1(
        sentenceInfo)  # 주체 높임에 따른 '시' 추가 및 삭제
    print(sentenceInfo, end="2\n")
    if inputSentenceStyle == 0:
        sentenceInfo = sentenceStyle.hae(sentenceInfo, sentenceType)
    elif inputSentenceStyle == 1:
        sentenceInfo = sentenceStyle.haera(sentenceInfo, sentenceType)
    elif inputSentenceStyle == 2:
        sentenceInfo = sentenceStyle.haeyo(sentenceInfo, sentenceType)
    elif inputSentenceStyle == 3:
        sentenceInfo = sentenceStyle.habsyo(sentenceInfo, sentenceType)
    print(sentenceInfo, end="3\n")
    if sentenceInfo[2][1] == 1:
        sentenceInfo = irregular.irregular(sentenceInfo)
    print(sentenceInfo, end="4\n")
    sentenceInfo = honorification.honorification2(sentenceInfo)
    print(sentenceInfo, end="5\n")
    sentenceInfo = josa.josa(sentenceInfo)
    print(sentenceInfo, end="6\n")
    sentenceInfo = vowelReduction.vowelReduction(sentenceInfo)
    print(sentenceInfo, end="7\n")
    outputSentence = hgtkTest.textCompose(sentenceInfo[0])

    print(sentenceType)
    print(outputSentence)
    return outputSentence
Exemple #2
0
 def test_josa_italian(self):
     assert u'와' == josa.josa(u'mario', u'과', lang='ita')
     assert u'는' == josa.josa(u'luigi', u'은', lang='ita')
     assert u'이' == josa.josa(u'italian', u'가', lang='ita')
Exemple #3
0
 def test_josa_korean(self):
     assert u'를' == josa.josa(u'택시', u'를', lang='kor')
     assert u'를' == josa.josa(u'버스', u'을', lang='kor')
     assert u'이' == josa.josa(u'나뭇잎', u'가', lang='kor')
     assert u'이랑' == josa.josa(u'넥슨', u'랑', lang='kor')
Exemple #4
0
 def test_josa_english(self):
     assert u'를' == josa.josa(u'false positive', u'를')
     assert u'를' == josa.josa(u'false negative', u'을')
     assert u'이' == josa.josa(u'function', u'가')
     assert u'이랑' == josa.josa(u'deterministic', u'랑')