Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- 퓨샷
- 파라미터 힌트
- 반복문
- 조건문
- Compute
- Cognitive Service
- 아기동화
- 도커
- 동화책
- 모험
- 인자 힌트
- Docker
- Azure
- dask
- 제로샷
- 대스크
- GPT
- Cognitive Search
- 토끼
- AI 동화
- 컨텍스트 매니져
- 검색
- Redshift
- 인컨텍스트 러닝
- 프롬프트 튜닝
- FOR
- Python
- UDF
- 파이썬
- Ai
Archives
- Today
- Total
호랭이 분석가
[Azure] Language 서비스를 통한 문서 요약 (Python) 본문
반응형
Azure Cognitive Service에서 제공하는 Language 서비스를 이용하여
문서나 문장을 요약하는 방법에 대해 알아보겠습니다. azure-ai-textanalytics
pip install azure-ai-textanalytics==5.3.0
azure-ai-textanalytics 라이브러리를 설치해 줍니다.
Azure의 Cognitive Search와 Translator 서비스에서 사용되는 라이브러리와는
다르기 때문에 새로 설치해주어야 합니다.
from azure.ai.textanalytics import TextAnalyticsClient
from azure.core.credentials import AzureKeyCredential
language_key = 'your-language-key'
language_endpoint = 'your-language-endpoint'
ta_credential = AzureKeyCredential(language_key)
client = TextAnalyticsClient(
endpoint = language_endpoint,
credential = ta_credential
)
Language 서비스 생성을 통해 발급된 키와 엔드포인트를 입력해 줍니다.
def sample_extractive_summarization(client):
from azure.core.credentials import AzureKeyCredential
from azure.ai.textanalytics import (
TextAnalyticsClient,
ExtractiveSummaryAction
)
document = [
"The extractive summarization feature uses natural language processing techniques to locate key sentences in an unstructured text document. "
"These sentences collectively convey the main idea of the document. This feature is provided as an API for developers. "
"They can use it to build intelligent solutions based on the relevant information extracted to support various use cases. "
"Extractive summarization supports several languages. It is based on pretrained multilingual transformer models, part of our quest for holistic representations. "
"It draws its strength from transfer learning across monolingual and harness the shared nature of languages to produce models of improved quality and efficiency. "
]
poller = client.begin_analyze_actions(
document,
actions=[
ExtractiveSummaryAction(max_sentence_count=4)
],
)
document_results = poller.result()
for result in document_results:
extract_summary_result = result[0] # first document, first result
if extract_summary_result.is_error:
print("...Is an error with code '{}' and message '{}'".format(
extract_summary_result.code, extract_summary_result.message
))
else:
print("Summary extracted: \n{}".format(
" ".join([sentence.text for sentence in extract_summary_result.sentences]))
)
sample_extractive_summarization(client)
Azure 샘플에서 확인할 수 있는 코드와 차이점은
ExtractiveSummaryAction을 사용한다는 점인데
ExtractSummaryAction은 사용이 불가하여 변경하였고 문제없이 작동하였습니다.
그리고 요약할 문서는 List 형태로 제공되어야 합니다.
def text_summary(text, client) :
poller = client.begin_analyze_actions(
[text],
actions = [
ExtractiveSummaryAction(max_sentence_count = 4)
]
)
text_results = poller.result()
for result in text_results :
extract_summary_result = reulst[0]
return extract_summary_result.sentences[0].text
추가적으로 필요한 내용은 아래 링크를 참고하시면 됩니다.
'Azure' 카테고리의 다른 글
[Azure] Language Translator로 번역하기 (Python) (0) | 2023.07.15 |
---|
Comments