μƒν™œ 속 NLP - μ˜€μ „ 편
πŸŒ„

μƒν™œ 속 NLP - μ˜€μ „ 편

Created
Jul 30, 2022
Editor
cleanUrl: 'articles/2'
Β 
21μ„ΈκΈ° λŒ€ν•œλ―Όκ΅­μ˜ λŒ€ν•™μƒ 이λ”₯λ‹€μ˜ λ°©μ—μ„œλŠ” 벌써 μ„Έ 번째 μ•ŒλžŒμ΄ 울리고 μžˆμŠ΅λ‹ˆλ‹€. μ•ŒλžŒμ΄ ν•œμ°Έμ„ 울리던 끝에 λ”₯λ‹€λŠ” 미동도 μ•Šμ€ μ±„λ‘œ β€œμ‹œλ¦¬μ•Ό, μ•ŒλžŒ κΊΌμ€˜β€λΌκ³  λ§ν•©λ‹ˆλ‹€. μ‹œλ¦¬μ˜ 닡을 λ“€μœΌλ©° 힘겹게 λͺΈμ„ μΌμœΌν‚¨ λ”₯λ‹€λŠ” λΆ€μ—ŒμœΌλ‘œ κ±Έμ–΄κ°€ 물을 ν•œ μž” λ§ˆμ‹  λ’€, 식탁 μœ„μ— 있던 ν•Έλ“œν°μœΌλ‘œ μ–΄μ œ 올라온 λ‰΄μŠ€κ°€ μš”μ•½λœ 메일을 읽기 μ‹œμž‘ν•΄μš”. 주식 λ‰΄μŠ€ μ„œλΉ„μŠ€μ—μ„œ μΆ”μ²œν•΄μ£ΌλŠ” 주식을 ν™•μΈν•˜λ©°, λ”₯λ‹€λŠ” κ°‘λΆ€κ°€ λ˜λŠ” 상상을 그렀보곀 μ‹€μ‹œκ°„ κ°•μ˜λ₯Ό λ“£κΈ° μ‹œμž‘ν•΄μš”.
이어 μ•„μΉ¨ κ²Έ 점심을 κ°„λ‹¨ν•˜κ²Œ ν•΄μΉ˜μš΄ λ”₯λ‹€λŠ” μ–΄μ œ 미처 λ§ˆλ¬΄λ¦¬ν•˜μ§€ λͺ»ν•œ 레포트 과제λ₯Ό μ‹œμž‘ν•©λ‹ˆλ‹€. 자료λ₯Ό μ°ΎκΈ° μœ„ν•΄ κ²€μƒ‰ν•œ μ˜μ–΄κΆŒ μ‚¬μ΄νŠΈμ˜ 글을 ν•œκΈ€λ‘œ λ²ˆμ—­ν•΄ 정보λ₯Ό μ–»κ³ , ν˜Ήμ‹œλΌλ„ λ§žμΆ€λ²•μ΄ ν‹€λ¦΄κΉŒ μ‹Άμ–΄ λ§žμΆ€λ²• 검사도 λŒλ €λ΄…λ‹ˆλ‹€. κ½€ 였랜 μ‹œκ°„μ„ 맀달렀 끝낸 λ ˆν¬νŠΈλŠ” ν‘œμ ˆλ₯  검사 μ‚¬μ΄νŠΈμ— 올렀 ν‘œμ ˆλ₯ μ„ 확인해보고 λ©”μΌλ‘œ μ œμΆœν•©λ‹ˆλ‹€. 과제λ₯Ό 끝낸 λ”₯λ‹€λŠ” ν•œ μ–΄ν”Œμ— λ“€μ–΄κ°€ μ˜ν™” μ·¨ν–₯을 κ²€μƒ‰ν•œ λ’€ μΆ”μ²œμ„ λ°›κ³  μžμ‹ μ˜ μ·¨ν–₯을 μ €κ²©ν•œ μ˜ν™”λ₯Ό ν‹‰λ‹ˆλ‹€. μ—”λ”© ν¬λ ˆλ”§κΉŒμ§€ 보고 λ‚˜μ„œμ•Ό λ‹Ήμž₯ 내일 μžˆμ„ AI λ©΄μ ‘ ν›„κΈ°λ₯Ό 찾아보며 μ€€λΉ„ν•˜κ³ , λ”₯λ‹€λŠ” λŠ¦μ€ 저녁이 λ˜μ–΄μ„œμ•Ό μΉ¨λŒ€μ— λˆ•μŠ΅λ‹ˆλ‹€.
Β 

λ”₯λ‹€μ˜ ν•˜λ£¨, μ–΄λ–»κ²Œ λ³΄μ…¨λ‚˜μš”?
짧게 읽어본 λ”₯λ‹€μ˜ μƒν™œ μ†μ—λŠ” 우리의 삢을 νŽΈλ¦¬ν•˜κ²Œ λ§Œλ“€μ–΄μ€€ 곡톡적인 기술이 μˆ¨μ–΄ μžˆμŠ΅λ‹ˆλ‹€. λ°”λ‘œ μžμ—°μ–΄μ²˜λ¦¬(NLP, Natural Language Processing)μΈλ°μš”. λ”₯λ‹€κ°€ μ‚¬μš©ν•œ μ‹œλ¦¬λΆ€ν„° λ‰΄μŠ€ μš”μ•½ 메일, 레포트 과제λ₯Ό ν•˜κΈ° μœ„ν•΄ μ‚¬μš©ν•œ μ‚¬μ΄νŠΈμ™€ κΈ°λŠ₯λ“€, μ˜ν™” μ·¨ν–₯ 검색 μ–΄ν”Œ, ai λ©΄μ ‘ λ“± 이 λͺ¨λ“  것을 κ°€λŠ₯ν•˜κ²Œ λ§Œλ“œλŠ” 기초적인 기술이라고 ν•  수 μžˆμŠ΅λ‹ˆλ‹€. μ§€κΈˆλΆ€ν„° 두 νŽΈμ— 걸쳐, 각 μ„œλΉ„μŠ€μ— 적용된 μžμ—°μ–΄μ²˜λ¦¬ κΈ°μˆ μ„ 확인해보고 μ–΄λ–€ νŠΉμ§•μ„ κ°€μ§€κ³  μžˆλŠ”μ§€ μ•Œμ•„λ³Όκ²Œμš”.
Β 
Β 

μŒμ„± μ–΄μ‹œμŠ€ν„΄νŠΈVoice assistant

