Skip to content

Commit 143019f

Browse files
committed
2 parents c681101 + 1270d91 commit 143019f

3 files changed

Lines changed: 26 additions & 82 deletions

File tree

AI/readme.md

Lines changed: 25 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -19,26 +19,26 @@
1919
<span>Readme 목차</span>
2020
<ol>
2121
<li>
22-
<a href="# AI (recommendation)">AI (recommendation)</a>
22+
AI (recommendation)
2323
</li>
2424
<li>
25-
<a href="# AI (recommendation)">책 추천시스템</a>
25+
책 추천시스템
2626
</li>
2727
<li>
28-
<a href="# AI (recommendation)">취향정보 시각화</a>
28+
취향정보 시각화
2929
</li>
3030
<li>
31-
<a href="#getting-started">시작하기</a>
31+
시작하기
3232
<ul>
33-
<li><a href="#prerequisites">요구사항</a></li>
34-
<li><a href="#installation">설치</a></li>
35-
<li><a href="#installation">설정</a></li>
36-
<li><a href="#installation">사용법</a></li>
33+
<li>요구사항</li>
34+
<li>설치</li>
35+
<li>설정</li>
36+
<li>사용법</li>
3737
</ul>
3838
</li>
39-
<li><a href="#usage">발전 방향</a></li>
40-
<li><a href="#license">라이센스</a></li>
41-
<li><a href="#contact">개발자 정보</a></li>
39+
<li>발전방향</li>
40+
<li>라이센스</li>
41+
<li>개발자 정보</li>
4242
</ol>
4343

4444
<!-- ABOUT THE PROJECT -->
@@ -54,38 +54,38 @@ AI에서는 개인별 책 추천시스템과 사용자의 취향정보 시각화
5454
# 2. 책 추천시스템
5555
서버에서 사용자 및 책 정보를 요청하여, Matrix Factorization 기반 추천 리스트 30권을 생성합니다.
5656

