from krwordrank.word import KRWordRank
from krwordrank.hangle import normalize
from konlpy.tag import Okt
import kss
import re

gisa2 = """iPhone 11 Pro 및 Pro Max는 18W 고속충전기를 기본으로 제공하는 데 반해, 11은 고속충전 자체는 지원하지만 고속 충전기가 아닌 여전히 5W 출력의 느린 완속 충전기를 
기본으로 지급하고 있다. 고속 충전을 하고 싶다면 직접 어댑터 39,000원, 케이블 1m 기준 25,000원으로 6만 4천 원에서 8만 4천 원을 들여서 구매해야 한다. 요즘은 굳이 애플에서 
사지 않아도 아이폰 및 다른 스마트폰들에 모두 쓸 수 있는 고속충전 어댑터가 시중에 많으므로 꼭 애플 공식 홈페이지에서 18W 혹은 30W 어댑터를 살 필요는 없으나 정품이 아닌 저가형 충전기를 사용했다가 
피봤다는 사례도 많아서 어느 정도 알아보고 사야하는 수고를 들여야한다. 안드로이드 진영에서 주로 사용하는 퀄컴 퀵차지는 기본적으로 퀄컴의 칩셋에서 사용되는 것을 전제로 개발된 규격이기 때문에 애플의 자체 칩셋을 
사용하는 애플 제품에서는 호환되지 않는다. 이를 모르고 타 안드로이드 폰의 번들 고속 충전기를 꽂으면 USB 충전 표준에 따라 5V×1A=5W의 기어가는 속도로 충전이 되는 불상사를 볼 수 있게 된다. 기껏 
고속 충전기라고 구매했다가 기본 번들 충전기나 다름없는 속도로 충전되는 셈. 이런 참사를 막기 위해서는 9V/2A 규격을 준수하는 USB-PD 2_0 규격의 충전기를 사용해야 한다. 비슷한 맥락에서 애플이 
기본으로 지급하는 Lightning Cable 을 보고 고속 충전기로 오해를 할 수 있는데, 한쪽 단자가 USB-C가 아니라 기존의 USB-A 단자로 되어있다면 그건 그냥 5W짜리 충전기이다. 적어도 애플 
기기에서 USB-PD를 사용한 고속충전은 무조건 입력 측 단자가 USB-C여야만 한다. 이에 반해 삼성과 LG 등은 모두 18W 이상의 고속 충전기를 기본 증정하고 있다. 다만 아이폰은 언제나 
타사 스마트폰보다 배터리의 양을 적게 탑재해도 그만큼 배터리의 소모도 적다는 옹호 의견도 있으나, 11 이전 아이폰의 배터리 타임은 이미 타사 대비 열세를 보이고 있었다. 더욱이 아이폰의 
배터리는 플러스 모델과 X 이후의 모델부터 급격이 증가하며 현재는 일반적인 안드로이드 스마트폰의 배터리인 3000 mAh 이상까지 올라왔으며 이미 5W로 커버할 수준이 아니라는 반론도 존재한다. 역시나 동급모델 
기준 충전 속도는 가장 느리다. 이미 아이폰 XS는 3시간, 아이폰 XS Max는 3시간 30분 가량에 달하는 엄청나게 긴 충전 시간을 보여주고 있었던 상황이었다! 10W 이상의 고속충전이 리튬이온 배터리의 
기대 수명을 해친다는 이야기가 나오고 있기 때문에 애플은 배터리가 8000 mAh가 넘어가는 아이패드나 맥북 등을 제외하고 아이폰은 아직 5W 충전기를 고수하려는 입장인 듯하다는 의견도 존재하나 이는 아이폰 
11 Pro의 경우 18W 고속충전기를 동봉해준 것을 설명할 수 없으므로 다소 무리가 있는 해석이다."""