notion image
λ”₯λ‹€κ°€ μ•ŒλžŒμ„ 끄기 μœ„ν•΄ λΆˆλ €λ˜ β€˜μ‹œλ¦¬β€™λŠ” μ• ν”Œ μ‚¬μ˜ 인곡지λŠ₯ 개인 λΉ„μ„œ μ„œλΉ„μŠ€μž…λ‹ˆλ‹€. 직접 μ†κ°€λ½μœΌλ‘œ 화면을 ν„°μΉ˜ν•΄ νŠΉμ • μ–΄ν”Œμ„ ν΄λ¦­ν•˜μ§€ μ•Šκ³ λ„ μ‹œλ¦¬λ₯Ό 뢈러 μŒμ„±μœΌλ‘œ μ§€μ‹œν•˜λ©΄ μ‹œλ¦¬κ°€ λŒ€μ‹  μ „ν™”λ₯Ό κ±Έκ±°λ‚˜ 문자λ₯Ό 보내주고, κ³§λ°”λ‘œ μ•ŒλžŒμ„ μ„€μ •ν•˜κ±°λ‚˜ μŒμ•…μ„ μ‹€ν–‰ν•  수 μžˆμŠ΅λ‹ˆλ‹€. μ‹¬μ§€μ–΄λŠ” 날씨 λ˜λŠ” ν™˜μœ¨ λ“± κΆκΈˆν•œ 것듀을 μ‹œλ¦¬μ—κ²Œ 물어보면 μ¦‰μ‹œ 닡을 μ•Œλ €μ€„ μˆ˜λ„ 있죠.
Β 
μ‹œλ¦¬μ™€ μœ μ‚¬ν•œ μ„œλΉ„μŠ€μ—λŠ” μ‚Όμ„±μ˜ λΉ…μŠ€λΉ„, κ΅¬κΈ€μ˜ ꡬ글 μ–΄μ‹œμŠ€ν„΄νŠΈ, μ•„λ§ˆμ‘΄μ˜ μ•Œλ ‰μ‚¬ 등이 μžˆλŠ”λ°μš”. 이 μ„œλΉ„μŠ€λ“€μ„ 총칭해 μŒμ„± 인식 λΉ„μ„œ, μŒμ„± μ–΄μ‹œμŠ€ν„΄νŠΈλΌκ³  이야기할 수 μžˆμ–΄μš”. μŒμ„± μ–΄μ‹œμŠ€ν„΄νŠΈ 기술의 핡심 κΈ°λŠ₯은 컴퓨터가 μ‚¬μš©μžμ˜ λ°œν™”μ— λ‚΄μž¬λœ μ˜λ„λ₯Ό νŒŒμ•…ν•˜κ³  μ˜λ„μ— κ±Έλ§žμ€ 업무λ₯Ό λŒ€μ‹  μˆ˜ν–‰ν•  수 μžˆλ„λ‘ ν•˜λŠ” 것이라고 ν•  수 μžˆμŠ΅λ‹ˆλ‹€.
Β 
Β 

μŒμ„± μ–΄μ‹œμŠ€ν„΄νŠΈμ˜ μ›λ¦¬λŠ”?