57-
API_test_users.csv : userid_0의 like는 [1247, 164, 89, 1219, 903]입니다.
57+
[API_test_users.csv](https://github.com/osamhack2021/AI_APP_handylib_devlib/blob/main/AI/example_file/API_test_users.csv) : userid_0의 like는 [1247, 164, 89, 1219, 903]입니다.
5858

5959
+ 1247 : 국내도서>수험서/자격증>공무원 수험서>소방공무원(승진)>기타 과목
6060
+ 164 : 국내도서>사회과학>국방/군사학>국내외 군사사정
6161
+ 89 : 국내도서>자기계발>성공>성공담
6262
+ 1219 : 국내도서>자기계발>성공>성공담
6363
+ 국내도서>전집/중고전집>창작동화
6464

65-
![img_1.png](img_1.png)
65+
![img_1.png](https://github.com/osamhack2021/AI_APP_handylib_devlib/blob/main/AI/image_ai/img_1.png)
6666

67-
userid_0.csv에 나온 추천도서는 [1030, 1413, 626, 1150, 167] 등 30권입니다.
67+
[userid_0.csv <todo : add csv and make link>] 나온 추천도서는 [1030, 1413, 626, 1150, 167] 등 30권입니다.
6868

6969
+ 1030 : 조선왕조실톡 6 - 조선의 두 번째 영광 (국내도서>역사>조선사>조선후기(영조~순종))
7070
+ 1413 : 삶의 덫에서 벗어나 새로운 나를 열기 (국내도서>자기계발>힐링>마음 다스리기))
7171
+ 626 : 숲, 다시 보기를 권함 (국내도서>과학>생명과학>생태학)
7272
+ 1150 : 회사에서 나만 그래? - 언니들이 알려주는 조직생활 노하우 26 (국내도서>자기계발>여성의 자기계발)
7373
+ 167 : 우린 다르게 살기로 했다 - 혼자는 외롭고 함께는 괴로운 사람들을 위한 마을공동체 탐사기 (국내도서>사회과학>사회운동>사회운동 일반)
7474

75-
![img.png](img.png)
75+
![img.png](https://github.com/osamhack2021/AI_APP_handylib_devlib/blob/main/AI/image_ai/img.png)
7676

7777
# 3. 취향정보 시각화
7878
사용자가 좋아요를 누른 책을 기반으로 사용자가 좋아하는 카테고리를 wordcloud로 시각화합니다.
7979

80-
![img_3.png](img_3.png)
80+
![img_3.png](https://github.com/osamhack2021/AI_APP_handylib_devlib/blob/main/AI/image_ai/img_3.png)
8181

8282
# 4. 시작하기
8383
## 요구사항
8484
- wordcloud==1.8.1
8585
- pandas==1.3.3
8686
- numpy>=1.19.5
8787

88-
/var/www/python_flask/ 경로에서 다음 코드를 실행하여 필요한 모듈을 설치합니다.
88+
다음 코드를 실행하여 필요한 모듈을 설치합니다.
8989
```buildoutcfg
9090
$ pip install pandas
9191
$ pip install numpy
@@ -109,7 +109,8 @@ recommendation 경로는 github 상에서 AI 경로에 해당합니다.
109109
+ APP_test_books.csv
110110
+ APP_test_users.csv
111111
+ rec_pred_score_1.csv
112-
+ random_user_generator.py
112+
+ dummy_generator.py
113+
+ dummy_user.py
113114
+ recommendation.py
114115
+ update.py
115116
+ data_update.py
@@ -156,9 +157,9 @@ users_file_name과 books_file_name은 사용자 정보와 책 정보가 담긴 .
156157

157158

158159
## 사용법
159-
test.py에서 함수 호출의 예시를 확인하실 수 있습니다.
160+
[test.py](https://github.com/osamhack2021/AI_APP_handylib_devlib/blob/main/AI/test.py)에서 함수 호출의 예시를 확인하실 수 있습니다.
160161

161-
api에서 request에 대응하는 함수를 호출함으로써 사용할 수 있습니다. 아래 예시는 마이페이지 api를 담당하는 mypage.py의 일부입니다.
162+
api에서 request에 대응하는 함수를 호출함으로써 사용할 수 있습니다. 아래 예시는 마이페이지 api를 담당하는 mypage.py에서 취향분석 이미지를 호출하는 코드입니다.
162163

163164
```buildoutcfg
164165
@mypage_page.route('/', methods=['GET'])
@@ -184,11 +185,10 @@ def mypage():
184185
```
185186

186187
주의사항입니다.
187-
+ api와 recommeder system 파일의 경로가 다를 경우, api 파일에서 모듈을 import 할 때 경로에 유의하기 바랍니다. ex) ```from main.recommendation import data_update```
188-
+ wordcloud_maker.py의 exe_img(), update.py의 update(), data_update.py의 update()는 file_path와 save_path 등의 환경변수를 소스코드에서 직접 지정하였으므로, 함수를 호출할 때 path, name을 설정하는 것이 아닌, wordcloud_maker.py, update.py, data_update.py에서 원하는 경로로 수정해주어야 합니다.
188+
+ 이 프로젝트와 같이 api를 구현한 파일과 recommeder system을 구현한 파일의 파일의 경로가 다를 경우, api 파일에서 모듈을 import 할 때 경로에 유의하기 바랍니다. ex) ```from main.recommendation import data_update```
189+
+ wordcloud_maker.py의 exe_img(user_id), update.py의 update(), data_update.py의 update()는 file_path와 save_path 등의 환경변수를 소스코드에서 직접 지정하였으므로, 함수를 호출할 때 path, name을 설정하는 것이 아닌, wordcloud_maker.py, update.py, data_update.py에서 원하는 경로로 수정해주어야 합니다.
189190

190191
# 5. 발전방향
191-
192192
이 프로젝트의 추천시스템이 사용한 알고리즘은 collaborative filtering 방식 추천 알고리즘 중 하나인 Matrix Factorization입니다.
193193

194194
collaborative filtering이란 자신과 비슷한 평점을 매긴 다른 사용자의 평점을 이용해 아직 평점을 매기지 않은 책의 평점을 예측하는 알고리즘이라는 뜻입니다. 예를 들어, A가 'aa'라는 책을 좋아하고, B가 'aa'와 'bb'를 좋아한다면, A와 B는 같은 'aa'를 좋아하므로, 비슷한 흥미도를 가질 것이고, A도 B가 좋아하는 'bb'를 좋아할 것이라고 예측하는 알고리즘입니다.
@@ -215,9 +215,9 @@ AI 파트에서는 추천시스템이 meta data를 활용할 수 있도록 앞
215215
+ 개발자님만의 branch에 push
216216
+ Pull Request 열기
217217

218-
# 7. License
218+
# 7. 라이센스
219219
MIT License에 따라 배포되고 있습니다. <a href="https://github.com/osamhack2021/AI_APP_handylib_devlib/blob/main/LICENSE">LICENSE.txt</a>를 통해 더 자세한 license 정보를 확인하실 수 있습니다.
220220

221221

222-
# 8. Contact
222+
# 8. 개발자 정보
223223
김승하(k2river) kstream35@gmail.com

APP(FE)/README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -244,7 +244,7 @@ R 184 G 216 B 190
244244
<br><br>
245245
전자책 시스템은 Aladin API에서 파싱해온 정보를 이용하는데, Aladin API는 책의 제목, 설명, isbn과 같은 일부 정보만 제공하고
246246
<br><br>
247-
당연하게도 전자책 db는 제공하고 있지 않습니다. 따라서 이 프로그램에서는 전자책을 실제로 열람할 수 없습니다.
247+
전자책 db는 제공하고 있지 않습니다. 따라서 이 프로그램에서는 전자책을 실제로 열람할 수 없습니다.
248248
<br><br>
249249
만약 실제로 이 프로그램이 사용된다면 기존의 각 군 도서관 전자책 시스템 db를 가져와서 장병들이 열람할 수 있도록 수정할 필요가 있습니다.
250250
<br><br>

App(BE)/test_.py

Lines changed: 0 additions & 56 deletions
This file was deleted.

0 commit comments

Comments
 (0)