taeyeol commited on
Commit
fa763c0
ยท
verified ยท
1 Parent(s): 5728adb

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +286 -18
app.py CHANGED
@@ -1,27 +1,261 @@
1
  import gradio as gr
2
  import numpy as np
3
 
4
- # ์งˆ๋ฌธ ๋ฆฌ์ŠคํŠธ (์˜ˆ์‹œ)
5
  questions = [
6
  "๋‹น์‹ ์€ ํ˜ผ์ž ์žˆ์„ ๋•Œ ์—๋„ˆ์ง€๋ฅผ ์–ป๋‚˜์š”?",
7
  "๋‹น์‹ ์€ ๊ณ„ํš์„ ์„ธ์šฐ๋Š” ๊ฒƒ์„ ์ข‹์•„ํ•˜๋‚˜์š”?",
8
  "๋‹น์‹ ์€ ์ƒˆ๋กœ์šด ์ƒํ™ฉ์— ์‰ฝ๊ฒŒ ์ ์‘ํ•˜๋‚˜์š”?",
9
- # ๋” ๋งŽ์€ ์งˆ๋ฌธ์„ ์ถ”๊ฐ€ํ•˜์„ธ์š”.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
10
  ]
11
 
12
  # MBTI ์œ ํ˜• ์˜ˆ์‹œ ๋ฐ์ดํ„ฐ
13
  mbti_types = {
14
- "INTJ": {"์„ฑ๊ฒฉ": "๋…์ฐฝ์ ์ด๊ณ  ์ „๋žต์ ์ธ ์‚ฌ๊ณ ๋ฅผ ๊ฐ€์ง„ ์กฐ์šฉํ•œ ๋ฆฌ๋”", "์ง์—…": "๊ณผํ•™์ž, ์—”์ง€๋‹ˆ์–ด", "๊ถํ•ฉ": ["ENFP", "ENTP"], "๋‚˜์œ ๊ถํ•ฉ": ["ESFP"]},
15
- "ENFP": {"์„ฑ๊ฒฉ": "์—ด์ •์ ์ด๊ณ  ์ฐฝ์˜์ ์ธ ์‚ฌ๊ณ ๋ฅผ ๊ฐ€์ง„ ์‚ฌ๋žŒ", "์ง์—…": "์˜ˆ์ˆ ๊ฐ€, ์ž‘๊ฐ€", "๊ถํ•ฉ": ["INTJ", "INFJ"], "๋‚˜์œ ๊ถํ•ฉ": ["ISTJ"]},
16
- # ๋‹ค๋ฅธ ์œ ํ˜•๋„ ์ถ”๊ฐ€
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
17
  }
18
 
19
- # ์งˆ๋ฌธ์— ๋”ฐ๋ฅธ ์ ์ˆ˜ ๊ณ„์‚ฐ ํ•จ์ˆ˜
20
  def calculate_mbti_responses(responses):
21
  scores = np.zeros(16) # 16๊ฐ€์ง€ MBTI ์œ ํ˜•์— ๋Œ€ํ•œ ์ ์ˆ˜
22
  for i, response in enumerate(responses):
23
- # ์ ์ˆ˜ ๊ณ„์‚ฐ ๋กœ์ง (์˜ˆ: ํŠน์ • ์งˆ๋ฌธ์ด ํŠน์ • ์œ ํ˜•์— ์–ด๋–ค ์˜ํ–ฅ์„ ๋ฏธ์น˜๋Š”์ง€)
24
- # ๊ฐ ์œ ํ˜•๋ณ„ ์ ์ˆ˜ ๊ณ„์‚ฐ (๊ฐ„๋‹จํžˆ ๊ฐ€์ •)
25
  if response == "๋งค์šฐ ๊ทธ๋ ‡๋‹ค":
26
  scores += np.random.randint(5, 10, size=16)
27
  elif response == "๊ทธ๋ ‡๋‹ค":
@@ -32,12 +266,27 @@ def calculate_mbti_responses(responses):
32
  scores -= np.random.randint(2, 5, size=16)
33
  elif response == "๋งค์šฐ ์•„๋‹ˆ๋‹ค":
34
  scores -= np.random.randint(5, 10, size=16)
35
-
36
  best_match_index = np.argmax(scores)
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
37
  best_match_type = list(mbti_types.keys())[best_match_index]
38
- percentage = (scores[best_match_index] / sum(scores)) * 100
39
  return best_match_type, percentage
40
 
 
41
  # Gradio UI ๊ตฌ์„ฑ
42
  def mbti_quiz(*responses):
43
  mbti_type, percentage = calculate_mbti_responses(responses)
@@ -45,14 +294,33 @@ def mbti_quiz(*responses):
45
  details = mbti_types[mbti_type]
46
  result += f"\n\n์„ฑ๊ฒฉ ์„ค๋ช…: {details['์„ฑ๊ฒฉ']}"
47
  result += f"\n์ถ”์ฒœ ์ง์—…: {details['์ง์—…']}"
48
- result += f"\n\n์ข‹์€ ๊ถํ•ฉ: {', '.join(details['๊ถํ•ฉ'])}"
49
- result += f"\n๋‚˜์œ ๊ถํ•ฉ: {', '.join(details['๋‚˜์œ ๊ถํ•ฉ'])}"
50
- return result
51
 
52
- # Gradio ์ž…๋ ฅ ํ•„๋“œ ๊ตฌ์„ฑ
53
- inputs = [gr.inputs.Radio(["๋งค์šฐ ๊ทธ๋ ‡๋‹ค", "๊ทธ๋ ‡๋‹ค", "๋ณดํ†ต์ด๋‹ค", "์•„๋‹ˆ๋‹ค", "๋งค์šฐ ์•„๋‹ˆ๋‹ค"], label=question) for question in questions]
54
- output = gr.outputs.Textbox(label="MBTI ๊ฒฐ๊ณผ")
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
55
 
56
- # Gradio ์ธํ„ฐํŽ˜์ด์Šค ์ƒ์„ฑ
57
- iface = gr.Interface(fn=mbti_quiz, inputs=inputs, outputs=output, title="MBTI ์„ฑ๊ฒฉ ์œ ํ˜• ํ…Œ์ŠคํŠธ", description="20๊ฐœ ์ด์ƒ์˜ ์งˆ๋ฌธ์„ ํ†ตํ•ด MBTI ์„ฑ๊ฒฉ ์œ ํ˜•์„ ๋ถ„์„ํ•˜์„ธ์š”.")
58
  iface.launch()
 
1
  import gradio as gr
2
  import numpy as np
3
 