Β 
μŒμ„± μ–΄μ‹œμŠ€ν„΄νŠΈκ°€ μž‘λ™λ˜κΈ° μœ„ν•΄μ„œλŠ” μ‚¬μš©μžμ˜ μŒμ„±μ΄ λ“€μ–΄μ˜€λ©΄ 이λ₯Ό μΈμ‹ν•˜κ³  / μΈμ‹ν•œ μŒμ„±μ„ ν…μŠ€νŠΈλ‘œ λ³€ν™˜ν•΄ μ˜λ„μ— 맞게 데이터λ₯Ό μ²˜λ¦¬ν•œ λ’€ / μ‚¬μš©μžμ—κ²Œ μ œκ³΅ν•  정보에 λŒ€ν•œ ν…μŠ€νŠΈλ₯Ό μ˜€λ””μ˜€λ‘œ λ³€ν™˜ν•˜λŠ” 과정을 거쳐야 ν•΄μš”. μ§€κΈˆλΆ€ν„° 쑰금 더 ꡬ체적으둜 μ•Œμ•„λ³Όκ²Œμš”.
Β 
1. μŒμ„± μž…λ ₯ 및 인식
μŒμ„± μ–΄μ‹œμŠ€ν„΄νŠΈ μ„œλΉ„μŠ€λŠ” μ‚¬μš©μžμ˜ ν˜ΈμΆœμ–΄Invoke keywordλ₯Ό μΈμ‹ν•˜λŠ” 것뢀터 μ‹œμž‘ν•©λ‹ˆλ‹€. β€œμ‹œλ¦¬μ•Όβ€, β€œν•˜μ΄ λΉ…μŠ€λΉ„β€ λ“±κ³Ό 같은 ν˜ΈμΆœμ–΄λ‘œ μŒμ„± μ–΄μ‹œμŠ€ν„΄νŠΈκ°€ μ‹€ν–‰λ˜λ©΄, 이후에 μž…λ ₯λ˜λŠ” μ‚¬μš©μžμ˜ μŒμ„±μ„ 인식해 본격적인 ν”„λ‘œκ·Έλž¨μ΄ μ‹œμž‘λ˜λŠ” κ±°μ£ . μ΄λ•Œ μ‚¬μš©μžκ°€ μ„œλΉ„μŠ€λ₯Ό μ‚¬μš©ν•  λ•Œ μ·¨ν•˜λŠ” λŒ€ν™”λŠ” μ‹ λ³€μž‘κΈ° λŒ€ν™”, μ§ˆμ˜μ‘λ‹΅ λŒ€ν™”, λͺ©μ μ§€ν–₯ λŒ€ν™”λ‘œ ꡬ뢄해볼 수 μžˆμ–΄μš”.
notion image
ν˜ΈμΆœμ–΄λ₯Ό λΉ„λ‘―ν•œ μ‚¬μš©μžμ˜ μŒμ„±μ€ STT(Speech-to-Text) 기술둜 인식할 수 μžˆμŠ΅λ‹ˆλ‹€. STTλŠ” μ‚¬λžŒμ˜ μŒμ„± μ–Έμ–΄λ₯Ό 컴퓨터가 해석해 ν…μŠ€νŠΈ λ°μ΄ν„°λ‘œ μ „ν™˜ν•΄ μ£ΌλŠ” κΈ°μˆ μ΄μ—μš”. STT 기술의 기본적인 κ΅¬μ‘°λŠ” λ‹€μŒκ³Ό 같이 κ·Έλ €λ³Ό 수 μžˆμ–΄μš”.
notion image
μš°μ„ , μž…λ ₯된 μŒμ„± λ°μ΄ν„°μ—μ„œ ν•„μš”ν•œ λ°μ΄ν„°λ§Œμ„ μ·¨ν•˜κΈ° μœ„ν•΄ μž‘μŒμ„ μ²˜λ¦¬ν•˜κ³  μŒμ„± νŠΉμ§•μ„ μΆ”μΆœν•©λ‹ˆλ‹€. μ „μ²˜λ¦¬ 과정이라고도 ν•  수 μžˆμ–΄μš”. μž‘μŒμ„ μ²˜λ¦¬ν•˜κΈ° μœ„ν•œ 방법 μ€‘μ—λŠ” μ£Όλ³€ μ†ŒμŒμ˜ μ—­ μœ„μƒμ„ κ°–λŠ” 음파λ₯Ό λ°œμƒμ‹œμΌœ μ†ŒμŒμ΄ μƒμ‡„λ˜λ„λ‘ ν•˜λŠ” κΈ°μ‘΄ λ…Έμ΄μ¦ˆ 제거 κΈ°μˆ λ„ 있고, λ”₯λŸ¬λ‹μ„ ν™œμš©ν•΄ μž‘μŒμ„ ν•„ν„°λ§ν•˜λŠ” κΈ°μˆ λ„ μžˆμŠ΅λ‹ˆλ‹€. μž‘μŒμ„ μ œκ±°ν•˜λŠ” λ”₯λŸ¬λ‹κ³Ό 더 κΉ¨λ—ν•œ μŒμ„± 데이터λ₯Ό νŒλ‹¨ν•˜λŠ” λ”₯λŸ¬λ‹ 두 κ°€μ§€λ₯Ό μ‚¬μš©ν•΄, 두 λ”₯λŸ¬λ‹μ΄ νŒλ‹¨μ„ λ°˜λ³΅ν•˜λŠ” 과정을 거쳐 μ›μŒμ— κ°€κΉŒμš΄ κΉ¨λ—ν•œ μŒμ§ˆμ„ μΆ”μΆœν•˜λŠ” 방식을 μ‚¬μš©ν•˜κΈ°λ„ ν•΄μš”.
Β 
λ‹€μŒμ€ μΆ”μΆœν•œ 데이터λ₯Ό ν…μŠ€νŠΈν™”ν•˜λŠ” κ³Όμ •μž…λ‹ˆλ‹€. 이 κ³Όμ •μ—μ„œ μ‚¬μš©ν•˜λŠ” μ•Œκ³ λ¦¬μ¦˜μ€ 디코더(Decoder)라고 ν•˜κ³ , λ””μ½”λ”© 단계라 μΉ­ν•˜κΈ°λ„ ν•΄μš”. 기쑴에 κ΅¬μΆ•ν•œ μŒμ„± λͺ¨λΈκ³Ό μ–΄νœ˜/발음 사전을 λ°”νƒ•μœΌλ‘œ μΆ”μΆœν•œ μŒμ„± 데이터λ₯Ό ν…μŠ€νŠΈ μ •λ³΄λ‘œ λ³€ν™˜ν•˜λŠ” 과정이라 ν•  수 μžˆμ–΄μš”. μ΄λ•Œ μŒμ„± λͺ¨λΈμ€ 음ν–₯λͺ¨λΈ(Acoustic Model, AM)κ³Ό μ–Έμ–΄λͺ¨λΈ(Language Model, LM)둜 κ΅¬μ„±λ˜μ–΄ μžˆμ–΄μš”. 음ν–₯ λͺ¨λΈμ€ μŒμ„± λ°μ΄ν„°μ—μ„œ λ‚˜νƒ€λ‚˜λŠ” 음ν–₯적 νŠΉμ„±μ„ λͺ¨λΈλ§ν•΄ ν•™μŠ΅ν•œ λͺ¨λΈ, μ–Έμ–΄ λͺ¨λΈμ€ λ¬Έμž₯의 μ–΄νœ˜, λ¬Έμž₯ ꡬ쑰와 같은 문법적 νŠΉμ„±μ„ ν•™μŠ΅ν•œ λͺ¨λΈμ„ μ˜λ―Έν•©λ‹ˆλ‹€. 음ν–₯ λͺ¨λΈλ‘œλŠ” ν™”μžλ₯Ό μ‹λ³„ν•˜κ±°λ‚˜ 성별 등을 인식할 수 μžˆμ–΄μš”.
Β 
notion image
Β 
그리고 μ‚¬μš©μžμ˜ ꡭ적, μ–΅μ–‘, μ–΄νˆ¬, μΆ”μž„μƒˆ, 언어적 μŠ΅κ΄€μ„ λΉ„λ‘―ν•œ λ°©μ–Έ 등을 κ³ λ €ν–ˆμ„ λ•Œ, μŒμ„± λ°μ΄ν„°λ‘œλΆ€ν„° μ‚¬μš©μžμ˜ ν™•μ‹€ν•œ μ˜λ„λ₯Ό μ°ΎκΈ° μœ„ν•΄μ„œλŠ” 음ν–₯ λͺ¨λΈκ³Ό μ–Έμ–΄ λͺ¨λΈμ„ ν™œμš©ν•˜λŠ” 것이 효과적이겠죠? μ•„λ‹ˆ 근데 μ†”μ§νžˆ μ§„μ§œ λ°œν™”μ— λ‹΄κΈ΄ ν•„μˆ˜μ μΈ ν‘œν˜„μ„ κ΅¬λΆ„ν•΄λ‚΄λŠ” 과정은 ν•„μš”ν•  ν…Œλ‹ˆκΉŒμš”!
Β 
졜근 μ—°κ΅¬λ˜κ³  μžˆλŠ” μžλ£Œμ— λ”°λ₯΄λ©΄ STT의 λ§ˆμ§€λ§‰ λ‹¨κ³„μ—μ„œ ν›„μ²˜λ¦¬λ₯Ό μ§„ν–‰ν•˜κΈ°λ„ ν•΄μš”. ν›„μ²˜λ¦¬μ—λŠ” 띄어쓰기 였λ₯˜ 보정, 철자 였λ₯˜ 보정, μŒμ„±μΈμ‹ κ²°κ³Ό μž¬μˆœμœ„ν™”κ°€ ν¬ν•¨λ©λ‹ˆλ‹€.
Β 
띄어쓰기 였λ₯˜ 보정은 λͺ¨λ“  띄어쓰기λ₯Ό μ‚­μ œν•œ λ’€ κΈ°κ³„ν•™μŠ΅ λͺ¨λΈλ‘œ 띄어쓰기λ₯Ό ν•  μœ„μΉ˜λ₯Ό κ²°μ •ν•˜λŠ” 방법을 μ˜λ―Έν•΄μš”.
μ •λ³΄κ³Όν•™νšŒμ§€ 35(8), 2017.8, 9-18(10 pages)
Communications of the Korean Institute of Information Scientists and Engineers 35(8), 2017.8, 9-18(10 pages)
μ •λ³΄κ³Όν•™νšŒμ§€ 35(8), 2017.8, 9-18(10 pages) Communications of the Korean Institute of Information Scientists and Engineers 35(8), 2017.8, 9-18(10 pages)
Β 
철자였λ₯˜ 보정은 사전과 톡계 정보λ₯Ό 주둜 μ΄μš©ν•©λ‹ˆλ‹€. 사전을 μ΄μš©ν•˜λŠ” 경우, λͺ¨λ“  λ¬Έμž₯의 각 단어λ₯Ό μ‚¬μ „μ—μ„œ κ²€μƒ‰ν•˜κ³  κ²€μƒ‰λ˜μ§€ μ•Šμ€ 단어λ₯Ό 철자 였λ₯˜λ‘œ κ°€μ •ν•΄μš”. 메타폰 μ•Œκ³ λ¦¬μ¦˜ 등을 μ‚¬μš©ν•΄ κ·Έ 단어와 κ°€κΉŒμš΄ λ‹¨μ–΄λ‘œ λŒ€μ²΄ν•˜λŠ” 방법이 κ³§ 사전을 ν†΅ν•œ 철자였λ₯˜ λ³΄μ •μ΄μ—μš”. 톡계 μ •λ³΄μ˜ 경우, λ‹¨μ–΄μ—μ„œ νŠΉμ • 음절 λ˜λŠ” μ•ŒνŒŒλ²³μ΄ μ‚­μ œλ˜κ±°λ‚˜ λŒ€μ²΄λ  ν™•λ₯ μ„ λ°”νƒ•μœΌλ‘œ μ‚¬μš©μžκ°€ μ˜λ„ν•œ 단어λ₯Ό κ³„μ‚°ν•˜λŠ” 보정이라고 λ³Ό 수 μžˆμ–΄μš”.
μ •λ³΄κ³Όν•™νšŒμ§€ 35(8), 2017.8, 9-18(10 pages)
Communications of the Korean Institute of Information Scientists and Engineers 35(8), 2017.8, 9-18(10 pages)
μ •λ³΄κ³Όν•™νšŒμ§€ 35(8), 2017.8, 9-18(10 pages) Communications of the Korean Institute of Information Scientists and Engineers 35(8), 2017.8, 9-18(10 pages)
Β 
μŒμ„±μΈμ‹ κ²°κ³Ό μž¬μˆœμœ„ν™” λͺ¨λΈμ€ μŒμ„±μΈμ‹ κ²°κ³Ό λ„μΆœλœ ν˜•νƒœμ†Œμ—΄μ˜ 후보ꡰ을 두고, μ˜³μ€ ν˜•νƒœμ†Œμ—΄μ„ λ§Œλ“œλŠ” μ΅œμ’… λ¬Έμž₯을 κ΅¬μ„±ν•˜λŠ” λͺ¨λΈμ΄μ—μš”.
μ •λ³΄κ³Όν•™νšŒμ§€ 35(8), 2017.8, 9-18(10 pages)
Communications of the Korean Institute of Information Scientists and Engineers 35(8), 2017.8, 9-18(10 pages)
μ •λ³΄κ³Όν•™νšŒμ§€ 35(8), 2017.8, 9-18(10 pages) Communications of the Korean Institute of Information Scientists and Engineers 35(8), 2017.8, 9-18(10 pages)
Β 
Β 
2. μžμ—°μ–΄ 이해와 μžμ—°μ–΄ 생성
STTλ₯Ό 거쳐 ν…μŠ€νŠΈ 데이터λ₯Ό μˆ˜μ§‘ν•œ λ’€μ—λŠ” ν…μŠ€νŠΈμ— μˆ¨μ€ μ˜λ„intent와 개체entityλ₯Ό μΆ”μΆœν•΄μ•Ό ν•΄μš”. 즉, μŒμ„± λ°μ΄ν„°μ—μ„œ μΆ”μΆœν•΄ μ „ν™˜ν•œ ν…μŠ€νŠΈ 데이터 쀑에 μ‚¬μš©μžκ°€ μ›ν•˜λŠ” λ°”λ₯Ό 담은 ν‘œν˜„μ΄ μ–΄λ–€ 것인지λ₯Ό νŒŒμ•…ν•˜λŠ” 과정을 거쳐야 ν•˜λŠ” κ±°μ£ .
Β 
μ—¬κΈ°μ„œ μ‚¬μš©μžμ˜ μ˜λ„λŠ” λŒ€ν™”μ˜ 성격에 따라 λ‹€λ₯΄κ²Œ μ„€μ •λ˜μ–΄ μžˆμ„ κ±°μ˜ˆμš”. λ‹΄ν™”λ₯Ό μ›ν•˜λŠ”μ§€, μ§ˆμ˜μ‘λ‹΅μ„ μ›ν•˜λŠ”μ§€, λ˜λŠ” λͺ©μ μ§€ν–₯ λŒ€ν™”λ₯Ό μ›ν•˜λŠ”μ§€μ— λ”°λΌμ„œμš”! 이λ₯Ό νŒŒμ•…ν•˜λŠ” 과정이 κ³§ μžμ—°μ–΄ 이해(National Language Understanding, NLU)이고, μˆ˜μ§‘ν•œ 정보λ₯Ό ν™œμš©ν•˜λŠ” λŒ€ν™”κ΄€λ¦¬, κ·Έ κ²°κ³Όλ₯Ό λ°”νƒ•μœΌλ‘œ μ‚¬μš©μžμ—κ²Œ 전달할 응닡을 μžμ—°μ–΄ ν…μŠ€νŠΈλ‘œ λ§Œλ“€μ–΄μ£ΌλŠ” 것이 μžμ—°μ–΄ 생성(National Language Generation, NLG)에 ν•΄λ‹Ήν•΄μš”.
μš°μ„  μ‚¬μš©μžμ˜ μ˜λ„λ₯Ό νŒŒμ•…ν•˜λŠ” 과정은 λ‹΄ν™” 뢄석, μ–΄λ–€ 응닡을 생성할지λ₯Ό κ²°μ •ν•˜λŠ” 과정은 λŒ€ν™” λͺ¨λΈλ§μ΄λΌκ³  μ •μ˜ν•΄μš”. μ΄λ•Œ λŒ€ν™” λͺ¨λΈμ€ μ˜μ—­ 지식 λͺ¨λΈκ³Ό λ‹΄ν™” λͺ¨λΈλ‘œ κ΅¬λΆ„λ˜λŠ”λ°, μ „μžλŠ” 응닡을 μƒμ„±ν•˜κΈ° μœ„ν•΄ μ°Έμ‘°ν•  수 μžˆλŠ” 지식을 κ΄€λ¦¬ν•˜λŠ” λͺ¨λΈ, ν›„μžλŠ” λŒ€ν™” 흐름을 μ œμ–΄ν•˜λŠ” λͺ¨λΈμ΄μ—μš”. μΆ©λΆ„ν•œ λ§λ­‰μΉ˜λ‘œ ν•™μŠ΅λœ λͺ¨λΈμ„ ν™œμš©ν•΄, STT둜 얻은 ν…μŠ€νŠΈμ˜ 의미λ₯Ό νŒŒμ•…ν•˜κ³  이에 λŒ€ν•œ 응닡을 ꡬ성할 데이터λ₯Ό ν™•μ •ν•˜λŠ” κ±°μ£ .
Β 
응닡을 μƒμ„±ν•˜λŠ” μžμ—°μ–΄ 생성 λ‹¨κ³„μ—μ„œλŠ” μ΅œμ’…μ μœΌλ‘œ ν…μŠ€νŠΈ 닡변을 λ„μΆœν•΄μš”. 이 응닡은 μš°λ¦¬κ°€ μ‚¬μš©ν•˜λŠ” μžμ—°μ–΄ ν˜•νƒœλ‘œ κ΅¬μ„±λ˜μ–΄ 정보λ₯Ό μ›ν™œν•˜κ³  μ •ν™•ν•˜κ²Œ 전달할 수 μžˆλŠ” 것을 λͺ©μ μœΌλ‘œ ν•©λ‹ˆλ‹€. Stent et al이 μ œμ•ˆν•œ 바에 따라 μ μ ˆμ„±, μœ μ°½μ„±, 가독성, 닀양성을 λ§Œμ‘±ν•  수 μžˆλ„λ‘ 그리고 λ¬Έλ§₯, λ¬Έμž₯의 길이 등이 μ μ ˆν•  수 μžˆλ„λ‘ 쑰건에 맞좰 생성해낸닀면 이에 μ ν•©ν•œ 응닡은 μ‚¬μš©μžμ—κ²Œ μœ μš©ν•˜κ²Œ 전달될 κ±°μ˜ˆμš”.
Β 
Β 
3. 인식 κ²°κ³Ό μ˜€λ””μ˜€ λ³€ν™˜
μ‚¬μš©μžμ—κ²Œ 전달할 응닡 λ¬Έμž₯이 κ΅¬μ„±λ˜μ—ˆλ‹€λ©΄ μ΄μ œλŠ” μ‚¬λžŒμ˜ λͺ©μ†Œλ¦¬λ‘œ λ³€ν™˜ν•΄ 좜λ ₯ν•  λ‹¨κ³„μž…λ‹ˆλ‹€. μ΄λ²ˆμ—λŠ” ν…μŠ€νŠΈλ₯Ό μŒμ„±μœΌλ‘œ μ „ν™˜ν•˜λŠ” TTS(Text-to-Speech) κΈ°μˆ μ„ ν™œμš©ν•΄μ•Ό ν•΄μš”. μŒμ„± 합성이라고도 ν•˜λŠ” TTSλŠ”, λͺ¨λΈλ‘œ μ„ μ •ν•œ μ‚¬λžŒμ˜ λ§μ†Œλ¦¬λ₯Ό λ…ΉμŒν•œ λ’€ κ·Έ μŒμ›μ„ μΌμ •ν•œ μŒμ„± λ‹¨μœ„λ‘œ λΆ„ν• ν•΄ μž…λ ₯ν•˜κ³ , ν•„μš”ν•œ μŒμ„± λ‹¨μœ„λ₯Ό 합쳐 μΈμœ„λ‘œ λ°œν™”λ₯Ό λ§Œλ“€μ–΄λ‚΄λŠ” κΈ°μˆ μ„ λ§ν•΄μš”.
μžμ—°μ–΄ 생성 κ³Όμ •μœΌλ‘œ μ‚¬μš©μžμ—κ²Œ 전달할 응닡 λ¬Έμž₯이 κ΅¬μ„±λ˜λ©΄ λ¬Έμžμ—΄μ„ λ°œμŒμ—΄λ‘œ λ³€ν™˜ν•˜κ³ , μŒμ„±μ  νŠΉμ§•μ„ μƒμ„±ν•œ 뒀에 μ•žμ„œ μ΄μ•ΌκΈ°ν•œ ν•„μš”ν•œ μŒμ„± μ‹ ν˜Έλ₯Ό ν•©μ„±ν•˜λŠ” 단계λ₯Ό κ±°μΉ˜λŠ” κ±°μ£ .
[날씨] 였늘 κ°•μΆ”μœ„ 기승...λͺ¨λ ˆ μ•„μΉ¨κΉŒμ§€ 계속 [YTN]. (2022λ…„ 1μ›” 12일). Retrieved from https://news.naver.com/main/read.naver?mode=LSD&mid=sec&sid1=001&oid=052&aid=0001688747
[날씨] 였늘 κ°•μΆ”μœ„ 기승...λͺ¨λ ˆ μ•„μΉ¨κΉŒμ§€ 계속 [YTN]. (2022λ…„ 1μ›” 12일). Retrieved from https://news.naver.com/main/read.naver?mode=LSD&mid=sec&sid1=001&oid=052&aid=0001688747
Β 
TTS 기술이 λ°œλ‹¬ν•˜λ©΄μ„œ, μ΄μ œλŠ” μΈμœ„μ μœΌλ‘œ μŒμ„± λ‹¨μœ„λ₯Ό ν•©μ„±ν•˜μ§€ μ•Šκ³ λ„ End-to-End TTS λͺ¨λΈ 등을 μ‚¬μš©ν•΄ 이 단계λ₯Ό μˆ˜μ›”ν•˜κ²Œ μ§„ν–‰ν•  수 μžˆμ–΄μš”. ν…μŠ€νŠΈλ₯Ό μž…λ ₯ν•˜λ©΄ 이 과정에 λŒ€ν•œ 데이터λ₯Ό λͺ¨λΈμ΄ 슀슀둜 ν•™μŠ΅ν•˜κ²Œ μ„€μ •ν•΄ λ³„λ„λ‘œ λ¬Έμžμ—΄μ„ λ°œμŒμ—΄λ‘œ λ³€ν™˜ν•˜μ§€ μ•Šκ³ λ„ κ³§λ°”λ‘œ μŒμ„± λ°μ΄ν„°λ‘œ 좜λ ₯ν•  수 μžˆκ±°λ“ μš”!
Β 
페이슀뢁(ν˜„ Meta) AIμ—μ„œ λ°œν‘œν•œ β€˜μƒμ„±μ  ν™”μž μ–Έμ–΄ λͺ¨λΈ(Generative Spoken Language Model, GSLM)β€™μ—μ„œλŠ” μ›μ‹œ μ˜€λ””μ˜€ μžμ²΄μ—μ„œ μžμ—°μ–΄ μ²˜λ¦¬κ°€ μ§„ν–‰λΌμš”. κ΅¬μ–΄μ—μ„œ 자주 λ°˜λ³΅λ˜λŠ” μ†Œλ¦¬μ˜ κ°œλ³„ λ‹¨μœ„λ‘œ λ³€ν™˜ν•˜κ³ (인코더) μ–΄λ–»κ²Œ λ‹¨μœ„λ“€μ„ κ΅¬μ„±ν•˜κ³  뢄리해야 ν• μ§€ μ˜ˆμΈ‘ν•œ λ’€(μžλ™ νšŒκ·€), κ·Έ λ‹¨μœ„ 기반의 μ–Έμ–΄ λͺ¨λΈμ„ λ°”νƒ•μœΌλ‘œ λ‹¨μœ„λ₯Ό λ‹€μ‹œ μŒμ„±μœΌλ‘œ λ³€ν™˜ν•˜λŠ” κ³Όμ •(디코더)을 κ±°μ³μ„œ 말이죠.
Β 
Β 
Β 

