Skip to content

Latest commit

Β 

History

History
148 lines (100 loc) Β· 9.64 KB

README.md

File metadata and controls

148 lines (100 loc) Β· 9.64 KB

E-Call Assistant

E-Call Assistant / Imagine Cup 2018 project

E-CallIcon


System Flow

SystemFlow

1. μƒν™©μ ‘μˆ˜

  • κΈ΄κΈ‰μ‹ κ³ κ°€ λ“€μ–΄μ˜€λ©΄ ν”„λ‘œκ·Έλž¨μ„ ν†΅ν•΄μ„œ 졜초 상황을 μ ‘μˆ˜ν•˜κ²Œ λ©λ‹ˆλ‹€.
  • 졜초 μ ‘μˆ˜ μ‹œκ°„λΆ€ν„° μΆœλ™ μ§€μ‹œ μ‹œκ°„, μ ‘μˆ˜ μ „ν™”λ₯Ό λŠμ€ μ‹œκ°„κΉŒμ§€ 기둝이 λ©λ‹ˆλ‹€.
  • μ‹ κ³ μžκ°€ λ‹Ήν™©ν•˜μ§€ μ•Šκ³  μΉ¨μ°©ν•˜κ²Œ μ„€λͺ…을 ν•  수 μžˆλ„λ‘ κ·Όλ¬΄μžκ°€ ν•„μˆ˜μ μΈ 질문으둜 μ§„μˆ μ„ μœ λ„ν•©λ‹ˆλ‹€.

2. μ‹ κ³ μž μ§„μˆ  μ‹€μ‹œκ°„ 기둝

  • κΈ΄κΈ‰μ‹ κ³ μ „ν™”λ₯Ό μ ‘μˆ˜ν•˜λŠ” μˆœκ°„λΆ€ν„° μ‹€μ‹œκ°„μœΌλ‘œ μ‹ κ³ μžμ˜ μ§„μˆ λ‚΄μš©μ΄ 기둝이 λ©λ‹ˆλ‹€.
  • 이후에 Azure Cognitive Services 개체λͺ… 뢄석을 ν†΅ν•΄μ„œ μΆœλ™μ„ ν•˜κΈ°μœ„ν•΄ ν•„μˆ˜μ μΈ 정보듀을 뢄석해내고 ν•΄λ‹Ήν•˜λŠ” ν•­λͺ©λž€μ— μ±„μ›Œμ€λ‹ˆλ‹€.
  • μΆœλ™μ„ μ§€μ‹œν•  수 μžˆλŠ” ν•„μˆ˜μ μΈ ν•­λͺ©λ“€μ„ λ‹€ μ±„μš°κ²Œ 되면 이에따라 μΆœλ™ μ§€μ‹œλ₯Ό 내릴 수 μžˆμŠ΅λ‹ˆλ‹€.
  • 그렇지 μ•Šμ€ κ²½μš°μ— μ•Œλ¦Όμ„ ν†΅ν•΄μ„œ κ·Όλ¬΄μžκ°€ λ†“μΉ˜κ³  μžˆλŠ” 점을 μ•Œλ €μ€λ‹ˆλ‹€.
  • κ·Όλ¬΄μžλŠ” μ‹€μ‹œκ°„μœΌλ‘œ κΈ°λ‘λ˜λŠ” λ‚΄μš©μ— 좔가적인 λ‚΄μš©μ„ 덧뢙일 수 μžˆμŠ΅λ‹ˆλ‹€.