4
+ # ์งˆ๋ฌธ ๋ฆฌ์ŠคํŠธ
5
  questions = [
6
  "๋‹น์‹ ์€ ํ˜ผ์ž ์žˆ์„ ๋•Œ ์—๋„ˆ์ง€๋ฅผ ์–ป๋‚˜์š”?",
7
  "๋‹น์‹ ์€ ๊ณ„ํš์„ ์„ธ์šฐ๋Š” ๊ฒƒ์„ ์ข‹์•„ํ•˜๋‚˜์š”?",
8
  "๋‹น์‹ ์€ ์ƒˆ๋กœ์šด ์ƒํ™ฉ์— ์‰ฝ๊ฒŒ ์ ์‘ํ•˜๋‚˜์š”?",
9
+ "๋‹น์‹ ์€ ๊ฐ์ •๋ณด๋‹ค๋Š” ๋…ผ๋ฆฌ์— ๋” ์˜์กดํ•˜๋‚˜์š”?",
10
+ "๋‹น์‹ ์€ ๋‹ค๋ฅธ ์‚ฌ๋žŒ์„ ๋•๋Š” ๊ฒƒ์„ ์ข‹์•„ํ•˜๋‚˜์š”?",
11
+ "๋‹น์‹ ์€ ์‚ฌ๊ต์ ์ธ ์„ฑ๊ฒฉ์„ ๊ฐ€์ง€๊ณ  ์žˆ๋‚˜์š”?",
12
+ "๋‹น์‹ ์€ ์ผ์„ ๋๋‚ด๊ธฐ ์ „์— ๊ณ„ํš์„ ์„ธ์šฐ๋Š” ํŽธ์ธ๊ฐ€์š”?",
13
+ "๋‹น์‹ ์€ ์‚ฌ์‹ค๊ณผ ๋ฐ์ดํ„ฐ๋ฅผ ์ค‘์‹œํ•˜๋‚˜์š”?",
14
+ "๋‹น์‹ ์€ ๊ฐ์ • ํ‘œํ˜„์„ ์ž˜ ํ•˜๋‚˜์š”?",
15
+ "๋‹น์‹ ์€ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•  ๋•Œ ์ฐฝ์˜์ ์ธ ๋ฐฉ๋ฒ•์„ ์‚ฌ์šฉํ•˜๋‚˜์š”?",
16
+ "๋‹น์‹ ์€ ๋‹ค๋ฅธ ์‚ฌ๋žŒ๋“ค๊ณผ์˜ ํ˜‘์—…์„ ์„ ํ˜ธํ•˜๋‚˜์š”?",
17
+ "๋‹น์‹ ์€ ๊ฒฐ์ •์„ ๋‚ด๋ฆด ๋•Œ ์ง๊ฐ์„ ์‹ ๋ขฐํ•˜๋‚˜์š”?",
18
+ "๋‹น์‹ ์€ ๊ทœ์น™๊ณผ ์ ˆ์ฐจ๋ฅผ ๋”ฐ๋ฅด๋Š” ๊ฒƒ์„ ์ข‹์•„ํ•˜๋‚˜์š”?",
19
+ "๋‹น์‹ ์€ ์ฃผ๋ณ€ ํ™˜๊ฒฝ์— ๋ฏผ๊ฐํ•˜๊ฒŒ ๋ฐ˜์‘ํ•˜๋‚˜์š”?",
20
+ "๋‹น์‹ ์€ ์ผ์„ ์ฒ˜๋ฆฌํ•  ๋•Œ ํšจ์œจ์„ฑ์„ ์ค‘์‹œํ•˜๋‚˜์š”?",
21
+ "๋‹น์‹ ์€ ๋‚จ๋“ค์ด ์ƒ๊ฐํ•˜๋Š” ๊ฒƒ์— ๋Œ€ํ•ด ๋งŽ์ด ์‹ ๊ฒฝ ์“ฐ๋‚˜์š”?",
22
+ "๋‹น์‹ ์€ ์ž์—ฐ์Šค๋Ÿฝ๊ฒŒ ๋ฆฌ๋” ์—ญํ• ์„ ๋งก๊ฒŒ ๋˜๋‚˜์š”?",
23
+ "๋‹น์‹ ์€ ์ƒˆ๋กœ์šด ์•„์ด๋””์–ด๋ฅผ ์ œ์•ˆํ•˜๋Š” ๊ฒƒ์„ ์ข‹์•„ํ•˜๋‚˜์š”?",
24
+ "๋‹น์‹ ์€ ๋Œ€์ธ ๊ด€๊ณ„์—์„œ ๊ฐˆ๋“ฑ์„ ํ”ผํ•˜๋ ค ํ•˜๋‚˜์š”?",
25
+ "๋‹น์‹ ์€ ๋ชฉํ‘œ๋ฅผ ์„ค์ •ํ•˜๊ณ  ์ด๋ฅผ ๋‹ฌ์„ฑํ•˜๊ธฐ ์œ„ํ•ด ๋…ธ๋ ฅํ•˜๋‚˜์š”?"
26
  ]
27
 
28
  # MBTI ์œ ํ˜• ์˜ˆ์‹œ ๋ฐ์ดํ„ฐ