Β 
이제 μš°λ¦¬λŠ” λ”₯λ‹€κ°€ 눈 뜨자마자 λΆˆλ €λ˜ β€˜μ‹œλ¦¬β€™κ°€ μ–΄λ–»κ²Œ μ•ŒλžŒμ„ λ„λŠ” 일을 μˆ˜ν–‰ν–ˆλŠ”μ§€ 이해할 수 μžˆμ–΄μš”. β€œμ‹œλ¦¬μ•Όβ€λΌλŠ” ν˜ΈμΆœμ–΄λ‘œ 싀행이 μ‹œμž‘λ˜κ³ , 이어 μ΄μ•ΌκΈ°ν•œ β€œμ•ŒλžŒ κΊΌμ€˜β€λΌλŠ” μŒμ„±μ„ STTλ₯Ό ν™œμš©ν•΄ ν…μŠ€νŠΈ λ°μ΄ν„°λ‘œ λ³€ν™˜ν•œ λ’€, ν…μŠ€νŠΈμ— λŒ€ν•œ 이해λ₯Ό λ°”νƒ•μœΌλ‘œ λ§Œλ“  응닡을 TTS둜 μŒμ„± λ°μ΄ν„°λ‘œ λ³€ν™˜ν•΄ 좜λ ₯ν•˜λŠ” 과정에 걸쳐 μ•ŒλžŒμ„ λ„λŠ” 일을 μˆ˜ν–‰ν–ˆλ˜ κ±°μ£ . μ•žμœΌλ‘œλ„ μŒμ„± 인식 κΈ°μˆ μ€ λ”₯λ‹€κ°€ κ·Έλž¬λ“―μ΄, μ›κ±°λ¦¬μ—μ„œλ„, 손 ν•˜λ‚˜ κΉŒλ”±ν•˜μ§€ μ•Šκ³ λ„, ꡉμž₯히 λΉ λ₯΄κ²Œ μš°λ¦¬κ°€ μ›ν•˜λŠ” 일을 ν•΄λ‚Ό 수 있게 λ§Œλ“€μ–΄μ€„ κ±°μ˜ˆμš”!
Β 
Β 
Β 
Β 
Β 