3. μ‹ κ³  λ‚΄μš© 뢄석

  • μΆœλ™μ„ μ§€μ‹œν•˜λŠ” κ³Όμ •μ—μ„œ, 핡심적인 μ‹ κ³  λ‚΄μš©μ„ μΆ”μΆœν•΄μ„œ λ”₯λŸ¬λ‹μ„ ν™œμš©ν•΄ 무슨 λ‚΄μš©μΈμ§€ 뢄석을 ν•©λ‹ˆλ‹€.
  • λΆ„μ„ν•œ 결과에 따라 μ‹ κ³ λ‚΄μš©μ΄ 세뢀적인 μΉ΄ν…Œκ³ λ¦¬λ‘œ λ‚˜λˆ„μ–΄μ§€κ³  μ‹ κ³ λ‚΄μš©μ— μ μ ˆν•œ λŒ€μ‘ 맀뉴얼이 화면에 μ œμ‹œλ©λ‹ˆλ‹€.
  • λΆ„λ₯˜λœ μ‹ κ³ λ‚΄μš©μ— 따라 ν•΄λ‹Ήν•˜λŠ” λŒ€μ‘ 방식을 μ œμ‹œν•˜μ—¬ μ£Όκ³  맀뉴얼에 따라 세뢀적인 상황 λ‚΄μš©μ„ μ§ˆλ¬Έν•©λ‹ˆλ‹€.
  • μ΄λ ‡κ²Œ 얻어진 μ •λ³΄λŠ” λ°μ΄ν„°λ² μ΄μŠ€μ— μ €μž₯이 λ˜μ–΄ μΆœλ™κΈ°κ΄€μœΌλ‘œ μ „μ†‘λ©λ‹ˆλ‹€.

4. μ‹ κ³ μž μƒν™©λŒ€μ²˜ μ§€μ‹œ 및 μΆœλ™λŒ€μ› μΆœλ™ μ§€μ‹œ

  • μ—¬λŸ¬ 상황에 맞게 μ μ ˆν•œ λŒ€μ‘ 방식을 μ œκ³΅ν•©λ‹ˆλ‹€.
  • λ˜ν•œ, λΆ€μƒμžκ°€ μžˆλŠ” 경우 κ΅¬μ‘°λŒ€ 도착 μ „ λŒ€μ²˜λ²•κΉŒμ§€ μ•Œλ €μ£Όμ–΄ 상황싀 κ·Όλ¬΄μžλŠ” λ‹Ήν™©ν•˜μ§€ μ•Šκ³  μ „λ¬Έμ μœΌλ‘œ μ‹ κ³ μžλ₯Ό μ•ˆμ‹¬μ‹œν‚€κ³  μ‹ κ³ λ₯Ό μ²˜λ¦¬ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

5. 데이터 관리

  • μ‹ κ³ μžμ˜ μ§„μˆ  λ‚΄μš©κ³Ό λΆ„μ„λœ μ‹ κ³  λ‚΄μš©μ€ Azure Database에 μ €μž₯되고 κ΄€λ¦¬λ©λ‹ˆλ‹€.
  • λ˜ν•œ, μ‹€μ‹œκ°„ μƒν™©μ‹€μ˜ μ „λ°˜μ μΈ μ‹ κ³  μ ‘μˆ˜ ν˜„ν™©μ„ κ·Έλž˜ν”„λ‘œ λ‚˜νƒ€λ‚΄μ£Όμ–΄ 상황싀 κ·Όλ¬΄μžκ°€ 인지λ₯Ό ν•  수 있게 ν•©λ‹ˆλ‹€.

UI

μ „λ°˜μ μΈ UI ν‹€ 섀계

Main Page

Main Page

MainPage Click to Answer Page

  • μ „ν™”κ°€ 였면 이 화면이 λ‚˜μ˜€κ³  ν΄λ¦­ν•˜λ©΄ 톡화λ₯Ό λ°›κ²Œ λ©λ‹ˆλ‹€.

Main Page Click to Answer

Classified Manual Page with additional questions

Classified Manual Page with additional questions

Medical Response Manual Page

Medical Response Manual Page

Toast Notification

ToastNotification


Azure SQL Database

