ํ์ธํ๋ ๋ฐ์ดํฐ๋ฅผ ๋ง๋ค๋ ์ค ์๋์ฒ๋ผ ์๋จ์ด์ ๋ป์ผ๋ก ๊ตฌ์ฑ๋ jsonํ์ผ์ด ํ์ํ๋ค. ๋๋ต 500๊ฐ์ ๋ ์์ผ๋ฉด ์ถฉ๋ถํ ๊ฑฐ ๊ฐ์๋ค.
{
"plain": "์์งํ",
"parallel": "ํํํ",
"crack": "๊ธ์ด ๊ฐ๋ค",
"Red": "๋นจ๊ฐ์",
"deal": "๊ฑฐ๋",
"size": "ํฌ๊ธฐ",
}
ํน์๋ํด์ chatgpt์๊ฒ ๋ฌผ์ด๋ณด๋ ๋ฐ๋ก ๋ง๋ค์ด์คฌ๋ค. ๊ทธ๋ฐ๋ฐ ๋จ์ง ๊ฒฐ๊ณผ๋ง ์๋ ค์ค๊ฒ ์๋๋ผ ํ์ด์ฌ ์ฝ๋๋ ํจ๊ป ์๋ ค์คฌ๋ค.
๋๋ ์ฝ๋๋ฅผ ์๊ตฌํ์ ๋ ์์๋๋ฐ ๋ง์ด๋ค. (์๋ง๋ ์ด์ ๋ํ๊ธฐ๋ก์ ๋ฐํ์ผ๋ก ์ถ๋ก ํ์๊ฒ์ด๋ค)
๋๊ตฌ๋ ๋๋ ์ฝ๋๋ก ์ด๋ฐ๊ฑธ ๋ง๋ค์ด๋ด๋์๊ฐ ์์๊ฑฐ๋ผ ์๊ฐํ์ ๋ ์์๋ค.
์ฝ๋๋ฅผ ๋ณด๋ ntlk๋ผ๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์์ ์์ด์ฌ์ ์ด ์๊ณ ์ด๊ฒ์ ๊ฐ์ ธ์ ๊ตฌ๊ธ ๋ฒ์ญ api๋ก ๋ฒ์ญ์ ํ๋ ๊ฒ ๊ฐ๋ค.
๋ง์ ์ฝ๋๋ฅผ ๋๋ ค๋ณด๋ ์ฌ๋๋ค์ด ๊ฑฐ์ ์ฌ์ฉํ์ง ์๋ ๋จ์ด๋ค์ ๋ฌด์์๋ก 500๊ฐ ๊ฐ์ ธ์ค๊ธฐ์
ํ๋ฒ ๋ chatgpt์ ํ์ ๋น๋ ค ์ฝ๋๋ฅผ ๋ณด๊ฐํ๋ค.
๊ธฐ๋ฅ์ ์๋์ ๊ฐ๋ค.
1. ์์ฑํ๊ณ ์ ํ๋ ์๋จ์ด ์๋ฅผ ์ ๋ ฅํ๋ฉด(์๋ ์ฃผ์๋ถ๋ถ์ ์์ )
2. ์์๋น๋ 5000๊ฐ์ ๋จ์ด๋ฅผ ๋จผ์ ๊ฐ์ ธ์(๋ฌผ๋ก ์ด๊ฒ๋ ์๋ ์ฝ๋์์ 5000์ ์ํ๋ ๊ฐ์ผ๋ก ์์ ํ๋ฉด๋๋ค)
3. ๊ทธ ์ค ๋ช ์ฌ์ ๋์ฌ๋ง ์ถ๋ ค๋ธ ํ
4. ๋๋คํ๊ฒ 500๊ฐ๋ง jsonํ์์ผ๋ก ํ์ผ๋ก ์ ์ฅํ๋ ๊ฒ์ด๋ค.
* ์ด์ ๋๋ ค๋ณด์
1. ๋จผ์ ์ค์นํ ๊ฒ ํ๋์๋ค
pip install nltk googletrans==4.0.0-rc1
2. ๋ค์ ์๋ ์ฝ๋๋ฅผ ๊ทธ๋ฅ ๋ถ์ฌ๋ฃ๊ธฐํ๊ณ ๋๋ฆฌ๋ฉด ๋๋ค.
- ์ฒ์์๋ ์ฌ์ ์ ๋ค์ด๋ก๋ ํ๋๋ฐ ์๊ฐ์ด ์ข ๊ฑธ๋ฆฐ๋ค
import random, time
import nltk
from nltk.corpus import words, brown
from collections import Counter
from googletrans import Translator
import json
# NLTK ๋ฐ์ดํฐ ๋ค์ด๋ก๋ (ํ๋ฒ๋ง ์คํํ๋ฉด ๋ฉ๋๋ค)
nltk.download('words')
nltk.download('brown')
nltk.download('averaged_perceptron_tagger')
# ์์ฑํ๊ณ ์ ํ๋ ์๋จ์ด ๊ฐ์๋ฅผ ์
๋ ฅ
word_count = 500
# ๋ชจ๋ ์์ด ๋จ์ด ๋ชฉ๋ก
word_list = words.words()
# Brown ์ฝํผ์ค์ ๋จ์ด ๋ชฉ๋ก๊ณผ ๋น๋ ๊ณ์ฐ
brown_words = brown.words()
word_freq = Counter(brown_words)
# ๋น๋๊ฐ ๋์ ์์ ๋จ์ด 5000๊ฐ ์ ํ
common_words = {word for word, freq in word_freq.most_common(5000)}
# word_list์์ ์์ ๋น๋ ๋จ์ด๋ง ์ ํ
filtered_word_list = [word for word in word_list if word.lower() in common_words]
# ํ์ฌ ํ๊น
ํ์ฌ ๋ช
์ฌ์ ๋์ฌ๋ง ํํฐ๋ง
tagged_words = nltk.pos_tag(filtered_word_list)
# ๋ช
์ฌ์ ๋์ฌ ํ์ฌ ํ๊ทธ ๋ชฉ๋ก
noun_tags = {'NN', 'NNS', 'NNP', 'NNPS'}
verb_tags = {'VB', 'VBD', 'VBG', 'VBN', 'VBP', 'VBZ'}
# ๋ช
์ฌ์ ๋์ฌ๋ง ํํฐ๋ง
filtered_nouns_and_verbs = [word for word, tag in tagged_words if tag in noun_tags or tag in verb_tags]
# ๊ทธ ์ค ๋๋คํ๊ฒ 500๊ฐ์ ๋จ์ด๋ฅผ ์ ํํฉ๋๋ค.
random_words = random.sample(filtered_nouns_and_verbs, word_count)
# Google Translate API๋ฅผ ์ฌ์ฉํ์ฌ ๋ฒ์ญํฉ๋๋ค.
translator = Translator()
translated_dict = {}
def save():
with open('translated_words.json', 'w', encoding='utf-8') as f:
json.dump(translated_dict, f, ensure_ascii=False, indent=4)
for idx, word in enumerate(random_words):
try:
translated_word = translator.translate(word, src='en', dest='ko').text
print(idx+1, word, translated_word)
translated_dict[word] = translated_word
time.sleep(1)
except:
print('์ค๊ฐ์ ์ค๋ฅ๋ฐ์. ์ง๊ธ๊น์ง ์์
ํ ๊ฒ๋ค ์ ์ฅํจ')
save()
# JSON ํ์ผ๋ก ์ ์ฅํฉ๋๋ค.
save()
print(f"{len(random_words)}๊ฐ์ ๋จ์ด๊ฐ ๋ฒ์ญ๋๊ณ JSON ํ์ผ๋ก ์ ์ฅ๋์์ต๋๋ค.")
์ ์ฝ๋๋ฅผ ๋๋ฆฌ๋ฉด ์๋ ํ์ผ๊ณผ ๊ฐ์ ๊ฒฐ๊ณผ๋ฅผ ์ป์ ์ ์๋ค.
๊ฑฐ์ 100% chatgpt๊ฐ ์ฝ๋ฉํ ๊ฒฐ๊ณผ์ด๊ณ ๋๋ ํธ์๋ฅผ ์ํ ์ฌ์ํ ์์ ๊ณผ ์ฝ๋ ์กฐํฉ๋ง ํ๋ค.
์ด์ชฝ ๋ถ์ผ์ ์์ผ๋ฉด์๋ ์์ผ ๋๋ผ์ด ์ธ์์์ ๋๋ ํ๋ฃจ์๋ค.
'Developments' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
์ฐ๋ถํฌ์์ ์ธํ ๋ด์ฅ ๊ทธ๋ํฝ ์นด๋ ์ฌ์ฉํ๊ธฐ (1) | 2024.06.27 |
---|---|
SayToRemember Github - ์์ด ๋ฃ๊ธฐ ํนํ ์น์๋น์ค (0) | 2023.07.03 |
WhiteBetting Github (0) | 2023.06.28 |
WSL ์ค์นํ๊ณ ๊ฒฝ๋ก๋ฅผ e: ๋ก ๋ฐ๊พธ๊ธฐ (0) | 2023.06.18 |
Three.js Geometry Training (0) | 2023.04.03 |