λ‰΄μŠ€ μš”μ•½ AI λͺ¨λΈ

Β 
μ΄λ ‡κ²Œ μ‹œλ¦¬μ™€ ν•¨κ»˜ 아침에 일어났닀면, λ”₯λ‹€μ²˜λŸΌ μž μžλŠ” λ™μ•ˆ μ–΄λ–€ 일듀이 λ°œμƒν–ˆλŠ”μ§€ μ•Œμ•„λ³Ό ν•„μš”κ°€ 있겠죠? 그러기 μœ„ν•΄μ„œλŠ” λ‰΄μŠ€ 기사λ₯Ό μ’€ 읽어야 할텐데... κΆκΈˆν•œ 것은 λ§Žμ§€λ§Œ 주식 μ‹œμž₯이 μ—΄λ¦¬κΈ°κΉŒμ§€ μ‹œκ°„μ΄ μ–Όλ§Œ 남지 μ•Šμ•˜μ„ λΏλ”λŸ¬ 학ꡐ μˆ˜μ—…κΉŒμ§€λ„ μ‹œκ°„μ΄ λ³„λ‘œ μ—†μ–΄ μˆ˜λ§Žμ€ 기사λ₯Ό μ •λ…ν•˜κΈ°μ—λŠ” μ‹œκ°„μ΄ 쑰금 λΉ λ“―ν•΄μš”.
κ·Έλ ‡λ‹€λ©΄ λ”₯λ‹€κ°€ κ·Έλž¬λ“― λ‰΄μŠ€ μš”μ•½ AI λͺ¨λΈμ„ ν™œμš©ν•˜λ©΄ λ˜κ² λ„€μš”! λ‰΄μŠ€ μš”μ•½ AI λͺ¨λΈλ“€μ€ λŒ€μ²΄λ‘œ λ‰΄μŠ€λ₯Ό 세쀄, ν˜Ήμ€ ν•œμ€„λ‘œ ν•„μš”ν•œ λΆ€λΆ„λ§Œ 쏙쏙 λ½‘μ•„μ„œ 맀우 κ°„κ²°ν•˜κ²Œ λ³΄μ—¬μ£ΌλŠ”λ°μš”, 쀌 인터넷과 μ—°ν•©λ‰΄μŠ€μ˜ λ‰΄μŠ€ μš”μ•½ AI λͺ¨λΈ, λ„€μ΄λ²„μ˜ CLOVA Summary, SKν…”λ ˆμ½€μ˜ KoBART 등을 예둜 λ“€ 수 μžˆμ–΄μš”. κ΅­λ‚΄ 주식을 μΆ”μ²œν•΄μ£ΌλŠ” μ„œλΉ„μŠ€λ„ ꡉμž₯히 λ§Žμ€λ°μš”, λ°”μ΄λΈŒμ»΄νΌλ‹ˆλŠ” SOFIAλΌλŠ” ν”Œλž«νΌμ„ 기반으둜 λ§žμΆ€ν˜•/κ΅¬λ…ν˜• μ„œλΉ„μŠ€λ₯Ό μ œκ³΅ν•˜κ³  있으며 νˆ¬λ””μ§€νŠΈμ—μ„œλŠ” λ‰΄μŠ€μƒλŸ¬λ“œλΌλŠ” 앱을 κ°œλ°œν•˜μ—¬ 상μž₯ 주식과 κ΄€λ ¨λœ λ‰΄μŠ€, 리포트 등을 μ œκ³΅ν•˜κ³  μžˆμ–΄μš”. 두 μ„œλΉ„μŠ€ λͺ¨λ‘ μ–΄λ–»κ²Œ κ΅¬μ„±λ˜κ³  λ§Œλ“€μ–΄μ‘ŒλŠ”μ§€ μ‚΄νŽ΄λ³΄λ„λ‘ ν•΄μš”.
Β 