29
  mbti_types = {
30
+ "INTJ": {
31
+ "์„ฑ๊ฒฉ": "๋…์ฐฝ์ ์ด๊ณ  ์ „๋žต์ ์ธ ์‚ฌ๊ณ ๋ฅผ ๊ฐ€์ง„ ์กฐ์šฉํ•œ ๋ฆฌ๋”",
32
+ "์ง์—…": "๊ณผํ•™์ž, ์—”์ง€๋‹ˆ์–ด, ๋ฐ์ดํ„ฐ ๋ถ„์„๊ฐ€",
33
+ "๊ถํ•ฉ": ["ENFP", "ENTP"],
34
+ "๋‚˜์œ ๊ถํ•ฉ": ["ESFP", "ESTP"],
35
+ "๊ถํ•ฉ ์„ค๋ช…": {
36
+ "ENFP": "ENFP๋Š” INTJ์˜ ์ด์ƒ์ฃผ์˜๋ฅผ ์ž๊ทนํ•˜๊ณ , ์„œ๋กœ์˜ ๊ฐ•์ ๊ณผ ์•ฝ์ ์„ ๋ณด์™„ํ•ฉ๋‹ˆ๋‹ค.",
37
+ "ENTP": "ENTP๋Š” INTJ์˜ ์ฐฝ์˜์„ฑ๊ณผ ์ „๋žต์  ์‚ฌ๊ณ ๋ฅผ ์ž๊ทนํ•˜์—ฌ ์ƒ์‚ฐ์ ์ธ ํŒŒํŠธ๋„ˆ์‹ญ์„ ํ˜•์„ฑํ•ฉ๋‹ˆ๋‹ค."
38
+ },
39
+ "๋‚˜์œ ๊ถํ•ฉ ์„ค๋ช…": {
40
+ "ESFP": "ESFP๋Š” INTJ์™€ ์ •๋ฐ˜๋Œ€์˜ ์„ฑํ–ฅ์„ ๊ฐ€์ง€๊ณ  ์žˆ์–ด ๊ฐˆ๋“ฑ์ด ์žฆ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.",
41
+ "ESTP": "ESTP๋Š” ์‹ค์šฉ์ ์ธ ์ ‘๊ทผ์„ ์„ ํ˜ธํ•˜๋Š” ๋ฐ˜๋ฉด, INTJ๋Š” ์žฅ๊ธฐ์ ์ธ ๊ณ„ํš์„ ์ค‘์‹œํ•ฉ๋‹ˆ๋‹ค."
42
+ }
43
+ },
44
+ "INTP": {
45
+ "์„ฑ๊ฒฉ": "๋…ผ๋ฆฌ์ ์ด๊ณ  ๋ถ„์„์ ์ธ ์‚ฌ๊ณ ๋ฅผ ๊ฐ€์ง„ ํ˜์‹ ๊ฐ€",
46
+ "์ง์—…": "์—ฐ๊ตฌ์›, ํ”„๋กœ๊ทธ๋ž˜๋จธ, ์ฒ ํ•™์ž",
47
+ "๊ถํ•ฉ": ["ENTJ", "ESTJ"],
48
+ "๋‚˜์œ ๊ถํ•ฉ": ["ESFJ", "ESTP"],
49
+ "๊ถํ•ฉ ์„ค๋ช…": {
50
+ "ENTJ": "ENTJ๋Š” INTP์˜ ๋ถ„์„์  ์‚ฌ๊ณ ๋ฅผ ์ด‰์ง„ํ•˜๊ณ  ํ•จ๊ป˜ ์ „๋žต์ ์ธ ๋ชฉํ‘œ๋ฅผ ๋‹ฌ์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.",
51
+ "ESTJ": "ESTJ๋Š” INTP์˜ ๋…ผ๋ฆฌ์  ์ ‘๊ทผ์„ ์กด์ค‘ํ•˜๋ฉฐ ์‹ค์šฉ์ ์ธ ํ•ด๊ฒฐ์ฑ…์„ ์ฐพ๋Š” ๋ฐ ๋„์›€์„ ์ค๋‹ˆ๋‹ค."
52
+ },
53
+ "๋‚˜์œ ๊ถํ•ฉ ์„ค๋ช…": {
54
+ "ESFJ": "ESFJ๋Š” ๊ฐ์ •์ ์ธ ๊ฒฐ์ •์„ ์ค‘์‹œํ•˜๋Š” ๋ฐ˜๋ฉด, INTP๋Š” ๋…ผ๋ฆฌ๋ฅผ ์ค‘์‹œํ•˜์—ฌ ๊ฐˆ๋“ฑ์ด ์ƒ๊ธธ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.",
55
+ "ESTP": "ESTP๋Š” ์ฆ‰๊ฐ์ ์ธ ํ–‰๋™์„ ์„ ํ˜ธํ•˜๋ฉฐ, INTP์˜ ๊นŠ์€ ์‚ฌ๊ณ ์™€๋Š” ์ถฉ๋Œํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค."
56
+ }
57
+ },
58
+ "ENTJ": {
59
+ "์„ฑ๊ฒฉ": "๋Œ€๋‹ดํ•˜๊ณ  ๊ฒฐ๋‹จ๋ ฅ ์žˆ๋Š” ๋ฆฌ๋”",
60
+ "์ง์—…": "๊ธฐ์—…๊ฐ€, ๊ฒฝ์˜์ž, ๋ณ€ํ˜ธ์‚ฌ",
61
+ "๊ถํ•ฉ": ["INTP", "INTJ"],
62
+ "๋‚˜์œ ๊ถํ•ฉ": ["INFP", "ISFP"],
63
+ "๊ถํ•ฉ ์„ค๋ช…": {
64
+ "INTP": "INTP๋Š” ENTJ์˜ ์ „๋žต์  ์‚ฌ๊ณ ๋ฅผ ๋ณด์™„ํ•˜๋ฉฐ, ๋…ผ๋ฆฌ์  ์ ‘๊ทผ์„ ํ†ตํ•ด ๋ฌธ์ œ ํ•ด๊ฒฐ์— ๋„์›€์„ ์ค๋‹ˆ๋‹ค.",
65
+ "INTJ": "INTJ๋Š” ENTJ์™€ ํ•จ๊ป˜ ์žฅ๊ธฐ์ ์ธ ๋ชฉํ‘œ๋ฅผ ์„ค์ •ํ•˜๊ณ , ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๋Š” ๊ฐ•๋ ฅํ•œ ํŒŒํŠธ๋„ˆ๊ฐ€ ๋ฉ๋‹ˆ๋‹ค."
66
+ },
67
+ "๋‚˜์œ ๊ถํ•ฉ ์„ค๋ช…": {
68
+ "INFP": "INFP๋Š” ๊ฐ์ •์  ์ ‘๊ทผ์„ ์„ ํ˜ธํ•˜๋ฉฐ, ENTJ์˜ ๋ƒ‰์ •ํ•œ ๋…ผ๋ฆฌ์  ์ ‘๊ทผ๊ณผ ์ถฉ๋Œํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.",
69
+ "ISFP": "ISFP๋Š” ์ฆ‰ํฅ์ ์ด๊ณ  ๊ฐ์ •์ ์ธ ๊ฒฝํ–ฅ์ด ์žˆ์–ด, ENTJ์˜ ์ฒด๊ณ„์ ์ด๊ณ  ๋…ผ๋ฆฌ์ ์ธ ์„ฑํ–ฅ๊ณผ ๋งž์ง€ ์•Š์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค."
70
+ }
71
+ },
72
+ "ENTP": {
73
+ "์„ฑ๊ฒฉ": "์ฐฝ์˜์ ์ด๊ณ  ๋…ผ์Ÿ์„ ์ฆ๊ธฐ๋Š” ๋น„ํ‰๊ฐ€",
74
+ "์ง์—…": "๋งˆ์ผ€ํ„ฐ, ๋ณ€ํ˜ธ์‚ฌ, ๊ธฐ์ž",
75
+ "๊ถํ•ฉ": ["INFJ", "INTJ"],
76
+ "๋‚˜์œ ๊ถํ•ฉ": ["ISFJ", "ISTJ"],
77
+ "๊ถํ•ฉ ์„ค๋ช…": {
78
+ "INFJ": "INFJ๋Š” ENTP์˜ ์ฐฝ์˜์  ์‚ฌ๊ณ ๋ฅผ ์ดํ•ดํ•˜๋ฉฐ, ์ด์ƒ์ ์ธ ๋ชฉํ‘œ ์„ค์ •์„ ๋„์™€์ค๋‹ˆ๋‹ค.",
79
+ "INTJ": "INTJ๋Š” ENTP์™€ ํ•จ๊ป˜ ํ˜์‹ ์ ์ธ ์•„์ด๋””์–ด๋ฅผ ์‹คํ˜„ํ•˜๋Š” ๋ฐ ๊ฐ•๋ ฅํ•œ ํŒŒํŠธ๋„ˆ๊ฐ€ ๋ฉ๋‹ˆ๋‹ค."
80
+ },
81
+ "๋‚˜์œ ๊ถํ•ฉ ์„ค๋ช…": {
82
+ "ISFJ": "ISFJ๋Š” ์ „ํ†ต์ ์ด๊ณ  ๋ณด์ˆ˜์ ์ธ ๏ฟฝ๏ฟฝ๏ฟฝํ–ฅ์ด ๊ฐ•ํ•ด, ENTP์˜ ํ˜์‹ ์ ์ด๊ณ  ๋น„ํŒ์ ์ธ ์‚ฌ๊ณ ์™€ ์ถฉ๋Œํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.",
83
+ "ISTJ": "ISTJ๋Š” ์‹ค์šฉ์ ์ธ ์ ‘๊ทผ์„ ์„ ํ˜ธํ•˜๋ฉฐ, ENTP์˜ ์‹คํ—˜์ ์ด๊ณ  ๋ชจํ—˜์ ์ธ ์„ฑํ–ฅ๊ณผ ๊ฐˆ๋“ฑ์ด ์žˆ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค."
84
+ }
85
+ },
86
+ "INFJ": {
87
+ "์„ฑ๊ฒฉ": "ํ†ต์ฐฐ๋ ฅ ์žˆ๊ณ  ํ—Œ์‹ ์ ์ธ ์ด์ƒ์ฃผ์˜์ž",
88
+ "์ง์—…": "์ƒ๋‹ด์‚ฌ, ์‹ฌ๋ฆฌํ•™์ž, ์ž‘๊ฐ€",
89
+ "๊ถํ•ฉ": ["ENFP", "ENTP"],
90
+ "๋‚˜์œ ๊ถํ•ฉ": ["ESTP", "ESFP"],
91
+ "๊ถํ•ฉ ์„ค๋ช…": {
92
+ "ENFP": "ENFP๋Š” INFJ์˜ ์ด์ƒ์ฃผ์˜์™€ ๊นŠ์€ ๊ฐ์ •์„ ์ดํ•ดํ•˜๊ณ  ์ด๋ฅผ ๊ฒฉ๋ คํ•ฉ๋‹ˆ๋‹ค.",
93
+ "ENTP": "ENTP๋Š” INFJ์˜ ์ฐฝ์˜์„ฑ์„ ์ž๊ทนํ•˜๊ณ , ํ˜์‹ ์ ์ธ ์•„์ด๋””์–ด๋ฅผ ์‹คํ˜„ํ•˜๋Š” ๋ฐ ๋„์›€์„ ์ค๋‹ˆ๋‹ค."
94
+ },
95
+ "๋‚˜์œ ๊ถํ•ฉ ์„ค๋ช…": {
96
+ "ESTP": "ESTP๋Š” ์ฆ‰๊ฐ์ ์ธ ํ–‰๋™์„ ์„ ํ˜ธํ•˜๋ฉฐ, INFJ์˜ ๊นŠ์€ ์‚ฌ๊ณ ์™€ ๊ฐ์ •์  ์ ‘๊ทผ๊ณผ ์ถฉ๋Œํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.",
97
+ "ESFP": "ESFP๋Š” ์ฆ‰ํฅ์ ์ด๊ณ  ์™ธํ–ฅ์ ์ธ ์„ฑํ–ฅ์ด ๊ฐ•ํ•ด, INFJ์˜ ๋‚ด์„ฑ์ ์ด๊ณ  ๊ณ„ํš์ ์ธ ์„ฑํ–ฅ๊ณผ ๋งž์ง€ ์•Š์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค."
98
+ }
99
+ },
100
+ "INFP": {
101
+ "์„ฑ๊ฒฉ": "์ด์ƒ์ ์ด๊ณ  ์ถฉ์‹คํ•œ ์ค‘์žฌ์ž",
102
+ "์ง์—…": "์˜ˆ์ˆ ๊ฐ€, ์ž‘๊ฐ€, ์ƒ๋‹ด์‚ฌ",
103
+ "๊ถํ•ฉ": ["ENFJ", "ENTJ"],
104
+ "๋‚˜์œ ๊ถํ•ฉ": ["ESTJ", "ESFJ"],
105
+ "๊ถํ•ฉ ์„ค๋ช…": {
106
+ "ENFJ": "ENFJ๋Š” INFP์˜ ์ด์ƒ์ฃผ์˜๋ฅผ ๊ฒฉ๋ คํ•˜๊ณ , ํ•จ๊ป˜ ๋” ๋‚˜์€ ์„ธ์ƒ์„ ๋งŒ๋“ค๊ธฐ ์œ„ํ•ด ๋…ธ๋ ฅํ•ฉ๋‹ˆ๋‹ค.",
107
+ "ENTJ": "ENTJ๋Š” INFP์˜ ์ด์ƒ์„ ํ˜„์‹ค๋กœ ๋งŒ๋“ค๊ธฐ ์œ„ํ•ด ๋…ผ๋ฆฌ์ ์ด๊ณ  ์ „๋žต์ ์ธ ๋„์›€์„ ์ค๋‹ˆ๋‹ค."
108
+ },
109
+ "๋‚˜์œ ๊ถํ•ฉ ์„ค๋ช…": {
110
+ "ESTJ": "ESTJ๋Š” ์‹ค์šฉ์ ์ด๊ณ  ์กฐ์ง์ ์ธ ์„ฑํ–ฅ์ด ๊ฐ•ํ•ด, INFP์˜ ์ด์ƒ์ ์ด๊ณ  ๊ฐ์ •์ ์ธ ์„ฑํ–ฅ๊ณผ ์ถฉ๋Œํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.",
111
+ "ESFJ": "ESFJ๋Š” ์‚ฌํšŒ์  ๊ทœ๋ฒ”์„ ์ค‘์‹œํ•˜๋ฉฐ, INFP์˜ ๊ฐœ์„ฑ๊ณผ ๋…๋ฆฝ์„ฑ์„ ์กด์ค‘ํ•˜์ง€ ์•Š์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค."
112
+ }
113
+ },
114
+ "ENFJ": {
115
+ "์„ฑ๊ฒฉ": "์นด๋ฆฌ์Šค๋งˆ ์žˆ๊ณ  ์‚ฌ๊ต์ ์ธ ๋ฆฌ๋”",
116
+ "์ง์—…": "๊ต์‚ฌ, ์ •์น˜์ธ, ์‚ฌํšŒ์šด๋™๊ฐ€",
117
+ "๊ถํ•ฉ": ["INFP", "INFJ"],
118
+ "๋‚˜์œ ๊ถํ•ฉ": ["ISTP", "INTP"],
119
+ "๊ถํ•ฉ ์„ค๋ช…": {
120
+ "INFP": "INFP๋Š” ENFJ์˜ ๊ฐ์ •์  ๊นŠ์ด์™€ ์ด์ƒ์ฃผ์˜๋ฅผ ์ดํ•ดํ•˜๋ฉฐ, ํ•จ๊ป˜ ์˜๋ฏธ ์žˆ๋Š” ๋ชฉํ‘œ๋ฅผ ์ถ”๊ตฌํ•ฉ๋‹ˆ๋‹ค.",
121
+ "INFJ": "INFJ๋Š” ENFJ์™€ ํ•จ๊ป˜ ์‚ฌ๋žŒ๋“ค์„ ๋•๊ณ , ์„ธ์ƒ์„ ๋” ๋‚˜์€ ๊ณณ์œผ๋กœ ๋งŒ๋“œ๋Š” ๋ฐ ํ˜‘๋ ฅํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค."
122
+ },
123
+ "๋‚˜์œ ๊ถํ•ฉ ์„ค๋ช…": {
124
+ "ISTP": "ISTP๋Š” ๋…ผ๋ฆฌ์ ์ด๊ณ  ์ฆ‰ํฅ์ ์ธ ์„ฑํ–ฅ์ด ๊ฐ•ํ•ด, ENFJ์˜ ๊ฐ์ •์ ์ด๊ณ  ๊ณ„ํš์ ์ธ ์„ฑํ–ฅ๊ณผ ์ถฉ๋Œํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.",
125
+ "INTP": "INTP๋Š” ๋…ผ๋ฆฌ์ ์ด๊ณ  ๋ถ„์„์ ์ธ ์„ฑํ–ฅ์ด ๊ฐ•ํ•ด, ENFJ์˜ ๊ฐ์ •์ ์ด๊ณ  ์‚ฌ๊ต์ ์ธ ์„ฑํ–ฅ๊ณผ ๋งž์ง€ ์•Š์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค."
126
+ }
127
+ },
128
+ "ENFP": {
129
+ "์„ฑ๊ฒฉ": "์—ด์ •์ ์ด๊ณ  ์ฐฝ์˜์ ์ธ ์‚ฌ๊ณ ๋ฅผ ๊ฐ€์ง„ ์‚ฌ๋žŒ",
130
+ "์ง์—…": "์˜ˆ์ˆ ๊ฐ€, ์ž‘๊ฐ€, ๋งˆ์ผ€ํ„ฐ",
131
+ "๊ถํ•ฉ": ["INTJ", "INFJ"],
132
+ "๋‚˜์œ ๊ถํ•ฉ": ["ISTJ", "ISFJ"],
133
+ "๊ถํ•ฉ ์„ค๋ช…": {
134
+ "INTJ": "INTJ๋Š” ENFP์˜ ์ฐฝ์˜์ ์ธ ์•„์ด๋””์–ด๋ฅผ ํ˜„์‹ค๋กœ ์‹คํ˜„ํ•˜๋Š” ๋ฐ ๋„์›€์„ ์ค๋‹ˆ๋‹ค.",
135
+ "INFJ": "INFJ๋Š” ENFP์˜ ์—ด์ •์„ ์ดํ•ดํ•˜๋ฉฐ, ํ•จ๊ป˜ ์ด์ƒ์ ์ธ ๋ชฉํ‘œ๋ฅผ ์ถ”๊ตฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค."
136
+ },
137
+ "๋‚˜์œ ๊ถํ•ฉ ์„ค๋ช…": {
138
+ "ISTJ": "ISTJ๋Š” ์ „ํ†ต์ ์ด๊ณ  ์‹ค์šฉ์ ์ธ ์„ฑํ–ฅ์ด ๊ฐ•ํ•ด, ENFP์˜ ์ฐฝ์˜์ ์ด๊ณ  ๋ชจํ—˜์ ์ธ ์„ฑํ–ฅ๊ณผ ์ถฉ๋Œํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.",
139
+ "ISFJ": "ISFJ๋Š” ์‚ฌํšŒ์  ๊ทœ๋ฒ”์„ ์ค‘์‹œํ•˜๋ฉฐ, ENFP์˜ ์ž์œ ๋กญ๊ณ  ๊ฐœ๋ฐฉ์ ์ธ ์„ฑํ–ฅ๊ณผ ๋งž์ง€ ์•Š์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค."
140
+ }
141
+ },
142
+ "ISTJ": {
143
+ "์„ฑ๊ฒฉ": "์‹ค์šฉ์ ์ด๊ณ  ์‹ ๋ขฐํ•  ์ˆ˜ ์žˆ๋Š” ๊ด€๋ฆฌ์ธ",
144
+ "์ง์—…": "ํšŒ๊ณ„์‚ฌ, ๊ด€๋ฆฌ์ž, ๊ณต๋ฌด์›",
145
+ "๊ถํ•ฉ": ["ESFP", "ESTP"],
146
+ "๋‚˜์œ ๊ถํ•ฉ": ["ENFP", "ENTP"],
147
+ "๊ถํ•ฉ ์„ค๋ช…": {
148
+ "ESFP": "ESFP๋Š” ISTJ์˜ ์‹ค์šฉ์ ์ธ ์„ฑํ–ฅ์„ ์กด์ค‘ํ•˜๋ฉฐ, ํ•จ๊ป˜ ํ˜„์‹ค์ ์ธ ๋ชฉํ‘œ๋ฅผ ๋‹ฌ์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.",
149
+ "ESTP": "ESTP๋Š” ISTJ์˜ ์กฐ์ง์ ์ด๊ณ  ๊ณ„ํš์ ์ธ ์„ฑํ–ฅ์„ ๋ณด์™„ํ•˜๋ฉฐ, ๋น ๋ฅธ ๋ฌธ์ œ ํ•ด๊ฒฐ์— ๋„์›€์„ ์ค๋‹ˆ๋‹ค."
150
+ },
151
+ "๋‚˜์œ ๊ถํ•ฉ ์„ค๋ช…": {
152
+ "ENFP": "ENFP๋Š” ์ฐฝ์˜์ ์ด๊ณ  ์ž์œ ๋กœ์šด ์„ฑํ–ฅ์ด ๊ฐ•ํ•ด, ISTJ์˜ ์ „ํ†ต์ ์ด๊ณ  ๋ณด์ˆ˜์ ์ธ ์„ฑํ–ฅ๊ณผ ์ถฉ๋Œํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.",
153
+ "ENTP": "ENTP๋Š” ์‹คํ—˜์ ์ด๊ณ  ๋ชจํ—˜์ ์ธ ์„ฑํ–ฅ์ด ๊ฐ•ํ•ด, ISTJ์˜ ์‹ค์šฉ์ ์ด๊ณ  ์‹ ์ค‘ํ•œ ์„ฑํ–ฅ๊ณผ ๋งž์ง€ ์•Š์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค."
154
+ }
155
+ },
156
+ "ISFJ": {
157
+ "์„ฑ๊ฒฉ": "์„ฑ์‹คํ•˜๊ณ  ๋ฐฐ๋ ค์‹ฌ ๊นŠ์€ ๋ณดํ˜ธ์ž",
158
+ "์ง์—…": "๊ฐ„ํ˜ธ์‚ฌ, ๊ต์‚ฌ, ์‚ฌํšŒ๋ณต์ง€์‚ฌ",
159
+ "๊ถํ•ฉ": ["ESFP", "ESTP"],
160
+ "๋‚˜์œ ๊ถํ•ฉ": ["ENTP", "ENFP"],
161
+ "๊ถํ•ฉ ์„ค๋ช…": {
162
+ "ESFP": "ESFP๋Š” ISFJ์˜ ๋ฐฐ๋ ค์‹ฌ๊ณผ ์„ฑ์‹คํ•จ์„ ์กด์ค‘ํ•˜๋ฉฐ, ํ•จ๊ป˜ ๋”ฐ๋œปํ•œ ์ธ๊ฐ„๊ด€๊ณ„๋ฅผ ์œ ์ง€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.",
163
+ "ESTP": "ESTP๋Š” ISFJ์˜ ์„ธ์‹ฌํ•œ ์„ฑํ–ฅ์„ ๋ณด์™„ํ•˜๋ฉฐ, ํ˜„์‹ค์ ์ธ ๋ฌธ์ œ ํ•ด๊ฒฐ์— ๋„์›€์„ ์ค๋‹ˆ๋‹ค."
164
+ },
165
+ "๋‚˜์œ ๊ถํ•ฉ ์„ค๋ช…": {
166
+ "ENTP": "ENTP๋Š” ์‹คํ—˜์ ์ด๊ณ  ๋น„ํŒ์ ์ธ ์„ฑํ–ฅ์ด ๊ฐ•ํ•ด, ISFJ์˜ ์ „ํ†ต์ ์ด๊ณ  ๋ณดํ˜ธ์ ์ธ ์„ฑํ–ฅ๊ณผ ์ถฉ๋Œํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.",
167
+ "ENFP": "ENFP๋Š” ์ž์œ ๋กญ๊ณ  ์ฐฝ์˜์ ์ธ ์„ฑํ–ฅ์ด ๊ฐ•ํ•ด, ISFJ์˜ ์กฐ์ง์ ์ด๊ณ  ๋ณด์ˆ˜์ ์ธ ์„ฑํ–ฅ๊ณผ ๋งž์ง€ ์•Š์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค."
168
+ }
169
+ },
170
+ "ESTJ": {
171
+ "์„ฑ๊ฒฉ": "์‹ค์šฉ์ ์ด๊ณ  ์กฐ์ง์ ์ธ ๊ด€๋ฆฌ์ž",
172
+ "์ง์—…": "๊ฒฝ์˜์ž, ๊ตฐ์ธ, ๊ณต๋ฌด์›",
173
+ "๊ถํ•ฉ": ["ISTP", "INTP"],
174
+ "๋‚˜์œ ๊ถํ•ฉ": ["INFP", "INFJ"],
175
+ "๊ถํ•ฉ ์„ค๋ช…": {
176
+ "ISTP": "ISTP๋Š” ESTJ์˜ ์กฐ์ง์ ์ด๊ณ  ์‹ค์šฉ์ ์ธ ์„ฑํ–ฅ์„ ๋ณด์™„ํ•˜๋ฉฐ, ํ•จ๊ป˜ ํšจ์œจ์ ์ธ ๋ฌธ์ œ ํ•ด๊ฒฐ์„ ๋„๋ชจํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.",
177
+ "INTP": "INTP๋Š” ESTJ์˜ ๋…ผ๋ฆฌ์  ์‚ฌ๊ณ ๋ฅผ ๋ณด์™„ํ•˜๋ฉฐ, ์ „๋žต์ ์ธ ๋ชฉํ‘œ ๋‹ฌ์„ฑ์— ๋„์›€์„ ์ค๋‹ˆ๋‹ค."
178
+ },
179
+ "๋‚˜์œ ๊ถํ•ฉ ์„ค๋ช…": {
180
+ "INFP": "INFP๋Š” ์ด์ƒ์ ์ด๊ณ  ๊ฐ์ •์ ์ธ ์„ฑํ–ฅ์ด ๊ฐ•ํ•ด, ESTJ์˜ ์‹ค์šฉ์ ์ด๊ณ  ๋…ผ๋ฆฌ์ ์ธ ์„ฑํ–ฅ๊ณผ ์ถฉ๋Œํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.",
181
+ "INFJ": "INFJ๋Š” ๊ฐ์ •์ ์ด๊ณ  ๋‚ด์„ฑ์ ์ธ ์„ฑํ–ฅ์ด ๊ฐ•ํ•ด, ESTJ์˜ ์™ธํ–ฅ์ ์ด๊ณ  ์‹ค์šฉ์ ์ธ ์„ฑํ–ฅ๊ณผ ๋งž์ง€ ์•Š์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค."
182
+ }
183
+ },
184
+ "ESFJ": {
185
+ "์„ฑ๊ฒฉ": "์‚ฌ๊ต์ ์ด๊ณ  ํ˜‘๋ ฅ์ ์ธ ์ง€์›์ž",
186
+ "์ง์—…": "๊ต์‚ฌ, ๊ฐ„ํ˜ธ์‚ฌ, ์ด๋ฒคํŠธ ํ”Œ๋ž˜๋„ˆ",
187
+ "๊ถํ•ฉ": ["ISFP", "ISTP"],
188
+ "๋‚˜์œ ๊ถํ•ฉ": ["INTP", "INTJ"],
189
+ "๊ถํ•ฉ ์„ค๋ช…": {
190
+ "ISFP": "ISFP๋Š” ESFJ์˜ ๋ฐฐ๋ ค์‹ฌ์„ ์ดํ•ดํ•˜๋ฉฐ, ํ•จ๊ป˜ ๋”ฐ๋œปํ•œ ์ธ๊ฐ„๊ด€๊ณ„๋ฅผ ์œ ์ง€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.",
191
+ "ISTP": "ISTP๋Š” ESFJ์˜ ์„ธ์‹ฌํ•จ์„ ๋ณด์™„ํ•˜๋ฉฐ, ํ˜„์‹ค์ ์ธ ๋ฌธ์ œ ํ•ด๊ฒฐ์— ๋„์›€์„ ์ค๋‹ˆ๋‹ค."
192
+ },
193
+ "๋‚˜์œ ๊ถํ•ฉ ์„ค๋ช…": {
194
+ "INTP": "INTP๋Š” ๋…ผ๋ฆฌ์ ์ด๊ณ  ๋ถ„์„์ ์ธ ์„ฑํ–ฅ์ด ๊ฐ•ํ•ด, ESFJ์˜ ๊ฐ์ •์ ์ด๊ณ  ์‚ฌ๊ต์ ์ธ ์„ฑํ–ฅ๊ณผ ์ถฉ๋Œํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.",
195
+ "INTJ": "INTJ๋Š” ์ „๋žต์ ์ด๊ณ  ์žฅ๊ธฐ์ ์ธ ๊ณ„ํš์„ ์ค‘์‹œํ•˜์—ฌ, ESFJ์˜ ์ฆ‰๊ฐ์ ์ธ ํ–‰๋™๊ณผ ๋งž์ง€ ์•Š์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค."
196
+ }
197
+ },
198
+ "ISTP": {
199
+ "์„ฑ๊ฒฉ": "์œ ์—ฐํ•˜๊ณ  ์ฐฝ์˜์ ์ธ ๋ฌธ์ œ ํ•ด๊ฒฐ์‚ฌ",
200
+ "์ง์—…": "์—”์ง€๋‹ˆ์–ด, ๊ธฐ์ˆ ์ž, ํŒŒ์ผ๋Ÿฟ",
201
+ "๊ถํ•ฉ": ["ESFJ", "ESTJ"],
202
+ "๋‚˜์œ ๊ถํ•ฉ": ["ENFJ", "ESFP"],
203
+ "๊ถํ•ฉ ์„ค๋ช…": {
204
+ "ESFJ": "ESFJ๋Š” ISTP์˜ ์ฐฝ์˜์ ์ธ ๋ฌธ์ œ ํ•ด๊ฒฐ ๋Šฅ๋ ฅ์„ ์กด์ค‘ํ•˜๋ฉฐ, ํ•จ๊ป˜ ์‹ค์šฉ์ ์ธ ๋ชฉํ‘œ๋ฅผ ๋‹ฌ์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.",
205
+ "ESTJ": "ESTJ๋Š” ISTP์˜ ์œ ์—ฐํ•จ์„ ๋ณด์™„ํ•˜๋ฉฐ, ์ฒด๊ณ„์ ์ธ ๋ฌธ์ œ ํ•ด๊ฒฐ์— ๋„์›€์„ ์ค๋‹ˆ๋‹ค."
206
+ },
207
+ "๋‚˜์œ ๊ถํ•ฉ ์„ค๋ช…": {
208
+ "ENFJ": "ENFJ๋Š” ๊ฐ์ •์ ์ด๊ณ  ์‚ฌ๊ต์ ์ธ ์„ฑํ–ฅ์ด ๊ฐ•ํ•ด, ISTP์˜ ๋…ผ๋ฆฌ์ ์ด๊ณ  ๋…๋ฆฝ์ ์ธ ์„ฑํ–ฅ๊ณผ ์ถฉ๋Œํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.",
209
+ "ESFP": "ESFP๋Š” ์ฆ‰ํฅ์ ์ด๊ณ  ์™ธํ–ฅ์ ์ธ ์„ฑํ–ฅ์ด ๊ฐ•ํ•ด, ISTP์˜ ์‹ ์ค‘ํ•˜๊ณ  ๋ถ„์„์ ์ธ ์„ฑํ–ฅ๊ณผ ๋งž์ง€ ์•Š์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค."
210
+ }
211
+ },
212
+ "ISFP": {
213
+ "์„ฑ๊ฒฉ": "์˜ˆ์ˆ ์ ์ด๊ณ  ๊ฐ๊ฐ์ ์ธ ์žฅ์ธ",
214
+ "์ง์—…": "๋””์ž์ด๋„ˆ, ์˜ˆ์ˆ ๊ฐ€, ์Œ์•…๊ฐ€",
215
+ "๊ถํ•ฉ": ["ESFJ", "ESTJ"],
216
+ "๋‚˜์œ ๊ถํ•ฉ": ["ENTJ", "ENTP"],
217
+ "๊ถํ•ฉ ์„ค๋ช…": {
218
+ "ESFJ": "ESFJ๋Š” ISFP์˜ ๊ฐ์ •์ ์ด๊ณ  ์˜ˆ์ˆ ์ ์ธ ์„ฑํ–ฅ์„ ์ดํ•ดํ•˜๋ฉฐ, ํ•จ๊ป˜ ๋”ฐ๋œปํ•œ ์ธ๊ฐ„๊ด€๊ณ„๋ฅผ ์œ ์ง€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.",
219
+ "ESTJ": "ESTJ๋Š” ISFP์˜ ์œ ์—ฐํ•จ์„ ๋ณด์™„ํ•˜๋ฉฐ, ์‹ค์šฉ์ ์ธ ๋ฌธ์ œ ํ•ด๊ฒฐ์— ๋„์›€์„ ์ค๋‹ˆ๋‹ค."
220
+ },
221
+ "๋‚˜์œ ๊ถํ•ฉ ์„ค๋ช…": {
222
+ "ENTJ": "ENTJ๋Š” ๋…ผ๋ฆฌ์ ์ด๊ณ  ๊ณ„ํš์ ์ธ ์„ฑํ–ฅ์ด ๊ฐ•ํ•ด, ISFP์˜ ์ฆ‰ํฅ์ ์ด๊ณ  ๊ฐ์ •์ ์ธ ์„ฑํ–ฅ๊ณผ ์ถฉ๋Œํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.",
223
+ "ENTP": "ENTP๋Š” ๋น„ํŒ์ ์ด๊ณ  ์‹คํ—˜์ ์ธ ์„ฑํ–ฅ์ด ๊ฐ•ํ•ด, ISFP์˜ ๊ฐ์ •์ ์ด๊ณ  ์˜ˆ์ˆ ์ ์ธ ์„ฑํ–ฅ๊ณผ ๋งž์ง€ ์•Š์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค."
224
+ }
225
+ },
226
+ "ESTP": {
227
+ "์„ฑ๊ฒฉ": "๋ชจํ—˜์ ์ด๊ณ  ์ฆ‰ํฅ์ ์ธ ํ™œ๋™๊ฐ€",
228
+ "์ง์—…": "๊ธฐ์—…๊ฐ€, ์šด๋™์„ ์ˆ˜, ๊ฒฝ์ฐฐ",
229
+ "๊ถํ•ฉ": ["ISFJ", "ISTJ"],
230
+ "๋‚˜์œ ๊ถํ•ฉ": ["INFJ", "INTJ"],
231
+ "๊ถํ•ฉ ์„ค๋ช…": {
232
+ "ISFJ": "ISFJ๋Š” ESTP์˜ ํ™œ๋™์ ์ด๊ณ  ๋ชจํ—˜์ ์ธ ์„ฑํ–ฅ์„ ์ดํ•ดํ•˜๋ฉฐ, ํ•จ๊ป˜ ํ˜„์‹ค์ ์ธ ๋ชฉํ‘œ๋ฅผ ๋‹ฌ์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.",
233
+ "ISTJ": "ISTJ๋Š” ESTP์˜ ์ฆ‰ํฅ์ ์ธ ์„ฑํ–ฅ์„ ๋ณด์™„ํ•˜๋ฉฐ, ์ฒด๊ณ„์ ์ธ ๋ฌธ์ œ ํ•ด๊ฒฐ์— ๋„์›€์„ ์ค๋‹ˆ๋‹ค."
234
+ },
235
+ "๋‚˜์œ ๊ถํ•ฉ ์„ค๋ช…": {
236
+ "INFJ": "INFJ๋Š” ๊ฐ์ •์ ์ด๊ณ  ๋‚ด์„ฑ์ ์ธ ์„ฑํ–ฅ์ด ๊ฐ•ํ•ด, ESTP์˜ ์™ธํ–ฅ์ ์ด๊ณ  ์ฆ‰ํฅ์ ์ธ ์„ฑํ–ฅ๊ณผ ์ถฉ๋Œํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.",
237
+ "INTJ": "INTJ๋Š” ์ „๋žต์ ์ด๊ณ  ์žฅ๊ธฐ์ ์ธ ๊ณ„ํš์„ ์ค‘์‹œํ•˜์—ฌ, ESTP์˜ ์ฆ‰๊ฐ์ ์ธ ํ–‰๋™๊ณผ ๋งž์ง€ ์•Š์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค."
238
+ }
239
+ },
240
+ "ESFP": {
241
+ "์„ฑ๊ฒฉ": "์‚ฌ๊ต์ ์ด๊ณ  ์—ด์ •์ ์ธ ์—ฐ์˜ˆ์ธ",
242
+ "์ง์—…": "๋ฐฐ์šฐ, ์—ฐ์˜ˆ์ธ, ์ด๋ฒคํŠธ ํ”Œ๋ž˜๋„ˆ",
243
+ "๊ถํ•ฉ": ["ISFJ", "ISTJ"],
244
+ "๋‚˜์œ ๊ถํ•ฉ": ["INTJ", "INFJ"],
245
+ "๊ถํ•ฉ ์„ค๋ช…": {
246
+ "ISFJ": "ISFJ๋Š” ESFP์˜ ํ™œ๋ฐœํ•˜๊ณ  ์‚ฌ๊ต์ ์ธ ์„ฑํ–ฅ์„ ์ดํ•ดํ•˜๋ฉฐ, ํ•จ๊ป˜ ๋”ฐ๏ฟฝ๏ฟฝํ•œ ์ธ๊ฐ„๊ด€๊ณ„๋ฅผ ์œ ์ง€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.",
247
+ "ISTJ": "ISTJ๋Š” ESFP์˜ ์ฆ‰ํฅ์ ์ธ ์„ฑํ–ฅ์„ ๋ณด์™„ํ•˜๋ฉฐ, ํ˜„์‹ค์ ์ธ ๋ฌธ์ œ ํ•ด๊ฒฐ์— ๋„์›€์„ ์ค๋‹ˆ๋‹ค."
248
+ },
249
+ "๋‚˜์œ ๊ถํ•ฉ ์„ค๋ช…": {
250
+ "INTJ": "INTJ๋Š” ๋…ผ๋ฆฌ์ ์ด๊ณ  ๊ณ„ํš์ ์ธ ์„ฑํ–ฅ์ด ๊ฐ•ํ•ด, ESFP์˜ ์ฆ‰ํฅ์ ์ด๊ณ  ๊ฐ์ •์ ์ธ ์„ฑํ–ฅ๊ณผ ์ถฉ๋Œํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.",
251
+ "INFJ": "INFJ๋Š” ๊ฐ์ •์ ์ด๊ณ  ๋‚ด์„ฑ์ ์ธ ์„ฑํ–ฅ์ด ๊ฐ•ํ•ด, ESFP์˜ ์™ธํ–ฅ์ ์ด๊ณ  ํ™œ๋™์ ์ธ ์„ฑํ–ฅ๊ณผ ๋งž์ง€ ์•Š์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค."
252
+ }
253
+ }
254
  }
