오늘은 네이버 클로바 summary api라는 게 있습니다. 이게 뭐냐면 뉴스 보면 요약해주는 거 있지 않습니까 어떤 문단이 있는데 그걸 한 세 줄 정도로 해서 요약을 해주는 거예요. 사람들이 아까 모르겠지만 네이버 클로바 ai 서비스에서 무료로 제공을 해주는 도구가 있습니다. 한 1천 건까지는 무료입니다. 사용을 해보시면 유용하게 쓰일 만한 부분들이 많습니다.
오늘은 여러분들한테 어떠한 긴 문장이 있어서 그걸 짧게 보고 싶다. 이런 거 있으면 그거를 코딩 형식으로 공유드리고자 해서 말씀드리고자 합니다.
파이썬 네이버 클로바 Summary API 글 3줄 요약 해보기
여기 네이버 api 요약으로 해서 그걸 사용하는 걸로 따져서 보자면은 쓰이는 게 한 두 가지가 있습니다. 언어로서만 따져서 보자면 한국어 일본어 이렇게 지원이 돼요. 그리고 모델은 두 가지가 있는데 하나는 제너럴이고 뉴스입니다 만약에 뉴스에서 이러한 요약하는 것을 한다면 굉장히 유용한 부분들이 있긴 하지만 저는 제너럴적인 부분 이런 것에 신경을 쓰고자 해서 제럴로 저는 선택을 했었었고요 그리고 여기서 한 가지 특별했던 부분들이 있는데 톤이라는 게 있습니다. 톤이라는 게 있냐면은 코드가 4가지가 구성이 되어 있는데 0으로 돼 있는 거는 요체예요. 요체 끝부분이 요로 끝나는 이걸로 돼 있는 거고 그다음에 1번이 구어체입니다. 말하는 2에 이런 식으로 문장을 바꿔서 요약해줘서 결론을 내주는 이런 게 있고 두 번째는 끝 문장이 요약을 해줬을 때 문체를 습니다로 말을 해주는 거고요 마지막 3은 음음체입니다. 음음체 뭐 해 뭐 그래라고 이러한 톤으로 해서 최종적으로 요약해서 보여준다는 거죠.
product_num = 1
#메모장 상품 텍스트 가져오기
f = open('C:/Users/user/raw/products/product_info/product_summary_'+str(product_num)+'.txt', 'r', encoding='utf8')
#f = open('C:/Users/user/raw/products/product_info/product_'+str(product_num)+'.txt', 'r', encoding='utf8')
text = f.read()
text_2 = text.replace("\n", "")
text_3 = text_2.replace("________________", " ")
#print(text_3)
# 네이버 요약 API
client_id = "" #클라이언트 ID
client_secret = "" #클라이언트 시크릿 ID
headers = {
"X-NCP-APIGW-API-KEY-ID": client_id,
"X-NCP-APIGW-API-KEY": client_secret,
"Content-Type": "application/json"
}
language = "ko" # Language of document (ko, ja )
model = "general" # Model used for summaries (general, news)
tone = "2" # Converts the tone of the summarized result. (0, 1, 2, 3)
# 0 - 요체
# 1 - 구어체(요체)
# 2 - 습니다.
# 3 - 음슴체
#f = open('C:/Users/user/raw/products/product_info/product_1.txt', 'r', encoding='utf8')
#text = f.read()
#text_2 = text.replace("\n", "")
#text_3 = text_2.replace("________________", " ")
summaryCount = "10" # This is the number of sentences for the summarized document.
url= "https://naveropenapi.apigw.ntruss.com/text-summary/v1/summarize"
title = "상품정보요약"
#content 에 붙이자.
content = text_3[1:800]
#content = text_3[1000:2000]
#content = text_3[2000:3000]
#content = text_3[3000:4000]
data = {
"document": {
"title": title,
"content" : content
},
"option": {
"language": language,
"model": model,
"tone": tone,
"summaryCount" : summaryCount
}
}
#print(json.dumps(data, indent=4, sort_keys=True))
response = requests.post(url, data=json.dumps(data), headers=headers)
rescode = response.status_code
#if(rescode == 200):
# print (response.text)
#else:
# print("Error : " + response.text)
summary_result = response.json()
f = open('C:/Users/user/raw/result.txt', 'w', encoding='utf8')
f.write(summary_result['summary'])
print(summary_result['summary'])
f.close()
조금 이런 거를 한번 사용을 해보시고 조금 판단을 해봐면은 괜찮지 않을까 싶네요. 물론 뉴스 기사는 정확하게 이게 서론 본론 결론 이런 것들이 정해져서 유용하게 쓰일 것 같지만은 이외에 다른 부분에서는 어떨지는 조금 많이 테스트를 해봐야 될 것 같습니다.
그래서 오늘은 여러분들한테 만약에 긴 문장 그다음에 짧게 결론적으로만 해서 보고 싶다. 요약해서 보고 싶다라는 게 있으면은 네이버 클로바 쪽에서 이런 요약으로 해주는 api 서비스가 있으니 혹시 파이썬을 하시는 분들이라면 이런 걸 사용해봐도 괜찮다라는 것을 공유드리고자 이렇게 말씀드렸습니다. 오늘은 여기까지입니다.
'Python' 카테고리의 다른 글
[파이썬] 네이버, 다음 통합 검색 영역 내 키워드 노출 모니터링 (0) | 2022.07.11 |
---|---|
[파이썬] 유투브 API 동영상 업로드하기 (0) | 2022.07.11 |
[파이썬] cv2 mp4 jpg 변환, gif 변환 해보기 (0) | 2022.07.09 |
[파이썬] 구글 블로거 Token has been expired or revoked 오류 해결 (0) | 2022.07.08 |
[파이썬] 네이버 블로그 구글 검색 결과 노출 (0) | 2022.07.07 |
댓글