파이톤으로 아사히신문이 공개한 장편 요약 API를 해봤어요.


(2021/4/4 보충) 중요 문장을 추출한 후 압축하여 지정된 길이에 이르게 한 출력 결과 추기
아사히신문이 장문을 요약한 API를 무료로 공개했기 때문에 한번 해봤다.
https://www.itmedia.co.jp/news/articles/2104/02/news135.html
또한 API 키는 다음 사이트에서 이메일 주소를 등록할 수 있으며, 임시등록 메일을 통해 이메일 주소를 인증할 수 있다.
https://cl.asahi.com/api_data/longsum.html
코드는 여기.입니다.
또 하루에 20번 방문할 때까지 주의해 주십시오.
기타 제한 사항과 규칙 등은 공식 홈페이지를 보세요.
https://cl.asahi.com/api_data/longsum.html

API key


가져온 APIkey를 다음 xxx에 배치합니다.
key = "xxxxxxxxxxxxxxxxxxxxx"
이외에 APIkey는 발송된 메일 이외에 다른 확인 방법이 없으니 잘 보관하시기 바랍니다.

원본 텍스트


공식 홈페이지에 기재된 본문을 사용하다.
https://cl.asahi.com/api_data/longsum.html
일본어 문자열은 100자 이상 2000자 이하, 2000자 이상이면 초과분을 생략한다고 한다.
text = "九州電力玄海原発3、4号機(佐賀県玄海町)の運転差し止めを住民らが求めた\
仮処分申し立ての即時抗告審で、福岡高裁(山之内紀行裁判長)は10日、住民側の抗告を\
棄却した。主な争点は、耐震設計の基になる基準地震動(想定される最大の揺れ)の合理性、\
原発周辺の火山の噴火リスク、配管の安全性の3点。 住民側は「基準地震動が過小評価されている」\
と主張。原子力規制委員会の安全審査の内規(火山影響評価ガイド)は、破局的噴火が予測\
できることを前提としている点は不合理と指摘。阿蘇カルデラ火山の噴火による火砕流が\
原発の敷地に到達する可能性も、十分小さいとは言えないと訴えていた。\
配管については「九電の検査方法では損傷が見逃されることがありうる」としていた。\
九電側は、基準地震動の評価について「各種調査で地域的な特性を把握した上、\
過小にならないようにしており合理的だ」と反論。「原発の運用期間中に破局的噴火が起きる\
可能性は極めて低い」と主張していた。配管については「健全性の確保に向け万全を期している」\
としていた。佐賀地裁は2017年6月、「安全性に欠けるところがあるとは認められない」など\
として、仮処分の申し立てを却下。住民側が即時抗告していた。"
각 파라미터의 해설은 공식 사이트에 기재되어 있으니 참고하십시오.
https://cl.asahi.com/api_data/longsum.html

지정된 길이로 유형 요약 생성


endpoint = "https://clapi.asahi.com/abstract"

length = 200 # 何文字ずつ区切って要約するか。200〜2000の整数。デフォルトは500。
auto_paragraph = True # 自動的に段落分けをするか否か

# JSON に変換
input_json = json.dumps({"text": text, "length": length, "auto_paragraph":auto_paragraph})
# リクエストの書式と認証方式を指定
headers = {"accept":"application/json",
        "Content-Type":"application/json",
           "x-api-key":key}

# リクエスト送信
response = requests.post(endpoint, input_json, headers=headers)

# 負荷軽減のために5秒スリープ
time.sleep(5)

# エンドポイントからレスポンスあったら結果を表示
if response.status_code == 200:
    result = response.json()["result"]
    pprint.pprint(result)
else:
    print(response)
출력:
규슈전력 현해원전 3·4호기(사가현)가 가동 일시정지 가처분 신청을 낸 10일 후쿠오카고등법원은 주민들의 청구를 기각했다.
'지진 방지 설계의 기초로 하는 기준 지진(최대 진동을 구상)의 합리성, 화산 분출 위험, 파이프 안전성 3점.아수 화산 분출로 인한 화산 부스러기 흐름이 원전 부지에 도달할 수도 있지만 매우 작다고 할 수는 없다.주민 측은 즉각 항소했다. "

모든 문장의 길이를 일치시키다


endpoint = "https://clapi.asahi.com/align"
length = 50 # 圧縮後の1文の長さ。10〜50の整数。デフォルトは25。
auto_paragraph = True # 自動的に段落分けをするか否か

# JSON に変換
input_json = json.dumps({"text": text, "length": length, "auto_paragraph":auto_paragraph})
# リクエストの書式と認証方式を指定
headers = {"accept":"application/json",
        "Content-Type":"application/json",
           "x-api-key":key}

# リクエスト送信
response = requests.post(endpoint, input_json, headers=headers)

# 負荷軽減のために5秒スリープ
time.sleep(5)

