늅늅이 좀 도와주라
내가 하고싶은건 주어진 키워드로 자연스러운 문장을 만드는 거거든?
예를들면 [나, 사과, 먹다] 라고 주어 목적어 동사를 주면 나는 사과를 먹었다. 라는 문장을 완성해 주는거지.
더 나아가 주어진 단어를 비슷한 의미의 다른 단어로 바꾼다던가 여러개의 문장을 자연스럽게 연결한다던가 하는것까지 하고싶어.
예를들면 [[엄마,사과,주다],[나, 사과, 먹다]] 이걸
1. 엄마가 사과를 줬다. 나는 사과를 먹었다.
2. 나는 엄마가 준 사과를 먹었다.
3. 엄마가 사과를 주길래 나는 그것을 먹었다.
이렇게 문장 하나를 명사절로 만들어서 두개 문장을 합친다거나 목적어를 대명사로 치환한다거나 하는 기능도 필요한거지
처음엔 몇가지 키워드를 배치하고 나머지를 국어 문법에 따라서 채워넣는 식으로 해보려고 했는데 우리나라 말이 시발 존나 교착어 개 ㅈ..
이걸 배워서 우리말 하는 외국인 새끼들은 미친놈이 분명하다는 결론만 얻었다.
그래서 미리 주어진 대사와 그 대사가 등장한 몇가지 파라미터들을 측정해서
딥러닝 같은걸로 문장을 막 스까서 완성할 수 있지 않을까? 하고 찾아봤는데
근데 인터넷도 뒤지고 서점가서 책도 뒤지고 했는데온통 딥러닝으로 자연어를 어떻게 이해할것인가에 초점이 맞춰져있는것 같더라..
Seq2Seq이고 RNN이고 읽어봐도 딥러닝쪽으로는 아는게 너무 짧아서 결국 어떻게 하나의 문장을 구성해내는지를 잘 모르겠음
나는 봇이 내가 전혀 언급하지 않은 다음 상황을 추측해서 만들어가는건 원하지도 않는다.
오히려 좀 결과물이 다 비슷해보이더라도 내가 준 키워드에 자의적인 의미를 추가해서 내가 의도하지 않은 문맥을 만들어내지 말았으면 좋겠음
내가 뭘 찾아보고 어떤걸 공부하면 좋을지 좀 알려주지 않겠니?
아니면 진짜 딥러닝으로 해결해야 된다면 좀 더 진지하게 파봐야할 분야도 알려주면 열심히 한번 해볼게!
도와드렸습니다! 힘내세욧!!!
뭘 도와줬다는거야
확인^^ - dc App
뭘 확인해;
해당 댓글은 삭제되었습니다.
포맷이 아니라 템플릿
저거 주제로 한국어 논문 하나 뚝딱 비빌 수 있겠다
이거 지우면 궁금해하겠지?
외국꺼긴 한데 GPT-2 같은것도 있고
딥러닝쪽으로 가야됨. 제대로 할거면 현재 쓰고 있는 방법론으로 설명해보자면 BERT같은거 써서 next sentence prediction방법으로 해결하면 명사 동사만으로 그럴듯한 문장 만드는거 충분히 가능할거같음 근데 훈련데이터가 엄청 필요해서 개인이 하기에는 너무 힘듬
남에게 의존하는 습관을 버리고 스스로 생각해라. 유명한 알고리즘도 알고보면 별거 아닌걸로 시작해서 최적화 거치면서 복잡해 지는거지 처음부터 복잡하지는 않다.
몇개의 단어로 문장을 만드는 몇가지 방법을 생각나는 대로 써보겠다. 1. 온라인으로 뉴스나 백과사전 논문등을 다운로드 받아서 전처리 데이터를 만들수있다. 어떻게 전처리를 해야하는지는 지금 단계에서는 넘어가고 나중에 니 알고리즘이 완성되면 그 알고리즘을 더 빠르게 계산하는 쪽으로 하면된다. 니가 만들고 싶어하는 문장의 길이는? '사과' 라는 하나의 단어로 논문을 쓸수도 있고 단문을 쓸수 도 있으니까 얼마나 긴 문장을 만들고 싶은지 결정 철수, 사과, 영희 3개의 단어로 만들수 있는 적절한 문장이 무엇인가? 이건 니가 추구하는 알고리즘이 어떤 성격인지에 따라 달라질수 있으니 니가 문장을 만들어봐라. 대충 내가 생각하는 것은 "철수가 영희에게 사과를 주었습니다."
"영희가 철수에게 사과 하였습니다." 뭐 이런 문장을 생각할 수 있겠다. 그럼 내가 생각하는 문장의 이상적인 길이는 '키워드의 총 길이 x 2' 정도를 생각할 수 있다. 길이는 변수로 바꿔가면서 실행가능하게 하면 좋겠지. 여기서 전 처리 데이터가 필요해진다. 만약 니가 책과 신문, 인터넷 자료등을 사용해서 전처리 데이터를 만들었면 그 데이터를 통계내어서 철수, 영희, 사과 라는 글자가 들어가면서 길이가 L 이하인 가장 많이 사용된 문장을 구할 수 있을 것이다.
많이 사용된 문장 순서로 출력해 주면 된다. 여기서 좀 더 개선할 수 있는 방법이 철수와 영희는 사람의 이름이다. 영철, 순희로 바꾼다고 알고리즘이 달라질 필요는 없기 때문에 사람의 이름은 PERSON_NAME으로 치환 할 수 있다. 그럼 도시 이름은? 동물 이름은? 이런 추가적인 개선을 생각할 수 있는데 그러다 보면 Word Vector를 생각하게 될것이다. 더이상 길게는 짜증나서 안 적겟다.
더이상 길게는 안 적으려고 했는데, 마르코프 모델, SVM 이런것도 보면 도움된다. 가장 간단한 알고리즘은 TFIDF인데 그거 보면 영감을 좀 얻을수 있을거 같네.
워드벡터의 훈련 데이터는 구글이 잘 만들어서 공유 해 놓았다. 그냥 다운 받아서 쓰면 되지만 한글로 된건 없지싶다.
참고로 내가 적은건 가장 간단하고 이해하기 쉬운 알고리즘을 예로 든건데, 복잡한 알고리즘도 이런 개념에서 출발하는거다.
이 정도면 도와준거 맞나??
결국 딥러닝 파야된다는거네 한글쪽은 아직 데이터가 충분칠 않으니 개인적으로 뮐 해보기가 쉽진 않겠다 그래도 공부하는 차원에서 알려준것들 좀 찾아볼게 고마어