SKν…”λ ˆμ½€μ˜ KoBARTλ₯Ό ν™œμš©ν•œ λ‰΄μŠ€ μš”μ•½

λ¨Όμ € λ‰΄μŠ€ μš”μ•½ AI λͺ¨λΈλ“€μ„ μ‚΄νŽ΄λ³Όν…λ°μš”, κ·Έ μ€‘μ—μ„œ κ°€μž₯ μ‚¬μš©μ΄ κ°„λ‹¨ν•΄μ„œ λˆ„κ΅¬λ“ μ§€ ν™œμš©ν•΄λ³Ό 수 μžˆλŠ” SKν…”λ ˆμ½€μ˜ KoBARTλ₯Ό μ˜ˆμ‹œλ‘œ 듀어보렀고 ν•©λ‹ˆλ‹€. ν˜„μž¬ SKν…”λ ˆμ½€μ€ KoBERT, GPT-2에 이어 μ„Έ 번째 μ–Έμ–΄μ²˜λ¦¬ λͺ¨λΈλ‘œ KoBARTλ₯Ό λ‚΄μ„Έμ› λŠ”λ°μš”, μžμ—°μ–΄μ²˜λ¦¬(NLP) λΆ„μ•Ό μ€‘μ—μ„œ μžμ—°μ–΄μ΄ν•΄(NLU) μ˜μ—­μ˜ 기술λ ₯을 μ¦κ°€μ‹œν‚¨ 것이라고 ν•©λ‹ˆλ‹€. SKν…”λ ˆμ½€μ˜ ν…Œν¬ T3K μ„Όν„°κ°€ μš΄μ˜ν•˜λŠ” GitHub 쀑 KoBART-summarization νŒŒνŠΈμ— λ“€μ–΄κ°€λ©΄ λ°”λ‘œ 기사 μš”μ•½ ν”„λ‘œκ·Έλž¨μ„ μ‚¬μš©ν•  수 μžˆμ–΄μš”.
미리 huggingface.co에 λ‚˜μ™€ μžˆλŠ” binaryλ₯Ό ν™œμš©ν•˜μ—¬ KoBARTλ₯Ό λΆˆλŸ¬λ“€μΈ λ’€, binaryλ₯Ό λ‹€μŒκ³Ό 같은 μ½”λ“œλ₯Ό μ‚¬μš©ν•΄μ„œ λ‹€μš΄λ°›μŠ΅λ‹ˆλ‹€. ν•΄λ‹Ή GitHubμ—μ„œλŠ” Dacon ν•œκ΅­μ–΄ λ¬Έμ„œ μƒμ„±μš”μ•½ AI κ²½μ§„λŒ€νšŒμ˜ ν•™μŠ΅ 데이터λ₯Ό ν™œμš©ν–ˆλ‹€κ³  ν•΄μš”. μ΅œκ·Όμ— SKTλŠ” ꡭ립ꡭ어원과 업무 ν˜‘μ•½μ„ μ²΄κ²°ν•˜μ—¬ κ΅­λ¦½κ΅­μ–΄μ›μ˜ μ–Έμ–΄ 정보, 청원 μ‚¬μ΄νŠΈμ—μ„œ λ‚ μ§œκ°€ μ§€λ‚œ 청원 λ‚΄μš©, λŒ€ν™” λ‚΄μš© λ“± 훨씬 더 λ§Žμ€ 데이터λ₯Ό ν™œμš©ν•˜κ³  μžˆμ–΄μš”. κ·Έ λ‹€μŒ 이 μ½”λ“œλ₯Ό 톡해 μ„Έλ°€ν•˜κ²Œ μš”μ•½λœ λ‚΄μš©μ„ μ‘°μ •ν•˜λŠ” 과정을 거쳐 Demoλ₯Ό μ‹€ν–‰ν•˜λ©΄ μ•žμœΌλ‘œλŠ” λ‰΄μŠ€ μš”μ•½μ„ κ°„λ‹¨ν•˜κ²Œ ν•  수 μžˆμ„κ±°μ—μš”. μ—¬κΈ°λ₯Ό λˆ„λ₯΄λ©΄ λ°”λ‘œ KoBART Summarization Model Test둜 λ„˜μ–΄κ°ˆ 수 μžˆμ–΄μš”. λ‹€μŒμ€ κ°€μž₯ 졜근의 기사λ₯Ό ν•΄λ‹Ή λͺ¨λΈμ„ ν†΅ν•΄μ„œ μš”μ•½ν•΄λ³Έ κ²°κ³Όμ—μš”. λ†€λžμ§€ μ•Šλ‚˜μš”?
Β 

