자연어처리에 관해 조언을 듣고 싶습니다..

sadrove의 이미지

KLDP 성격과는 좀 안 맞는 것 같지만..
넓은 범위에서는 맞기도 한 것 같아서...
그리고 가장 편안하게 질문할 수 있는 곳이 이곳뿐이라서 ...^^

최근에 온톨로지 언어를 공부하면서...
자연어처리 라는 분야를 알게 됐습니다..(좀 다르긴 하지만..^^;;)
자연어처리에 대한 정확한 개념조차 모르지만...
제 생각엔 컴퓨터에게 언어의 상관관계를 가르친다 정도 같습니다..
단순히 겉만 핥는게 아니라 좀 체계적으로 배우고 싶은데요..(대학에서 배우는 이론적인 것들처럼...)
참고할만한 서적이나.. 보통 자연어처리를 배우는 커리큘럼이 어떤식으로 되어 있는지 알 수 있을까요..
웹에서는 단순한 소개정도외에 자세한 사항을 찾기가 어렵네요..
어느정도 개념을 익혀서 제가 추구하는 방향과 맞으면 대학원을 이쪽으로 생각하고 있습니다..
처음엔 인공지능(신경망관련)쪽으로 대학원 진학을 생각했으나... 오히려 자연어처리가 컴퓨터에게 지능을 가르치는데 더 적합하다는 생각이 드네요..
신경망쪽은 지능이라기보다 생명쪽에 적합한 생각이 들고..(무지에서 비롯된 지극히 개인적인 생각입니다.. :wink: )

내용이 좀 두서없지만 이쪽(인공지능(생각하는 컴퓨터))과 관련하여 어떤 내용이라도 좋으니 많은 조언 부탁드릴께요..

saxboy의 이미지

글쎄요. 자연어처리는 생각하시는 것처럼 그렇게 매력적이기만 한 분야라고 할 수는 없습니다. 굳이 비유하자면 ambiguity resolution이 극도로 강조된 컴파일러라고 하면 어떨까 합니다.

커리큘럼(?)은 보통 James Allen, Natural Language Understanding 을 입문교재로 많이 사용하고, 여기에 통계적 방법론을 다룬 Christopher D. Manning, Hinrich Schtze, Foundations of Statistical Natural Language Processing을 함께 다룹니다. 어느 분야나 그렇듯, 책 한두권 정도의 백그라운드만 있으면 그 다음부터는 할 일을 찾을 수 있게 마련이지요.

저는 NLP쪽을 전공하지는 않았습니다만, 보통 NLP, machine learning, information retrieval 의 세 분야는 묶어서 다루는 경우가 많습니다. 러닝 쪽은 NLP/IR과 관련이 있기도 하고 없기도 하지만 세 부분이 대부분의 방법론을 공유하거나 어플리케이션이 같거나 한 경우가 참 많습니다.

확실한 것은 "생각하는 컴퓨터"와 NLP와는 (현실적으로는) 별로 관계가 없다는 것입니다.

sadrove의 이미지

saxboy wrote:

확실한 것은 "생각하는 컴퓨터"와 NLP와는 (현실적으로는) 별로 관계가 없다는 것입니다.

답변 감사드립니다..
(현실적으로는) 의 의미에 대해서 좀 더 설명 부탁드릴 수 있을까요..?

codebank의 이미지

sadrove wrote:
saxboy wrote:

확실한 것은 "생각하는 컴퓨터"와 NLP와는 (현실적으로는) 별로 관계가 없다는 것입니다.

답변 감사드립니다..
(현실적으로는) 의 의미에 대해서 좀 더 설명 부탁드릴 수 있을까요..?


생각하는 컴퓨터란 AI 즉, 흔히들 말하는 인공지능을 예로 들수가 있겠죠.
NLP라하면 자연언어처리로 컴퓨터가 생각을 하는게 아니라 정해진 패턴에 의해서
분석된 것들중 가장 많은 점수를 받은 결과를 도출하는 형태가 되는 것입니다.
예전에 잠시 NLP와 관련된 일을 한적이 있었죠. 지금은 잘 모르겠지만 '별이'라는
프로그램 이었습니다. 그당시 'MAX'라는 프로그램도 나와서 좋은 경쟁상대였다고
생각했죠.
말이 옆으로 빠졌네요. 어쨌든 그당시 제가 담당했던 부분이 각 단어별 점수가 주어
지고나서 생긴 연결고리들을 나름대로 조합을 시켜서 Linked List화 시키고 점수별로
Sort시키고 그런일을 한적이 있었죠.
단어하나에 64가지의 속성을 가지게 되고 각 단어와 연결되는 단어들의 조합관계등등...
지금 생각해도 어렵네요.
어쨌든 이런식으로 처리를해서 입력된 문장을 분석하고 분석된 문장중에서 최고로
높은 점수를 받은 분석결과를 도출하는게 NLP입니다.
이 분석결과를 이용해서 여러가지를 할 수도 있었지만 그당시엔 컴퓨터와 대화하는
것에 응용을 했었죠.

인공지능이란 정해진 패턴에 따른 동작을 하기도 하지만 스스로 무언가를 추가하거나
필요없다고 생각되어지는것은 삭제도 가능해야하지 않을까 생각합니다.

사실 제가 작업했던 부분도 인공지능이라는 모양을 가지고 출발을 했지만 결국엔
그에 도달하지 못해서 더이상 발전이 없었기에 다른 일을 찾아야만 했었죠.

두서없이 글을 써버렸는데 결론은 NLP는 분석단계로 끝난다는 것이고 그 자체가
인공지능일 수는 없지만 인공지능의 한부분에 포함될 수는 있다라는게 제 생각입니다.

------------------------------
좋은 하루 되세요.