Database flow

  • μ‹ κ³  μ ‘μˆ˜ 및 μ‹ κ³  μ’…λ£Œ μ‹œκ°„κ³Ό 세뢀적인 μ‹ κ³  μ ‘μˆ˜λ‚΄μš©μ„ Azure SQL λ°μ΄ν„°λ² μ΄μŠ€ μ„œλ²„μ— μ „μ†‘μ‹œμΌœ 관리 ν•©λ‹ˆλ‹€.
  • κ·Όλ¬΄μžκ°€ 상황을 μ ‘μˆ˜ν•˜λ©΄μ„œ 초기 상황 μ ‘μˆ˜λΆ€ν„° 세뢀적인 상황정리, μ‘κΈ‰μ²˜μΉ˜κΉŒμ§€ 크게 μ„Έ λ‹¨κ³„λ‘œ 상 황을 μ •λ¦¬ν•΄λ‚˜κ°€λŠ”λ°, 각 단계λ₯Ό λ„˜μ–΄κ°ˆ λ•Œλ§ˆλ‹€ μ •λ¦¬λœ 상황 λ‚΄μš©μ΄ λ°μ΄ν„°λ² μ΄μŠ€μ— μ €μž₯이 λ©λ‹ˆλ‹€.
  • μ €μž₯된 상 ν™© λ‚΄μš©μ€ Azure μ„œλ²„λ₯Ό 톡해 상황 κ³΅μœ κ°€ ν•„μš”ν•œ λ‹΄λ‹ΉκΈ°κ΄€μœΌλ‘œ μ‹ μ†ν•˜κ²Œ μ „λ‹¬λ©λ‹ˆλ‹€.
  • λ˜ν•œ, 데이터λ₯Ό κ·Έλž˜ν”„ 둜 λ‚˜νƒ€λ‚΄μ–΄ 상황싀 κ·Όλ¬΄μžκ°€ κΈ΄κΈ‰ μ‹ κ³  상황에 λŒ€ν•΄ μ‹œκ°μ μœΌλ‘œ νŒŒμ•…ν•  수 있게 κ΅¬μ„±ν–ˆμŠ΅λ‹ˆλ‹€.

Data visualization with graph

Graph Page


STT, Text Analytic, POS Tagging

STT, Text Analytic, POS Tagging

Improving STT accuracy algorithm

Improving STT accuracy algorithm

  • μ‹ κ³ μžμ˜ μ „ν™” μŒμ„±μ΄ μ™„λ²½ν•˜κ²Œ ν…μŠ€νŠΈλ‘œ λ³€ν™˜λ˜μ§€ μ•Šμ•„μ„œ μΉ΄ν…Œκ³ λ¦¬ ꡬ뢄 정확도가 λ–¨μ–΄μ§€λŠ” λ¬Έμ œκ°€ μžˆμ—ˆμŠ΅λ‹ˆλ‹€. κ·Έλž˜μ„œ 자체 κ΅¬ν˜„ν•œ λ¬Έμž₯ ꡐ정 μ•Œκ³ λ¦¬μ¦˜μ„ 톡해 ν…μŠ€νŠΈλ‘œ λ³€ν™˜λœ μ‹ κ³  λ‚΄μš©μ„ λ³΄μ™„ν•˜λŠ” μ „μ²˜λ¦¬ 과정을 κ±°μ³€μŠ΅λ‹ˆλ‹€.
  • Skip-Gram μ•Œκ³ λ¦¬μ¦˜μ„ μ‚¬μš©ν•˜μ—¬ Word2Vec λͺ¨λΈμ„ μƒμ„±ν•œ ν›„, λͺ¨λΈμ—μ„œ 단어 κ°„ 코사인 μœ μ‚¬λ„λ₯Ό κ³„μ‚°ν•˜μ—¬ λ¬Έλ§₯에 λ§žμ§€ μ•ŠλŠ” 단어λ₯Ό μΆ”μΆœν–ˆμŠ΅λ‹ˆλ‹€.
  • μ μ ˆν•˜μ§€ μ•Šμ€ 단어가 μΆ”μΆœλ˜λ©΄, ν•΄λ‹Ή 단어와 νŽΈμ§‘κ±°λ¦¬κ°€ μž‘μ€ 단어듀을 리슀트둜 λ§Œλ“€μ–΄ 비ꡐ ν›„ κ°€μž₯ μ μ ˆν•œ λ‹¨μ–΄λ‘œ κ΅μ²΄ν•˜μ—¬ λ¬Έμž₯을 κ΅μ •ν–ˆμŠ΅λ‹ˆλ‹€.