gisa10 = """서울 성북구 사랑제일교회가 ‘코로나19’ 재유행 위기의 진원지가 되고 있다. 16일(정오 기준) 신규 확진자의 절반이 넘는 190명이 이 교회 교인과 접촉자에서 나왔다. 이 교회에선 지난 
12일 첫 확진자가 나온 뒤 불과 나흘 만에 누적 확진자가 249명에 이르렀다. 자칫 ‘제2의 신천지’ 집단감염 사태가 재연되는 게 아닌지 심히 우려스럽다. 사태가 이 지경에 이른 건, 이 교회를 이끄는 전광훈 
목사와 일부 교인들의 안하무인격 반사회적 행태 때문이다. 이들은 이 교회발 확진자가 무더기로 나오는 상황에서 지난 15일 집회금지 명령을 어긴 채 서울 광화문 집회에 대거 참석했다. 전 목사는 집회에서 “오늘 
저를 이 자리에 못 나오게 하려고 바이러스 균을 우리 교회에 갖다 부어버렸다”고 주장했다. 비상식적이고 황당한 그의 인식에 어안이 벙벙할 따름이다. 전 목사와 이 교회는 정부의 코로나 방역 지침을 일삼아 
어겨왔다. 지난 3월 이후 코로나 확산기에도 서울시의 집회금지 명령을 어긴 채 주말 연합예배를 강행해왔다. 방역 지침을 무시하다 빚어진 일에 ‘외부 음모’ 운운하다니 적반하장이 아닐 수 없다. 심지어 전 목사와 
일부 교인들은 방역 당국의 검사와 역학조사를 공공연히 방해하고 있다. 참으로 뻔뻔하고 어처구니없는 일이다. 현재 이 교회발 검사 대상자는 4천여명인데, 추가 확진자가 급증하는 상황이어서 관련 검사 대상자 역시 
기하급수적으로 늘어날 것으로 보인다. 이 교회 교인들이 대거 참석한 주말 집회는 마스크 착용과 거리두기가 제대로 지켜지지 않았다. 수많은 집회 참가자들이 감염 위험에 처한 상황이다. 하루빨리 신속한 역학조사를 
통해 접촉자를 가려내는 게 급선무다. 신천지 사태 때도 부정확한 신도 명단 제출과 검사 기피 등으로 손쓸 시기를 놓치면서 폭발적인 확진자 증가를 경험한 바 있다. 똑같은 위험과 혼란이 이번에도 반복돼선 안 
된다. 필요하다면 검찰 등 수사기관이 적극적인 강제 수사에 나서 신속한 방역 절차가 이뤄지도록 해야 한다. 문재인 대통령이 16일 전 목사 등 일부 교회의 행태를 국가 방역시스템에 대한 도전으로 규정하고 엄정 
대응하겠다고 밝힌 것은 공동체의 안전을 지키기 위한 당연한 조처다. 방역 당국과 서울시는 자가격리 조처를 위반하고 진단검사 대상 명단을 누락·은폐한 혐의로 전 목사를 고발했다. 전 목사와 일부 교인들의 행태는 
종교와 교회의 울타리를 넘어선 반사회적 행위다. 종교를 빙자한 소수의 극단적 행위가 공동체 전체를 위험에 빠뜨리는 걸 용납할 순 없다. 반드시 그에 걸맞은 대가를 물어야 한다. """

