์ด๋ฒ ํฌ์คํธ์์๋ InstructGPT๋ฅผ ํ์ฉํด์ ๊ฐ์ฒด๋ช ์ธ์ ์์ ์ ํด๋ณด๋๋ก ํ๊ฒ ์ต๋๋ค. InstructGPT์ ์ค์น ๋ฐ OpenAI APIํค ๋ฐ๊ธ ๊ด๋ จํด์๋ ์ด์ ํฌ์คํ ์ ์ฐธ๊ณ ๋ถํ๋๋ฆฌ๊ฒ ์ต๋๋ค:
2023.01.17 - [๐ป ํ์ด์ฌ] - [API] ChatGPT Python์ผ๋ก ์ฌ์ฉํด ๋ณด๊ธฐ (์์ )
๊ฐ์ฒด๋ช ์ธ์ (Named Entity Recognition)
๊ฐ์ฒด๋ช ์ธ์์ด๋ ๋น์ ํ ํ ์คํธ์์ ์ฌ์ ์ ์ ์๋ ์นดํ ๊ณ ๋ฆฌ, ๋ถ๋ฅ์ ๊ฐ์ฒด๋ฅผ ๊ฐ์ ธ์ค๋ ์์ ์ ๋๋ค. ์ฌ์ ์ ์ ํ ์นดํ ๊ณ ๋ฆฌ๋ฅผ ๋ฐํ์ผ๋ก ํ์ํ ๊ฐ์ฒด๋ช ์ ๊ฐ์ ธ์ด์ผ๋ก์จ ๋น์ ํ ๋ฐ์ดํฐ๋ฅผ ์ ํํ์ํค๋ ์ผ์ข ์ ์ ์ฒ๋ฆฌ ์์ ์ ๋๋ค. ์๋์ ์๋ฅผ ๋ณด์๋ฉด ์ข ๋ ์ดํด๊ฐ ์์ํ ๊ฒ ๊ฐ์ต๋๋ค:
์ฌ๊ธฐ์ ์ฌ์ ์ ์ ์๋ ์นดํ ๊ณ ๋ฆฌ๋ [์ธ๋ฌผ, ๋ ์ง, ์ด๋ฒคํธ, ๊ธฐ์ , ๊ธ์ก] ์ด๋ฉฐ, ์ถ์ถ๋ ๊ฐ์ฒด๋ช ์ "์ฒ ์", "์ด์ ", "CES 2023", "์ผ์ฑ์ ์" "100๋ง ์"์ ๋๋ค. ๊ฐ์ฒด๋ช ์ธ์ ์์ ์ ํตํด ๋น์ ํ ๋ฐ์ดํฐ๋ฅผ ์๋์ ๊ฐ์ ์ ํํ๋ ๋ฐ์ดํฐ๋ก ์ ์ฒ๋ฆฌํ ์ ์์ต๋๋ค:
์นดํ ๊ณ ๋ฆฌ | ์ธ๋ฌผ | ๋ ์ง | ์ด๋ฒคํธ | ๊ธฐ์ | ๊ธ์ก |
๊ฐ์ฒด๋ช | ์ฒ ์ | ์ด์ | CES 2023 | ์ผ์ฑ์ ์ | 100๋ง์ |
๋ณดํต ๊ฐ์ฒด๋ช ์ธ์์ ์ํด์๋ Pororo์ ๊ฐ์ Python ํจํค์ง๋ฅผ ์ฌ์ฉํ๊ฑฐ๋, Konlpy์ ๊ฐ์ ํ๊ตญ์ด ํ ํฌ๋์ด์ ์ ์ฌ์ฉ์ ์ฌ์ ์ ์ถ๊ฐํ๊ธฐ๋ ํฉ๋๋ค. ํ์ต๋ฐ์ดํฐ๋ฅผ ์ฌ์ฉํด์ DL ๋ชจ๋ธ์ ๋๋ฆฌ๊ธฐ๋ ํ๋๋ฐ ์ฑ๋ฅ์ด ํฌ๊ฒ ์ข์ ํธ์ ์๋๋๋ค...
๊ทธ๋ผ InstructGPT๋ฅผ ํ์ฉํด์ NER์ ํด๋ณด๋๋ก ํ๊ฒ ์ต๋๋ค
์์ค์ฝ๋
import os
import openai
openai.api_key = 'OpenAI API Key'
def get_keywords(corpus, max_tokens=100):
if type(corpus) != str:
raise TypeError
else:
pretext = "A table with extracted named entities from the document below:\n\n"
table = "\n\n| Event | Company | Product | Person | Date |"
corpus = pretext + corpus + table
response = openai.Completion.create(
model="text-davinci-003",
prompt=corpus,
temperature=0,
max_tokens=max_tokens,
top_p=1.0,
frequency_penalty=0.0,
presence_penalty=0.0
)
return table+ "\n" + response['choices'][0]['text'].strip()
ํ ์คํธ ๊ฒฐ๊ณผ
๋ธ๋ฃธ๋ฒ๊ทธ์์ ๊ฐ์ ธ์จ ๊ธฐ์ฌ์ ์ผ๋ถ๋ฅผ ๋ฐ์ทํ์ฌ ์งํํ ๋ด์ฉ์ ๋๋ค. ์๋์ ๊ฐ์ด ๋์์ง ์์ ์ฑ๋ฅ์ ํ ์คํธ ๊ฒฐ๊ณผ๋ฅผ ๋ณด์ฌ์ค๋๋ค.
์ด๋ฒคํธ์ ๊ฒฝ์ฐ์๋ ์ ๋งคํ ๋ถ๋ถ์ด ์์ง๋ง ํ๋ฆฌ์ง๋ ์๋ค๊ณ ๋ณผ ์ ์๊ณ , ํ์ฌ๋ ์ ๊ฐ์ ธ์ค๋ ๊ฒ ๊ฐ์ต๋๋ค. ๋ค๋ง ์ค์๋ง์ ์ ์์๋ฃ์ง ๋ชปํ๋ ๊ฒ์ผ๋ก ๋ณด์ ๋๋ค. TSMC์ ๊ฐ์ ๋ถ๋ถ์ Ticker์นดํ ์ฝ๋ฆฌ๋ก ์ค์ ์ ํด์ผ ํ๋ ์ถ์ต๋๋ค. ์ ํ ๋ํ ์ ๊ฐ์ ธ์ค๋ ๊ฒ์ผ๋ก ๋ณด์ ๋๋ค. Baseline ๋ชจ๋ธ์ ์ฑ๋ฅ ์์ฒด๋ ํ๋ฅญํ๋ fine-tuning๋ง ์ํจ๋ค๋ฉด ์ฐ์ํ NER ๋ชจ๋ธ์ด ๋ ์ ์๋ ๊ฐ๋ฅ์ฑ์ด ๋ณด์ ๋๋ค.
'๐ป ITยท๊ธฐ์ ยทํต๊ณ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[API] ์ธ๊ณ ๊ฐ๊ตญ์ ๊ธฐ๋ณธ ์ ๋ณด ๊ฐ์ ธ์ค๊ธฐ (restcountries) (2) | 2023.02.06 |
---|---|
[API] ๋ฆฌ๊ทธ์ค๋ธ๋ ์ ๋: ์ฑํผ์ธ ๋ง๊ณ API๋ฅผ ๊ฐ์ง๊ณ ๋์๋ณด์ (2) | 2023.02.05 |
[API] OpenAI API ๊ฐ์ง๊ณ ๋๊ธฐ 1ํ: TL;DR (๊ธด๊ธ ์์ฝ) (0) | 2023.02.03 |
Python์ผ๋ก ์ฃผ์ฌ์ ๊ฒ์ ๋ง๋ค๊ธฐ (0) | 2023.02.03 |
[NLP] ์ ๊ทํํ์์ ํ์ฉํ ์ ์ฒ๋ฆฌ ๋ฐ ๋ฐ์ดํฐ ์ถ์ถ (0) | 2023.01.29 |
๋๊ธ