255
 
 
256
  def calculate_mbti_responses(responses):
257
  scores = np.zeros(16) # 16๊ฐ€์ง€ MBTI ์œ ํ˜•์— ๋Œ€ํ•œ ์ ์ˆ˜
258
  for i, response in enumerate(responses):
 
 
259
  if response == "๋งค์šฐ ๊ทธ๋ ‡๋‹ค":
260
  scores += np.random.randint(5, 10, size=16)
261
  elif response == "๊ทธ๋ ‡๋‹ค":
 
266
  scores -= np.random.randint(2, 5, size=16)
267
  elif response == "๋งค์šฐ ์•„๋‹ˆ๋‹ค":
268
  scores -= np.random.randint(5, 10, size=16)
269
+
270
  best_match_index = np.argmax(scores)
271
+ second_best_match_index = np.argsort(scores)[-2] # ๋‘ ๋ฒˆ์งธ๋กœ ๋†’์€ ์ ์ˆ˜์˜ ์ธ๋ฑ์Šค
272
+
273
+ # ๊ฐ€์žฅ ๋†’์€ ์ ์ˆ˜์™€ ๋‘ ๋ฒˆ์งธ๋กœ ๋†’์€ ์ ์ˆ˜์˜ ์ฐจ์ด
274
+ score_difference = scores[best_match_index] - scores[second_best_match_index]
275
+
276
+ # ์‹ ๋ขฐ๋„๋ฅผ ์ ์ˆ˜ ์ฐจ์ด์— ๋”ฐ๋ผ ๊ณ„์‚ฐ
277
+ if score_difference > 15:
278
+ percentage = 95 + np.random.randint(0, 5) # ๋งค์šฐ ๋†’์€ ์‹ ๋ขฐ๋„
279
+ elif score_difference > 10:
280
+ percentage = 85 + np.random.randint(0, 10) # ๋†’์€ ์‹ ๋ขฐ๋„
281
+ elif score_difference > 5:
282
+ percentage = 75 + np.random.randint(0, 10) # ์ค‘๊ฐ„ ์‹ ๋ขฐ๋„
283
+ else:
284
+ percentage = 60 + np.random.randint(0, 15) # ๋‚ฎ์€ ์‹ ๋ขฐ๋„
285
+
286
  best_match_type = list(mbti_types.keys())[best_match_index]
 