gisa5 = """젠지 e스포츠가 초반 불리함을 딛고 1세트 역전승을 거뒀다. 한타에서 '비디디' 곽보성과 '룰러' 박재혁의 활약이 눈부셨다. 한화생명e스포츠가 전 라인에서 상성 우위를 잘 살리면서 주도권을 
쥐었다. '영재' 고영재의 볼리베어도 적절한 합류와 갱킹으로 미드와 봇에서 킬을 만들어내며 팀에 힘을 보탰다. 한화생명e스포츠는 협곡의 전령으로 봇 1차 타워를 일찌감치 밀었다. 젠지 e스포츠는 미드에서 점멸이 
없는 '리헨즈' 손시우의 잔나를 잘라내며 한숨 돌렸다. 드래곤도 한차례 가져올 수 있었다. 그러나, 한화생명e스포츠가 탑 합류 싸움 과정에서 '비디디' 곽보성의 아칼리를 잡았다. 전 라인 1차 타워에 이어 미드 
2차 타워까지 파괴됐고, 글로벌 골드는 벌써 3,000 이상 벌어졌다. 하지만, 세 번째로 등장한 드래곤을 두고 연이어 발생한 전투에서 젠지 e스포츠가 괴력을 발휘했다. 첫 한타에서 집중력을 발휘하며 3:3 킬 
교환을 만들어낸 젠지 e스포츠는 두 번째 싸움에서 '비디디'의 슈퍼플레이와 '룰러' 애쉬의 안정적인 딜링을 앞세워 대승을 거뒀다. 사고는 연달아 터졌다. 사이드 라인에서 '라스칼' 김광희의 케넨과 아칼리가 
'두두' 이동주의 루시안을 상대로 연속 솔로 킬을 만들어냈다. 한화생명e스포츠는 본대 쪽에서 시야를 넓히던 '클리드' 김태민의 세트를 낚아챈 것을 시작으로 애쉬까지 잡으며 조금이나마 손해를 메웠다. 이제 글로벌 
골드는 젠지 e스포츠가 앞서고 있었다. 거듭된 전투에서도 젠지 e스포츠는 캐리 라인인 아칼리-애쉬가 킬을 야금야금 챙기며 쭉쭉 성장했다. 한화생명e스포츠의 입장에서는 전술적으로 아칼리와 케넨을 잘 마크하면서 
케이틀린-아지르-루시안의 화력을 충분히 발휘하는 구도를 그려야 했다. 바론 앞 전투에서 이 구도가 완전히 무너졌다. 볼리베어가 고립되면서 먼저 잡혔고, 그 사이 본대는 애쉬의 궁극기에 발이 묶이면서 아칼리와 
케넨에게 노출되고 말았다. 결국, 에이스를 띄운 젠지 e스포츠는 그대로 미드로 달려 단숨에 넥서스를 파괴했다. """

gisa3 = """ 우리 구에 확진자 1명이 추가 발생하여 알려드립니다. 확진자 동선은 역학조사 완료 즉시 공개하겠습니다.



 우리 구 152,153번째 및 타지역 확진자(영등포구, 고창군)의 역학조사결과 질병관리본부 「확진환자의 이동경로 등 정보공개 안내(3판)」에 따라 방문 장소, 이동수단 내 접촉자가 발생하지 않았으므로, 동선 공개 대상이 아님을 알려드립니다.



 우리 구는 현재 확진자 156명 중 완치자가 142명입니다.

 ※ 우리구 6번 확진자는 타시도에서 발생 신고가 되었고 해당지역 확진자로 분류되어, 실질적인 관악구 확진자 통계와 1명의 차이가 있음을 알려드립니다.
"""

