텍스트 요약¶
sumy¶
In [1]:
!pip install sumy
Collecting sumy Downloading sumy-0.11.0-py2.py3-none-any.whl.metadata (7.5 kB) Collecting docopt<0.7,>=0.6.1 (from sumy) Downloading docopt-0.6.2.tar.gz (25 kB) Preparing metadata (setup.py) ... done Collecting breadability>=0.1.20 (from sumy) Downloading breadability-0.1.20.tar.gz (32 kB) Preparing metadata (setup.py) ... done Requirement already satisfied: requests>=2.7.0 in /usr/local/lib/python3.11/dist-packages (from sumy) (2.32.3) Collecting pycountry>=18.2.23 (from sumy) Downloading pycountry-24.6.1-py3-none-any.whl.metadata (12 kB) Requirement already satisfied: nltk>=3.0.2 in /usr/local/lib/python3.11/dist-packages (from sumy) (3.9.1) Requirement already satisfied: chardet in /usr/local/lib/python3.11/dist-packages (from breadability>=0.1.20->sumy) (5.2.0) Requirement already satisfied: lxml>=2.0 in /usr/local/lib/python3.11/dist-packages (from breadability>=0.1.20->sumy) (5.4.0) Requirement already satisfied: click in /usr/local/lib/python3.11/dist-packages (from nltk>=3.0.2->sumy) (8.2.1) Requirement already satisfied: joblib in /usr/local/lib/python3.11/dist-packages (from nltk>=3.0.2->sumy) (1.5.1) Requirement already satisfied: regex>=2021.8.3 in /usr/local/lib/python3.11/dist-packages (from nltk>=3.0.2->sumy) (2024.11.6) Requirement already satisfied: tqdm in /usr/local/lib/python3.11/dist-packages (from nltk>=3.0.2->sumy) (4.67.1) Requirement already satisfied: charset-normalizer<4,>=2 in /usr/local/lib/python3.11/dist-packages (from requests>=2.7.0->sumy) (3.4.2) Requirement already satisfied: idna<4,>=2.5 in /usr/local/lib/python3.11/dist-packages (from requests>=2.7.0->sumy) (3.10) Requirement already satisfied: urllib3<3,>=1.21.1 in /usr/local/lib/python3.11/dist-packages (from requests>=2.7.0->sumy) (2.4.0) Requirement already satisfied: certifi>=2017.4.17 in /usr/local/lib/python3.11/dist-packages (from requests>=2.7.0->sumy) (2025.6.15) Downloading sumy-0.11.0-py2.py3-none-any.whl (97 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 97.3/97.3 kB 4.7 MB/s eta 0:00:00 Downloading pycountry-24.6.1-py3-none-any.whl (6.3 MB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 6.3/6.3 MB 43.7 MB/s eta 0:00:00 Building wheels for collected packages: breadability, docopt Building wheel for breadability (setup.py) ... done Created wheel for breadability: filename=breadability-0.1.20-py2.py3-none-any.whl size=21693 sha256=a0f3e5d1983993c34c1a4503e2309d6fbd69ed895b84d0bb519c6456189c05b3 Stored in directory: /root/.cache/pip/wheels/4d/57/58/7e3d7fedf51fe248b7fcee3df6945ae28638e22cddf01eb92b Building wheel for docopt (setup.py) ... done Created wheel for docopt: filename=docopt-0.6.2-py2.py3-none-any.whl size=13706 sha256=95bae5c5efdf15f654d372f896b161b806bb76df87f55721d2690dfbabd3b4ed Stored in directory: /root/.cache/pip/wheels/1a/b0/8c/4b75c4116c31f83c8f9f047231251e13cc74481cca4a78a9ce Successfully built breadability docopt Installing collected packages: docopt, pycountry, breadability, sumy Successfully installed breadability-0.1.20 docopt-0.6.2 pycountry-24.6.1 sumy-0.11.0
In [2]:
!pip install konlpy
Collecting konlpy Downloading konlpy-0.6.0-py2.py3-none-any.whl.metadata (1.9 kB) Collecting JPype1>=0.7.0 (from konlpy) Downloading jpype1-1.5.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (4.9 kB) Requirement already satisfied: lxml>=4.1.0 in /usr/local/lib/python3.11/dist-packages (from konlpy) (5.4.0) Requirement already satisfied: numpy>=1.6 in /usr/local/lib/python3.11/dist-packages (from konlpy) (2.0.2) Requirement already satisfied: packaging in /usr/local/lib/python3.11/dist-packages (from JPype1>=0.7.0->konlpy) (24.2) Downloading konlpy-0.6.0-py2.py3-none-any.whl (19.4 MB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 19.4/19.4 MB 44.5 MB/s eta 0:00:00 Downloading jpype1-1.5.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (494 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 494.1/494.1 kB 26.8 MB/s eta 0:00:00 Installing collected packages: JPype1, konlpy Successfully installed JPype1-1.5.2 konlpy-0.6.0
In [3]:
from sumy.parsers.plaintext import PlaintextParser
from sumy.nlp.tokenizers import Tokenizer
from sumy.summarizers.lsa import LsaSummarizer
# 파일 경로 설정
file_paths = [
"01_다른경쟁사와간단비교.txt",
"02_기업리서치관련정리.txt",
"03_생성AI분석.txt"
]
# 파일 내용을 하나로 결합
combined_text = ""
for file_path in file_paths:
with open(file_path, 'r', encoding='utf-8') as file:
combined_text += file.read() + "\n"
# 결합된 텍스트를 이용해 요약 수행
parser = PlaintextParser.from_string(combined_text, Tokenizer("korean"))
summarizer = LsaSummarizer()
# 요약된 문장을 추출 (예: 5개의 문장으로 요약)
summary = summarizer(parser.document, sentences_count=5)
# 요약된 결과 출력
print("요약 결과:")
for sentence in summary:
print(sentence)
요약 결과: 공작기계 전문 기업으로 특화된 제품 라인업 중소형 사업장 대 상의 맞춤 형 솔루션 제공 신속한 고객 대응 및 서비스 체계 약점: 중소기업 특성상 고객 맞춤 형 솔루션 제공 능력 신속한 의사결정과 대응 체계 공작기계 분야에 집중하며 전문성 확보 약점: 상대적으로 작은 기업 규모와 낮은 브랜드 인지도 대규모 프로젝트 수주 및 글로벌 진출 역량 부족 연구개발 투자 및 기술 경쟁력 측면에서 열위 공작기계 전문 기업으로 기술 역량이 뛰어 남 중소기업 특성상 고객 맞춤 형 솔루션 제공 능력이 높음 신 속한 의사결정과 대응이 가능한 조직 구조 약점: 상대적으로 작은 기업 규모와 낮은 브랜드 인지도 대규모 프로젝트 수주 및 글로벌 진출 역량 부족 공작기계 제조에 특화된 핵심 기술력과 노하우를 보유하고 있음. 다양한 공작기계 제품군을 갖추고 있어 고객 맞춤 형 솔루션 제공이 가능함. 중소 제조업체 대응 능력 종합적으로, 화천 기공은 공작기계 분야에 집중한 전문 성과 고객 맞춤 형 서비스에서 강점을 보이지만, 기업 규모의 한계와 브랜드 인지도 부족으로 인해 글로벌 시장에서의 경쟁력은 상대적으로 약할 수 있습니다.
In [3]: