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
- 마이데이터
- 도커
- 개인정보보호
- docker
- 데이터 분석
- 클라우드
- XSS 취약점
- 백준
- AWS
- 데이터분석
- 개인정보보호법
- 정보보안
- 코딩테스트 연습
- 자료형
- 회귀분석
- 파이썬
- 파이썬 문법
- vagrant
- 웹모의해킹
- 시저암호
- 프로그래머스
- 코딩테스트
- AI
- 데이터3법
- 웹 모의해킹
- 코테
- 머신러닝
- 컴퓨터 구조
- 함수
- 알고리즘
Archives
- Today
- Total
찬란하게
언어판별서비스2 본문
wepapp.py
#!/usr/bin/env python3
import cgi, os.path
import joblib
# 학습된 모형 정보 읽어 들이기
pklfile = os.path.dirname(__file__) + "/freq2.pkl"
clf = joblib.load(pklfile)
# 텍스트 입력 양식 출력하기
def show_form(text, msg=""):
with open("C:/pydata/cgi-bin/style2.py", "r", encoding="utf-8") as lp:
html = lp.read()
print(html.format(text, msg))
# 판정하기
def detect_lang(text):
# 알파벳 출현 빈도 구하기
text = text.lower()
code_a, code_z = (ord("a"), ord("z"))
cnt = [0 for i in range(26)]
for ch in text:
n = ord(ch) - code_a
if 0 <= n < 26: cnt[n] += 1
total = sum(cnt)
if total == 0: return "입력이 없습니다"
freq = list(map(lambda n: n/total, cnt))
# 언어 예측하기
res = clf.predict([freq])
# 언어 코드를 한국어로 변환하기
lang_dic = {"en":"영어","fr":"프랑스어",
"id":"인도네시아어", "tl":"타갈로그어"}
return lang_dic[res[0]]
# 입력 양식의 값 읽어 들이기
form = cgi.FieldStorage()
text = form.getvalue("text", default="")
msg = ""
if text != "":
lang = detect_lang(text)
msg = "판정 결과 : " + lang
# 입력 양식 출력
show_form(text, msg)
'AI (인공지능) > 미니프로젝트' 카테고리의 다른 글
언어판별 4 (0) | 2021.03.26 |
---|---|
언어판별3 (0) | 2021.03.26 |
언어 판별기 제작하기! ㄴstep1. (0) | 2021.03.26 |
[데이터분석][AI] SVM모델 적용시키기 (0) | 2021.03.25 |
[데이터분석][AI] 보스톤 주택가격 - 회귀분석모델(Regression) 정확도 검사 (0) | 2021.03.24 |