ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • CLOVA Summary API ํŒŒ์ด์ฌ์œผ๋กœ ์‚ฌ์šฉํ•˜๊ธฐ
    TECH 2021. 8. 23. 22:21

    ์ตœ๊ทผ ๋„ค์ด๋ฒ„ ํด๋กœ๋ฐ”์—์„œ ๊ธด ๋ฌธ์„œ๋ฅผ ์š”์•ฝํ•ด ํ•ต์‹ฌ ๋ฌธ์žฅ์„ ๋ฝ‘์•„๋‚ด ์ฃผ๋Š” Summary API๋ฅผ ์ƒˆ๋กญ๊ฒŒ ์ถœ์‹œํ–ˆ์Šต๋‹ˆ๋‹ค.

     

    https://www.ncloud.com/product/aiService/clovaSummary

     

    NAVER CLOUD PLATFORM

    cloud computing services for corporations, IaaS, PaaS, SaaS, with Global region and Security Technology Certification

    www.ncloud.com

     

     

     

    ์ €๋Š” ์กธ์—… ์ž‘ํ’ˆ ํ”„๋กœ์ ํŠธ๋กœ ๋น„์Šทํ•œ ๋”ฅ๋Ÿฌ๋‹์„ ํ†ตํ•œ ๋ฌธ์„œ ์š”์•ฝ ๋ชจ๋ธ์„ ๊ตฌํ˜„ ์ค‘์ด์—ˆ๋Š”๋ฐ์š”. Clova Summary๋„ ์จ๋ณด์ง€ ์•Š์„ ์ˆ˜ ์—†๊ฒ ์ฃ ?

     

    https://api.ncloud-docs.com/docs/ai-naver-clovasummary

     

    CLOVA Summary ๊ฐœ์š” - CLOVA Summary

     

    api.ncloud-docs.com

     

    ์‚ฌ์šฉ ๊ฐ€์ด๋“œ๋ฅผ ์ฐธ์กฐํ•˜์—ฌ ํŒŒ์ด์ฌ์œผ๋กœ ๊ตฌํ˜„ํ•ด ๋ณด์•˜์Šต๋‹ˆ๋‹ค.

     

     

    ์šฐ์„  ์ฝ˜์†”์˜ Products & Services ๋ฉ”๋‰ด์—์„œ AI·NAVER API๋กœ ๋“ค์–ด๊ฐ€ Application์„ ๋“ฑ๋กํ•ด ์ค๋‹ˆ๋‹ค.

    ์ €๋Š” ๋ถ๋งˆํฌ๋กœ ์„ค์ •ํ•ด ๋†“์•„ ๋ถ๋งˆํฌ์—์„œ๋„ ์‰ฝ๊ฒŒ ๋“ค์–ด๊ฐˆ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

     

     

    Application ๋“ฑ๋ก ๋ฒ„ํŠผ์„ ๋ˆ„๋ฅด๋ฉด Application ์ด๋ฆ„์„ ์„ค์ •ํ•˜๊ณ  ์„œ๋น„์Šค๋ฅผ ์„ ํƒํ•˜๋Š” ์ฐฝ์ด ๋œน๋‹ˆ๋‹ค.

    CLOVA Summary๋งŒ ์‚ฌ์šฉํ•ด ๋ณผ ๊ฒƒ์ด๋ฏ€๋กœ, CLOVA Summary๋ฅผ ์„ ํƒํ•ด ์ค๋‹ˆ๋‹ค.

     

    ์„œ๋น„์Šค ํ™˜๊ฒฝ๋„ ๋“ฑ๋กํ•˜๋ฉด ๋˜๋Š”๋ฐ์š”. ์ €๋Š” Django Web์—์„œ ์‚ฌ์šฉํ•ด ๋ณผ ๊ฑฐ๋ผ ์žฅ๊ณ  ์„œ๋ฒ„์ธ http://127.0.0.0:8000๋ฅผ ๋“ฑ๋กํ•ด ์ฃผ์—ˆ์Šต๋‹ˆ๋‹ค.

    ์•ˆ๋“œ๋กœ์ด๋“œ ์•ฑ์ด๋‚˜ iOS์•ฑ์—์„œ ์‚ฌ์šฉํ•˜์‹ค ๋ถ„๋“ค์€ ๋”ฐ๋กœ ํŒจํ‚ค์ง€ ์ด๋ฆ„์ด๋‚˜ ๋ฒˆ๋“ค ์•„์ด๋””๋ฅผ ๋“ฑ๋กํ•ด ์ฃผ์‹œ๋ฉด ๋˜๊ฒ ์Šต๋‹ˆ๋‹ค.

     

     

    ๊ทธ๋Ÿฌ๋ฉด ๋“ฑ๋กํ•œ App์ด ์ด๋ ‡๊ฒŒ ๋œน๋‹ˆ๋‹ค. ์ธ์ฆ ์ •๋ณด๋ฅผ ๋ˆ„๋ฅด๋ฉด 

    ํด๋ผ์ด์–ธํŠธ ID์™€ ํด๋ผ์ด์–ธํŠธ ์‹œํฌ๋ฆฟ ํ‚ค๋ฅผ ํ™•์ธํ•˜์‹ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

     

     

     

    ํŒŒ์ด์ฌ์œผ๋กœ Summary API๋ฅผ ๊ตฌํ˜„ํ•œ ์˜ˆ์‹œ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

    ์˜ˆ์‹œ ์ฝ”๋“œ๋Š” CLOVA Speech ์˜ˆ์‹œ๋ฅผ ์ฐธ๊ณ ํ–ˆ์Šต๋‹ˆ๋‹ค.

    #!/usr/bin/python
    # -*- coding: utf-8 -*-
    import sys
    import requests
    import json
    import my_settings
    
    client_id = my_settings.CLIENT_ID
    client_secret = my_settings.CLIENT_SECRET
    url = 'https://naveropenapi.apigw.ntruss.com/text-summary/v1/summarize'
    
    headers = {
                'Accept': 'application/json;UTF-8',
                'Content-Type': 'application/json;UTF-8',
                'X-NCP-APIGW-API-KEY-ID': client_id,
                'X-NCP-APIGW-API-KEY': client_secret
            }
    
    data = {
      "document": {
        "content": "๊ฐ„ํŽธ์†ก๊ธˆ ์ด์šฉ๊ธˆ์•ก์ด ํ•˜๋ฃจ ํ‰๊ท  2000์–ต์›์„ ๋„˜์–ด์„ฐ๋‹ค. ํ•œ๊ตญ์€ํ–‰์ด 17์ผ ๋ฐœํ‘œํ•œ '2019๋…„ ์ƒ๋ฐ˜๊ธฐ์ค‘ ์ „์ž์ง€๊ธ‰์„œ๋น„์Šค ์ด์šฉ ํ˜„ํ™ฉ'์— ๋”ฐ๋ฅด๋ฉด ์˜ฌํ•ด ์ƒ๋ฐ˜๊ธฐ ๊ฐ„ํŽธ์†ก๊ธˆ์„œ๋น„์Šค ์ด์šฉ๊ธˆ์•ก(์ผํ‰๊ท )์€ ์ง€๋‚œํ•ด ํ•˜๋ฐ˜๊ธฐ ๋Œ€๋น„ 60.7% ์ฆ๊ฐ€ํ•œ 2005์–ต์›์œผ๋กœ ์ง‘๊ณ„๋๋‹ค. ๊ฐ™์€ ๊ธฐ๊ฐ„ ์ด์šฉ๊ฑด์ˆ˜(์ผํ‰๊ท )๋Š” 34.8% ๋Š˜์–ด๋‚œ 218๋งŒ๊ฑด์ด์—ˆ๋‹ค. ๊ฐ„ํŽธ ์†ก๊ธˆ ์‹œ์žฅ์—๋Š” ์„ ๋ถˆ์ „์ž์ง€๊ธ‰์„œ๋น„์Šค๋ฅผ ์ œ๊ณตํ•˜๋Š” ์ „์ž๊ธˆ์œต์—…์ž์™€ ๊ธˆ์œต๊ธฐ๊ด€ ๋“ฑ์ด ์ฐธ์—ฌํ•˜๊ณ  ์žˆ๋‹ค. ์ด์šฉ๊ธˆ์•ก์€ ์ „์ž๊ธˆ์œต์—…์ž๊ฐ€ ํ•˜๋ฃจํ‰๊ท  1879์–ต์›, ๊ธˆ์œต๊ธฐ๊ด€์ด 126์–ต์›์ด์—ˆ๋‹ค. ํ•œ์€์€ ์นด์นด์˜คํŽ˜์ด, ํ† ์Šค ๋“ฑ ๊ฐ„ํŽธ์†ก๊ธˆ ์„œ๋น„์Šค๋ฅผ ์ œ๊ณตํ•˜๋Š” ์—…์ฒด ๊ฐ„ ๊ฒฝ์Ÿ์ด ์‹ฌํ™”๋˜๋ฉด์„œ ์ด์šฉ๊ทœ๋ชจ๊ฐ€ ํฌ๊ฒŒ ํ™•๋Œ€๋๋‹ค๊ณ  ๋ถ„์„ํ–ˆ๋‹ค. ๊ตญํšŒ ์ •๋ฌด์œ„์›ํšŒ ์†Œ์† ๋ฐ”๋ฅธ๋ฏธ๋ž˜๋‹น ์œ ์˜๋™ ์˜์›์— ๋”ฐ๋ฅด๋ฉด ์นด์นด์˜คํŽ˜์ด, ํ† ์Šค ๋“ฑ ์„ ๋ถˆ์ „์ž์ง€๊ธ‰์„œ๋น„์Šค ์ œ๊ณต์—…์ฒด๋Š” ์ง€๋‚œํ•ด ๋งˆ์ผ€ํŒ… ๋น„์šฉ์œผ๋กœ 1000์–ต์› ์ด์ƒ์„ ์ง€์ถœํ–ˆ๋‹ค. ๋งˆ์ผ€ํŒ… ๋น„์šฉ ์ง€์ถœ๊ทœ๋ชจ๋Š” ์นด์นด์˜คํŽ˜์ด๊ฐ€ 491์–ต์›, ๋น„๋ฐ”๋ฆฌํผ๋ธ”๋ฆฌ์นด(ํ† ์Šค)๊ฐ€ 134์–ต์› ๋“ฑ ์ˆœ์œผ๋กœ ๋งŽ์•˜๋‹ค."
      },
      "option": {
        "language": "ko",
        "model": "news",
        "tone": 2,
        "summaryCount": 3
      }
    }
    
    response = requests.post(url, headers=headers, data=json.dumps(data).encode('UTF-8'))
    rescode = response.status_code
    if(rescode == 200):
        print (response.text)
    else:
        print("Error : " + response.text)

     

    document ํ•„๋“œ ๋‚ด์—๋Š” content ํ•„๋“œ์™€ title ํ•„๋“œ๋ฅผ ๋„ฃ์„ ์ˆ˜ ์žˆ๊ณ , title์€ ํ•„์ˆ˜ ํ•„๋“œ๊ฐ€ ์•„๋‹ˆ์–ด์„œ ์ œ์™ธํ–ˆ์Šต๋‹ˆ๋‹ค. content์™€ title ํ•„๋“œ๋ฅผ ํ•ฉ์ณ 2000์ž ๋‚ด๋กœ๋งŒ ์š”์•ฝ์ด ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.

     

    option ํ•„๋“œ ๋‚ด์—๋Š” language, model, tone, summaryCount ํ•„๋“œ๋ฅผ ๋„ฃ์„ ์ˆ˜ ์žˆ๊ณ  language ํ•„๋“œ๋งŒ ํ•„์ˆ˜๋กœ ์ง€์ •ํ•ด ์ฃผ๋ฉด ๋ฉ๋‹ˆ๋‹ค. ํ˜„์žฌ๋Š” ํ•œ๊ตญ์–ด์™€ ์ผ๋ณธ์–ด๋งŒ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค. ๋‚˜๋จธ์ง€ ์‚ฌํ•ญ์€ API ๊ฐ€์ด๋“œ๋ฅผ ์ฐธ๊ณ ํ•˜์„ธ์š”.

     

     

    ์ €๋Š” ํด๋ผ์ด์–ธํŠธ ID์™€ Secret์€ my_settings.py ํŒŒ์ผ์„ ์ƒˆ๋กœ ๋งŒ๋“ค์–ด ์ž„ํฌํŠธํ•˜๋Š” ํ˜•์‹์„ ์‚ฌ์šฉํ–ˆ์Šต๋‹ˆ๋‹ค.

    ์œ„ ํŒŒ์ผ๊ณผ ๊ฐ™์€ ์œ„์น˜์— my_settings.py๋ฅผ ๋งŒ๋“ค์–ด ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์‚ฌ์šฉํ•˜์‹œ๋ฉด ๋ฉ๋‹ˆ๋‹ค.

     

    CLIENT_ID = '๋ณธ์ธ์˜ ํด๋ผ์ด์–ธํŠธ ์•„์ด๋””'
    CLIENT_SECRET = '๋ณธ์ธ์˜ ํด๋ผ์ด์–ธํŠธ ์‹œํฌ๋ฆฟ'

     

     

    ์ €์˜ ๊นƒํ—ˆ๋ธŒ์— 2000์ž ์ด์ƒ์˜ ๋ฌธ์„œ๋„ ๋Š์–ด์„œ ์š”์•ฝํ•˜๋Š” ๊ฐ„๋žตํ•œ ์ฝ”๋“œ๊ฐ€ ์žˆ์œผ๋‹ˆ ํ•„์š”ํ•˜์‹œ๋‹ค๋ฉด ์ฐธ๊ณ ํ•ด ์ฃผ์‹œ๊ธฐ ๋ฐ”๋ž๋‹ˆ๋‹ค. 

    https://github.com/ttaerrim/ncloud_summary

     

    GitHub - ttaerrim/ncloud_summary

    Contribute to ttaerrim/ncloud_summary development by creating an account on GitHub.

    github.com

     

    ๋Œ“๊ธ€

Designed by Tistory.