Data Mining / Scraping Guardian news

  • μ§€λ‚œ 10λ…„ λ™μ•ˆμ˜ 영ꡭ β€˜κ°€λ””μ–Έβ€™ λ‰΄μŠ€ 기사λ₯Ό μž¬λ‚œ, ν™”μž¬, ꡐ톡사고 λ“± 총 6개의 μΉ΄ν…Œκ³ λ¦¬λ‘œ κ΅¬λΆ„ν•˜μ—¬ ν•™μŠ΅ λ°μ΄ν„°λ‘œ λ§Œλ“€μ—ˆμŠ΅λ‹ˆλ‹€.
  • λ‰΄μŠ€ 기사가 상황을 λ¬˜μ‚¬ν•˜λŠ” 방식이 μ‹€μ œ μ‹ κ³  λ‚΄μš©κ³Ό λΉ„μŠ·ν•˜λ‹€λŠ” μ μ—μ„œ λ‰΄μŠ€ 기사λ₯Ό ν•™μŠ΅ λ°μ΄ν„°λ‘œ μ„ νƒν–ˆμŠ΅λ‹ˆλ‹€.

  • μ°Έκ³  λΈ”λ‘œκ·Έ / Text classification using CNN written in tensorflow
  • μœ„ λ§ν¬μ—μ„œ κ°€λ””μ–Έ λ‰΄μŠ€ 기사λ₯Ό ν¬λ‘€λ§ν•΄μ™€μ„œ ν•΄λ‹Ήν•˜λŠ” μΉ΄ν…Œκ³ λ¦¬μ˜ κΈ°μ‚¬λ‘œ ν•™μŠ΅
  • 사건 및 사고에 λŒ€ν•΄ μ‹ κ³ μžκ°€ μ§„μˆ μ„ ν•˜κ³  상황을 μ„€λͺ…ν•˜λŠ” 것이, λ‰΄μŠ€ κΈ°μ‚¬μ—μ„œ 사건 및 사고에 λŒ€ν•΄μ„œ μ„€λͺ…을 ν•˜λŠ” 것과 μœ μ‚¬μ„±μ„ 많이 찾을 수 μžˆμ„ 것이라 νŒλ‹¨ν•˜μ—¬ λ‰΄μŠ€ κΈ°μ‚¬λ‘œ ν•™μŠ΅
  • Goose와 BeautifulSoup4λ₯Ό μ‚¬μš©ν•΄μ„œ 기사 λ‚΄μš©μ„ κ°€μ Έμ˜΄
  • Google κ²€μƒ‰μ—μ„œ (category) site:www.guardian.com이라고 κ²€μƒ‰ν•˜λ©΄ ν•΄λ‹Ή μ‚¬μ΄νŠΈμ˜ 검색 κ²°κ³Όλ§Œμ„ λ°˜ν™˜