# エンドポイントからレスポンスあったら結果を表示
if response.status_code == 200:
    result = response.json()["result"]
    pprint.pprint(result)
else:
    print(response)
출력:
주민이 규슈전력 현해원전 3·4호기 가동 중단을 요구하는 임시 항고심에서 후쿠오카 고등법원(야마나기행 재판장)은 10일 임시 항고심, 내진 설계의 기초가 되는 기준 지진의 합리성, 원전 주변 화산의 분화 위험, 파이프의 안전성 3점 등을 제시했다.
주민 측은 기준 지진이 과소평가되었다고 주장했다.원자력규제위원회의 안전심사 내부 규정은 파열된 화산의 분출을 예측하는 것을 전제로 하는 것은 불합리하다고 지적했다.그는 화산 분출로 인한 화산 부스러기 흐름이 원전 부지에 도달할 수도 있지만 매우 작다고 말할 수는 없다고 말했다.파이프에 관해서는 "9전기의 검사 방법은 손상을 초래할 수 있다",
기준지진에 대한 평가는 여러 조사를 통해 지역적 특성을 파악한 만큼 너무 작으면 안 되고 합리적이라고 반박했다.그는 "원전 가동 중 파열된 화산이 분출할 가능성은 극히 낮다"고 주장했다.파이프라인과 관련해서는 "보건 전성을 확실히 하기 위해 만반의 준비를 하고 있다"고 말했다.
'사가지방법원은 2017년 6월 "안전성이 결여된 부분이 있음을 인정하지 않는다"며 가처분 신청을 기각했다.주민 측은 즉각 항소했다. "

중요한 문장을 다듬다


endpoint = "https://clapi.asahi.com/extract"
rate = 0.3 # 全体の文からどのくらいの割合で文を抽出するか。0.1〜0.9の少数。デフォルトは0.7。この数値が小さいほど、返却される文の文字数は少なくなる
auto_paragraph = True # 自動的に段落分けをするか否か

# JSON に変換
input_json = json.dumps({"text": text, "rate": rate, "auto_paragraph":auto_paragraph})
# リクエストの書式と認証方式を指定
headers = {"accept":"application/json",
        "Content-Type":"application/json",
           "x-api-key":key}

# リクエスト送信
response = requests.post(endpoint, input_json, headers=headers)

# 負荷軽減のために5秒スリープ
time.sleep(5)

# エンドポイントからレスポンスあったら結果を表示
if response.status_code == 200:
    result = response.json()["result"]
    pprint.pprint(result)
else:
    print(response)
출력:
['원전 가동 중 파열된 화산이 분출할 가능성은 극히 낮다'고 주장한다.
파이프에 관해서는 "보건 전성을 확보하기 위해 만전을 기하고 있다"고 말했다.주민 측은 즉각 항소했다. "

중요한 문장을 추출한 후 압축하여 지정된 길이에 이르게 하다


endpoint = "https://clapi.asahi.com/control-len"
length = 10 # 要約文のトータルの長さ。10〜2000の整数。デフォルトは500。
auto_paragraph = True # 自動的に段落分けをするか否か

# JSON に変換
input_json = json.dumps({"text": text, "length": length, "auto_paragraph":auto_paragraph})
# リクエストの書式と認証方式を指定
headers = {"accept":"application/json",
        "Content-Type":"application/json",
           "x-api-key":key}

# リクエスト送信
response = requests.post(endpoint, input_json, headers=headers)

# 負荷軽減のために5秒スリープ
time.sleep(5)

# エンドポイントからレスポンスあったら結果を表示
if response.status_code == 200:
    result = response.json()["result"]
    pprint.pprint(result)
else:
    print(response)
출력:
1일 방문 상한에 도달했기 때문에 생략합니다.
[','파이프 확보 만전', '

(참조) 오류 메시지


detail
HTTP Status
설명
bad parameters
400
매개변수 오류
Missing Authentication Token
403
API 키 오류
Internal server error
500, 503
서버 처리 중 예외 발생
Limit Exceeded
429
액세스 제한 초과(1일 20회 액세스)
이상은 끝까지 읽어주셔서 감사합니다.

API 참조 문서


  • Requests 사용 방법(Python Library)
    https://qiita.com/sqrtxx/items/49beaa3795925e7de666

  • 웹 API에서 JSON 데이터 읽기
    https://qiita.com/tamago324/items/3b189a87342ae6120b1c

  • API의 구조를 이해하고 능숙하게 사용할 수 있는 인재가 되는 기사(Python 코드 첨부)
    https://qiita.com/Saku731/items/6ae290f72e98723f165d

  • Azure Machine Learning에서 AutoML로 모델 구축→depro까지의 손잡이
    https://qiita.com/Catetin0310/items/e8e86997bd96e0144ced
  • 좋은 웹페이지 즐겨찾기