gisa = """교통위반 과태료 모바일(카톡, 문자) 전자고지 서비스

  

□ 시행시기 : 2020년 9월부터 ~



※ 사전 통지서 : 교통 위반한 경우에 단속 사실을 인지하도록 알리고 의견제출할 기회를 줌 (기한 내 납부 시 20% 과태료 감경 혜택이 있음)
※ 수시분고지서 : 사전통지서에 안내된 납부기한 내에 납부하지 않으면

주•정차 위반 과태료 정식 부과 사실을 알림

 

□ 모바일 전자고지 서비스 대상 및 제공 절차
본인 명의 스마트폰 가입자는 사전 신청없이 모바일 고지서를 받을 수 있음
① 카카오페이에 가입된 경우에 ‘알림톡’을 발송
   (카카오페이 내 문서함으로 1차 발송)
② 카카오페이 미가입자와 알림톡 고지서 미확인자에게 24시간 경과 후 알림문자를  자동발송

    (발신번호 ‘02-120’으로 2차 발송)
③ 2회에 걸친 모바일 고지서 발송에도 불구하고 고지서를 확인하지 못한 경우에는 기존 종이 등기우편 고지서 발송

 

 

□ 모바일 전자고지 서비스 해제 방법   

○ 모바일 고지(알림톡, 알림문자 모두) 수신거부 및 해제를 원하는 경우

- 서울시 교통위반 단속조회시스템(https://cartax.seoul.go.kr) 내에

   ‘모바일 전자고지 서비스 안내 메뉴’에서 신청

 

○ 알림문자만 수신 거부/해제를 원하는 경우

- 알림문자 하단에서 수신거부/해제하기 클릭하여 연결된 공공알림문자 수신거부 관리

   (수신 휴대폰번호 등록 및 해제) 페이지에서 해제 요청, 또는 서울시 교통위반 단속조회 시스템에서 직접 신청 가능

※ 서울시 교통위반 과태료(주정차 및 전용차로) 알림문자 외에

   타 기관에서 제공하는 모든 공공알림안내문자까지 일괄 관리(거부/해제) 됨

○ 알림톡만 수신 거부/해제를 원하는 경우

- 카카오페이 고객센터(1644-7405)로 신청

※ 과태료(주정차 및 전용차로) 알림톡 거부/ 해제 신청

  

□ 주정차위반 과태료 모바일 전자고지 법적 근거

○ 질서위반행위규제법 제17조(과태료의 부과)
○ 전자문서 및 전자거래 기본법 제4조(전자문서의 효력)
○ 전자정부법 제7조(전자적 민원처리 신청 등), 제11조(전자적 고지·통지) 등




주정차위반 과태료 조회 및 납부는 현장단속 후,

근무일 기준 2~3일(전산등록) 후에 가능  

 

□ 단속일로부터 의견제출 기한 이내  또는 과태료부과 사전통지서의 납기내

(감경기간) 자진 납부 

○ 단속 후, 의견 제출기한 내에 자진 납부 시에 과태료 금액 20% 감경  

 

○ 사회적 약자(국민기초생활수급자 등) 추가 50% 감경은 별도 신청하셔야 함.
   전국에 과태료 체납이 없어야 하고, 공동 명의 시, 모든 소유자가 대상이어야 함.

○ 사전통지서(의견제출 기한 내)  납기 후에 50% 감경 신청 불가

 ※ 이후 체납 시에(중)가산금 부과, 재산압류(자동차, 예금, 부동산), 자동차 등록번호판 영치 

 

※ 과태료를 납부(자진납부 포함)하면 과태료 납부절차가 종결됨. 
   의견진술, 이의제기, 환불 등이 불가 

 





□ 자동차 압류내역 조회 인터넷 사이트(열람 무료)
  ⊙ 정부24 [ https://www.gov.kr/portal/main ] - 자동차 등록원부등본(초본) 발급·열람신청

□ 차량번호로 전국의 주정차위반 과태료 조회 인터넷 사이트
  ⊙ 위택스( www.wetax.go.kr/ ) ☞ 납부하기 ☞ 지방세외수입 ☞ 차량번호 조회

□ 경찰서의 속도 및 신호위반 과태료(범칙금) 조회 및 납부 인터넷사이트  

  ⊙ 경찰청교통민원24 [ 이파인 https://www.efine.go.kr/  ☎ 182 ]"""
okt_test = Okt()
splited = gisa.split("\n\n")
splited = [normalize(text, english=True, number=True) for text in splited]

# splited = kss.split_sentences(gisa.replace("\n", ""))
# splited = gisa.replace("\n", "").split(".")[:-1]
# splited = re.split("[.!?] ", gisa.replace("\n", "")[:-1])


split_num = len(splited)
print(split_num)

texts = [normalize(text, english=True, number=True) for text in splited]
print(texts, len(texts))
wordrank_extractor = KRWordRank(
    min_count=5,  # 단어의 최소 출현 빈도수 (그래프 생성 시)
    max_length=10,  # 단어의 최대 길이
    verbose=True
)
beta = 0.85  # PageRank의 decaying factor beta
max_iter = 10
keywords, rank, graph = wordrank_extractor.extract(texts, beta, max_iter)
print(list(keywords.keys()))


okt = Okt()
test2 = [okt.nouns(text) for text in splited]
print(test2)

split_dict = [[i, splited[i], 0] for i in range(split_num)]
print(split_dict)
"""
for keyword in list(keywords.keys()):
    for i in range(split_num):
        for word in test2[i]:
            if word == keyword:
                split_dict[i][2] += keywords[keyword]
"""
for keyword in list(keywords.keys()):
    for i in range(split_num):
        split_dict[i][2] += split_dict[i][1].count(keyword) * keywords[keyword]

for i in range(len(split_dict)):
    print(split_dict[i])


test = sorted(split_dict, key=lambda split_dict: split_dict[2], reverse=True)[0:3]
test = sorted(test, key=lambda test: test[0])

for i in range(len(test)):
    print(test[i][1])