CNN Text Classification

  • μ‹ κ³ μž μ§„μˆ μ„ Multi class CNN Text Classification λͺ¨λΈμ„ μ‚¬μš©ν•˜μ—¬ μ•žμ„œ ꡬ비해놓은 μΉ΄ν…Œκ³ λ¦¬λ‘œ λΆ„λ₯˜ν–ˆμŠ΅λ‹ˆλ‹€.
  • 각 단어와 λ¬Έμž₯의 의미λ₯Ό λΆ„μ„ν•˜λŠ” λŒ€μ‹ , μ‹ μ†ν•˜κ²Œ μΉ΄ν…Œκ³ λ¦¬ κ΅¬λΆ„ν•˜μ—¬ λŒ€μ‘ 맀뉴얼을 μ œκ³΅ν•˜λŠ” 것에 μ΄ˆμ μ„ λ§žμΆ”μ—ˆμŠ΅λ‹ˆλ‹€. μΉ΄ν…Œκ³ λ¦¬λ₯Ό λΆ„λ₯˜ν•  수 μžˆλŠ” νŠΉμ§•μ„ μΆ”μΆœν•˜μ—¬ λΉ λ₯Έ μ†λ„λ‘œ μΉ΄ν…Œκ³ λ¦¬λ₯Ό λΆ„λ₯˜ν•˜κΈ° μœ„ν•΄ CNN λͺ¨λΈμ„ μ‚¬μš©ν–ˆμŠ΅λ‹ˆλ‹€.
  • 메인 λͺ¨λΈμ€ λ‰΄μš• λŒ€ν•™ κΉ€μœ€ λ°•μ‚¬μ˜ Convolutional Neural Networks for Sentence Classification의 λͺ¨λΈμ„ μ°¨μš©ν–ˆμŠ΅λ‹ˆλ‹€.
  • 이와 같은 CNN λͺ¨λΈλ‘œ λ‰΄μŠ€ 데이터λ₯Ό ν•™μŠ΅ μ‹œμΌœ μ‹ κ³ μžμ˜ μ§„μˆ  λ‚΄μš©μ„ νŠΉμ • μΉ΄ν…Œκ³ λ¦¬λ‘œ μ˜ˆμΈ‘ν•©λ‹ˆλ‹€. 이후에 예츑된 κ²°κ³Όκ°€ 화면에 좜λ ₯이 되고, 결과에 따라 ν•΄λ‹Ήν•˜λŠ” 사건, μ‚¬κ³ μ˜ λŒ€μ‘ 맀뉴얼을 화면에 λ„μ›Œμ€λ‹ˆλ‹€.

CNNTextClassification

  • μ°Έκ³  λ¬Έν—Œ / Implementing a cnn for text classification in tensorflow
  • ν˜„μž¬ 75% 정확도 / 아직 ν•™μŠ΅ν•΄μ•Όν•  μΉ΄ν…Œκ³ λ¦¬κ°€ 더 있음 / 정확도 더 올릴 μ˜ˆμ •
  • Training Command Example : python train.py ./data/train.csv ./parameters.json
  • URL request : python predict.py ./trained_model_1516629873/ μ„œλ²„ μ‹€ν–‰ ν›„ ν”„λ‘œκ·Έλž¨ μ‹€ν–‰
  • Console Predict Command Example : python predict.py ./trained_model_1516629873/
  • JSON file Predict Command Example : python predict.py ./trained_model_1516629873/ ./data/sample.json
  • C# ν”„λ‘œμ νŠΈ bin-Debug-(Environment.CurrentDirectory)에 "data_helper.py", "predict.py", "text_cnn.py", "train.py", trained model μœ„μΉ˜ μ‹œμΌœμ„œ μ‹€ν–‰ν•˜κΈ°
  • 예츑 κ°’ CNNTextClassificationPrediction
  • 정확도 CNNTextClassificationAccuracy

CNN Text Positive Negative Classification

  • μ°Έκ³  λ¬Έν—Œ / Implementing a cnn for text classification in tensorflow
  • ν˜„μž¬ 97% 정확도
  • Training Command Example : python train_posneg.py
  • Console Predict Command Example : python eval_posneg.py --eval_train --checkpoint_dir="./runs/1516169064/checkpoints/"
  • C# ν”„λ‘œμ νŠΈ bin-Debug-(Environment.CurrentDirectory)에 "data_helpers_posneg.py", "eval_posneg.py", "text_cnn_posneg.py", "train_posneg.py", trained model μœ„μΉ˜ μ‹œμΌœμ„œ μ‹€ν–‰ν•˜κΈ°
  • μœˆλ„μš°μ—μ„œ Data 파일 뢈러올 λ•Œ, "UnicodeDecodeError: 'cp949' codec can't decode byte 0xe2 in position ---: illegal multibyte sequence" 였λ₯˜ μ‹œ, open('파일경둜.txt', 'rt', encoding='UTF8') μ΄λ ‡κ²Œ 파일 Openν•  것
  • 정확도 PositiveNegativeAccuracy

μ‹ κ³  λŒ€μ‘ 맀뉴얼 참고자료 좜처