notion image

Β 

Pororoλ₯Ό ν™œμš©ν•œ 주식 λ‰΄μŠ€ μš”μ•½

λ‹€μŒμœΌλ‘œλŠ” 넀이버 λ‰΄μŠ€μ™€, 카카였 λΈŒλ ˆμΈμ—μ„œ κ³΅κ°œν•œ 파이썬 라이브러리 Pororoλ₯Ό ν™œμš©ν•΄ 주식 λ‰΄μŠ€λ₯Ό μš”μ•½ν•˜λŠ” 방법을 μ•Œμ•„λ³΄κ³ μž ν•©λ‹ˆλ‹€. ν•΄λ‹Ή ν”„λ‘œκ·Έλž¨μ€ λ©”μΌλ§κΉŒμ§€ μ§€μ›ν•˜μ—¬ ꡬ글 계정과 μ—°λ™ν•œλ‹€λ©΄ μš”μ•½λœ 주식 λ‰΄μŠ€λ₯Ό λ©”μΌλ‘œ λ°›μ•„λ³Ό 수 μžˆλ‹€κ³ λ„ ν•˜λ„€μš”! λ¨Όμ € 넀이버 λ‰΄μŠ€μ—μ„œλŠ” β€˜κΈˆμœ΅β€™ νŒŒνŠΈμ—μ„œ 주식 λ‰΄μŠ€λ₯Ό 닀루고 μžˆμœΌλ―€λ‘œ ν•΄λ‹Ή λΆ€λΆ„μ—μ„œ 기사λ₯Ό ν¬λ‘€λ§ν•©λ‹ˆλ‹€. 이 과정을 주기적으둜 ν•œλ‹€λ©΄ 주기적으둜 주식 κ΄€λ ¨ λ‰΄μŠ€μ˜ 데이터가 μŒ“μž„κ³Ό λ™μ‹œμ— λ©”μΌλ‘œ 주식 λ³€ν™” λ‚΄μš©λ“€μ„ ν•œλˆˆμ— μ•Œμ•„λ³Ό 수 있겠죠? λ‹€μŒμ€ 크둀링 μ½”λ“œμ—μš”.
Β 
from bs4 import BeautifulSoup import requests import pandas as pd import re import os class news_crawler: def __init__(self): self.company_code_table = pd.read_csv('company_list.txt', dtype=str, sep='\t') def crawler(self, company_code, num_article): done_page_num=0 # page = 1 num_per_page=20 # naver serves 20 articles per page num_page,remainder=divmod(num_article,20) num_page+=1 article_result=[] for page in range(done_page_num+1, done_page_num+num_page+1): try: url = 'https://finance.naver.com/item/news_news.nhn?code=' + str(company_code) + '&page=' + str(page) source_code = requests.get(url).text html = BeautifulSoup(source_code, "lxml") # λ‰΄μŠ€ 링크 links = html.select('.title') link_result =[] if page == num_page: links=links[:remainder] for link in links: add = 'https://finance.naver.com' + link.find('a')['href'] link_result.append(add) print(f"{len(link_result)}개의 λ‰΄μŠ€ 크둀링..") except Exception: pass for article_url in link_result: try: article_source_code = requests.get(article_url).text article_html = BeautifulSoup(article_source_code, "lxml") article_time = article_html.select('.tah')[0].get_text() # λ‰΄μŠ€ λ‚΄μš© article_contents = article_html.select('.scr01') article_contents=article_contents[0].get_text() article_contents = re.sub('\n','',article_contents) article_contents = re.sub('\t','',article_contents) # cut extra text after Copyright mark if "β“’" in article_contents: article_contents=article_contents[:article_contents.index("β“’")] # cut too long text to prevent CUDA OOM issue if len(article_contents)>=1500: article_contents=article_contents[:1500] article_result.append([article_contents,article_time]) time.sleep(random.uniform(0.1,0.7)) except Exception: pass # print("λ‹€μš΄ λ°›κ³  μžˆμŠ΅λ‹ˆλ‹€------") return article_result def convert_company_to_code(self,company): # μ’…λͺ©μ½”λ“œ μΆ”μΆœ company_name = self.company_code_table['νšŒμ‚¬λͺ…'] keys = [i for i in company_name] #λ°μ΄ν„°ν”„λ ˆμž„μ—μ„œ 리슀트둜 λ°”κΎΈκΈ° company_code = self.company_code_table['μ’…λͺ©μ½”λ“œ'] values = [j for j in company_code] dict_result = dict(zip(keys, values)) # λ”•μ…”λ„ˆλ¦¬ ν˜•νƒœλ‘œ νšŒμ‚¬μ΄λ¦„κ³Ό μ’…λͺ©μ½”λ“œ λ¬ΆκΈ° pattern = '[a-zA-Zκ°€-힣]+' if bool(re.match(pattern, company)) == True: company_code = dict_result.get(str(company)) return company_code else: company_code = str(company) return company_code def crawl_news(self, company, max_num=5): print(f"{company} μ’…λͺ© λ‰΄μŠ€λ₯Ό κ°€μ Έμ˜΅λ‹ˆλ‹€.") company_code=self.convert_company_to_code(company) if company_code: result=self.crawler(company_code, max_num) for i in range(len(result)): result[i].append(company) return result else: print(f"{company} μ’…λͺ©μ΄ μ‘΄μž¬ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€.") return []
[ 좜처: https://myeonghak.github.io/natural%20language%20processing/NLP-%EC%A3%BC%EC%8B%9D-%EB%89%B4%EC%8A%A4-%EC%9A%94%EC%95%BD-%EB%A9%94%EC%9D%BC%EB%A7%81-%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%A8/#summary ]
Β 
기사 크둀링 λΆ€λΆ„μ—μ„œ crawl_news λ©”μ„œλ“œλ₯Ό 톡해 크둀링을 순차적으둜 μ§„ν–‰ν•˜λ©΄ λ˜λŠ”λ°μš”, μ΄λ•Œ crawler λ©”μ„œλ“œλŠ” κΈ°μ—… μ½”λ“œμ™€ κ°€μ Έμ˜¬ κΈ°μ‚¬μ˜ 수λ₯Ό μž…λ ₯으둜 λ°›μ•„ λ‰΄μŠ€λ₯Ό κ°€μ Έμ˜¨λ‹€κ³  ν•΄μš”. μ΄λ•Œ κ°€μ Έμ˜€λŠ” κΈ°μ‚¬μ˜ μ •λ³΄λ‘œλŠ” μ’…λͺ©μ— ν•΄λ‹Ήν•˜λŠ” 기사 제λͺ©, κ΄€λ ¨ 기사, 정보 제곡 주체와 λ‚ μ§œμΈλ°μš”, κ°€μ Έμ˜€λŠ” μ£Όμ†Œλ₯Ό 톡해 직접 기사 λ‚΄μš©μ„ κΈμ–΄μ˜€λ©΄ 크둀링이 κ°€λŠ₯ν•©λ‹ˆλ‹€. λ˜ν•œ convert_company_to_code λ©”μ„œλ“œλŠ” κΈ°μ—…λͺ…을 μž…λ ₯으둜 λ°›μ•„ μ’…λͺ© μ½”λ“œλ₯Ό 좜λ ₯ν•œλ‹€κ³  ν•΄μš”. μ’…λͺ© μ½”λ“œλŠ” κΈ°μ—…λͺ…에 따라 λͺ¨μ—¬ μžˆλŠ” κΈ°μ‚¬λ“€μ˜ 링크둜 이동할 수 μžˆλ„λ‘ 도와주죠. μ΄λ ‡κ²Œ Pororo의 KoBART Summary κΈ°λŠ₯을 μ΄μš©ν•˜λ©΄ 주식 λ‰΄μŠ€λ₯Ό κ°„λ‹¨ν•˜κ²Œ μš”μ•½ν•  수 μžˆμ–΄μš”. 특히, 짧은 λ¬Έμž₯으둜 μΆ•μ•½ν•΄μ£ΌκΈ° λ•Œλ¬Έμ— ν•œμ‹œκ°€ κΈ‰ν•œ μ‚¬λžŒλ“€μ΄ μ΄μš©ν•˜κΈ° 정말 쒋을 것 κ°™λ„€μš”. ν•œμ‹œκ°€ κΈ‰ν•˜μ§€λŠ” μ•Šμ§€λ§Œ, μ§§κ³  κ°„κ²°ν•œ 덕뢄에 λ”₯λ‹€λŠ” 기사 μ½λŠ”λ° μ‹œκ°„μ΄ λ³„λ‘œ λ“€μ§€ μ•Šμ•„ μ—¬μœ λ‘­κ²Œ μˆ˜μ—… μ€€λΉ„λ₯Ό ν•  수 μžˆμ„ 것 κ°™λ„€μš”.
Β 
πŸ’‘
μ˜€μ „ μ‹œκ°„ λ™μ•ˆμ— μžˆμ—ˆλ˜ NLP에 λŒ€ν•΄μ„œ μ‚΄νŽ΄λ³΄μ•˜λŠ”λ° μ–΄λ– μ…¨λ‚˜μš”? 뒷뢀뢄에 ν•΄λ‹Ήν•˜λŠ” λ‚΄μš©μ€ 아직 μ‹€μƒν™œμ—μ„œ 거의 쓰이지 μ•Šκ³  μžˆμ§€λ§Œ, 회의 λ‚΄μš© μ •λ¦¬λ‚˜ 주식 변동 사항 정리 λ“±μ—λŠ” λ‚˜λ¦„ ν™œμš©λ˜κ³  μžˆλ‹€λŠ” 이야기λ₯Ό λ“£κ³  가져와 λ΄€μ–΄μš”. 사싀 λ§Žμ€ μ‚¬λžŒλ“€μ΄ μš”μ•½λœ 글을 μ½λŠ” 것을 μ’‹μ•„ν•˜λŠ” 만큼 ν•΄λ‹Ή κΈ°μˆ λ„ λ¨Έμ§€ μ•Šμ•„ κ³§ μ“°μ΄κ²Œ 될 것 κ°™μ£ ? μ΅œκ·Όμ—λŠ” λ‰΄μŠ€ μš”μ•½ 이외에도 λ„€μ΄λ²„μ˜ 보이슀 λ‰΄μŠ€μ²˜λŸΌ μ£Όμš” λ‰΄μŠ€ 기사 μš”μ•½λ³Έμ„ μŒμ„±μœΌλ‘œ λ“€λ € μ£ΌλŠ” μ„œλΉ„μŠ€λ„ 있고, ν•„μš”ν•œ λ…Όλ¬Έλ§Œ 효율적으둜 λ³Ό 수 μžˆλ„λ‘ ν•˜λŠ” λ…Όλ¬Έ μš”μ•½ AI인 Semantic Scholar 등도 계속 ν•΄μ„œ λ‚˜μ˜€κ³  μžˆλ‹€κ³  ν•˜λŠ” 것을 보면 μš”μ•½ 기술이 μ–Όλ§ˆλ‚˜ λΉ λ₯΄κ²Œ λ°œμ „ν•˜κ³  μžˆλŠ”μ§€ μ•Œ 수 μžˆκ² λ„€μš”. λ‹€μŒ μ‹œκ°„μ—λŠ” μ˜€ν›„ 일과 μ‹œκ°„ λ™μ•ˆμ— μ°Ύμ•„λ³Ό 수 μžˆλŠ” μƒν™œ 속 NLP 이야기λ₯Ό λ§ˆμ € λ“€κ³  λŒμ•„μ˜€λ„λ‘ ν• κ²Œμš”.
Β 
Β 

μ°Έκ³  λ¬Έν—Œ

  1. κ³½νš¨μ›. (2018, 03, 29). μ‚¬λžŒμ˜ 말을 κΈ°κ³„μ–Έμ–΄λ‘œ, 기계언어λ₯Ό μ‚¬λžŒμ—κ²Œ. https://www.bloter.net/newsView/blt201803290006
  1. κΉ€ν•™μˆ˜. (2017).인곡지λŠ₯ μŒμ„±μ–Έμ–΄ λΉ„μ„œ μ‹œμŠ€ν…œμ˜ μžμ—°μ–Έμ–΄μ²˜λ¦¬ κΈ°μˆ λ“€.μ •λ³΄κ³Όν•™νšŒμ§€,35(8),9-18.
  1. μ΄κ²½λ‹˜. (2017). μŒμ„± μ–Έμ–΄ 처리 기술, μ–΄λ””κΉŒμ§€ μ™”λ‚˜. μƒˆκ΅­μ–΄μƒν™œ, 27(4)
  1. LG CNS λ―Έλž˜μ‹ μ‚¬μ—…λ‹΄λ‹Ή. (2018, 11, 12). 챗봇을 λ„˜μ–΄ μŒμ„±λ΄‡μœΌλ‘œ. https://blog.lgcns.com/1863
  1. Kincaid, J. (2018, Jul 13). A brief History of ASR: Automatic Speech Recognition. descript. https://medium.com/descript/a-brief-history-of-asr-automatic-speech-recognition-b8f338d4c0e5
  1. GitHub - seujung/KoBART-summarization: Summarization module based on KoBART
  1. Mattias Lee, [NLP] 주식 λ‰΄μŠ€ μš”μ•½ 메일링 ν”„λ‘œκ·Έλž¨, 2021.03.04.