287
  return best_match_type, percentage
288
 
289
+
290
  # Gradio UI ๊ตฌ์„ฑ
291
  def mbti_quiz(*responses):
292
  mbti_type, percentage = calculate_mbti_responses(responses)
 
294
  details = mbti_types[mbti_type]
295
  result += f"\n\n์„ฑ๊ฒฉ ์„ค๋ช…: {details['์„ฑ๊ฒฉ']}"
296
  result += f"\n์ถ”์ฒœ ์ง์—…: {details['์ง์—…']}"
 
 
 
297
 
298
+ # ์ข‹์€ ๊ถํ•ฉ ์„ค๋ช… ์ถ”๊ฐ€
299
+ good_matches = details['๊ถํ•ฉ']
300
+ good_explanations = details['๊ถํ•ฉ ์„ค๋ช…']
301
+ result += f"\n\n์ข‹์€ ๊ถํ•ฉ:"
302
+ for match in good_matches:
303
+ result += f"\n- {match}: {good_explanations[match]}"
304
+
305
+ # ๋‚˜์œ ๊ถํ•ฉ ์„ค๋ช… ์ถ”๊ฐ€
306
+ bad_matches = details['๋‚˜์œ ๊ถํ•ฉ']
307
+ bad_explanations = details['๋‚˜์œ ๊ถํ•ฉ ์„ค๋ช…']
308
+ result += f"\n\n๋‚˜์œ ๊ถํ•ฉ:"
309
+ for match in bad_matches:
310
+ result += f"\n- {match}: {bad_explanations[match]}"
311
+
312
+ # ์ด๋ฏธ์ง€ ํŒŒ์ผ ๊ฒฝ๋กœ ์ถ”๊ฐ€
313
+ image_path = f"./{mbti_type}.webp"
314
+
315
+ return result, image_path
316
+
317
+ # Gradio UI ๊ตฌ์„ฑ
318
+ def display_results(text, image):
319
+ return text, image
320
+
321
+ inputs = [gr.Radio(["๋งค์šฐ ๊ทธ๋ ‡๋‹ค", "๊ทธ๋ ‡๋‹ค", "๋ณดํ†ต์ด๋‹ค", "์•„๋‹ˆ๋‹ค", "๋งค์šฐ ์•„๋‹ˆ๋‹ค"], label=question) for question in questions]
322
+ output_text = gr.Textbox(label="MBTI ๊ฒฐ๊ณผ")
323
+ output_image = gr.Image(label="์œ ํ˜• ์ด๋ฏธ์ง€")
324
 
325
+ iface = gr.Interface(fn=mbti_quiz, inputs=inputs, outputs=[output_text, output_image], title="MBTI ์„ฑ๊ฒฉ ์œ ํ˜• ํ…Œ์ŠคํŠธ", description="20๊ฐœ ์ด์ƒ์˜ ์งˆ๋ฌธ์„ ํ†ตํ•ด MBTI ์„ฑ๊ฒฉ ์œ ํ˜•์„ ๋ถ„์„ํ•˜์„ธ์š”.")
 
326
  iface.launch()