채팅 로봇에서 시작된 우리의 논의는 "지식의 분류화" 라는 공통점에서 합의점을 발견했었다.
그러나 내가 "언어에 대한 본질적인 인식"을 거론하면서 너와 의견대립으로 논의가 중단되어 버렸다.
지식의 분류화(유한 체계), 언어에 대한 본질적인 인식(무한 체계)의 대립이 되어 격론으로 빠진 것이지.
내가 던진 쟁점은 아래와 같았다.
인간은 언어를 어떻게 인식하는가?
(좀 더 자세히 표현해본다면: ) 인간의 뇌는 언어를 통해 어떻게 본질을 인식하는가?
본래 우리의 탐구주제인 단어 연관성보다 좀 더 본질적 의문으로 옮겨갔다. ( 이것은 다분히 내 의도적인 것임을 고백한다. )
인간은 단어를 어떻게 인식하는가?
이렇게 보다 본질적 의문으로 시작한다면, 우리의 주제인 "단어 연관성"에 대한 새로운 해석이 가능하지 않을까 싶다.
그에 대해선 다음 글에서 좀 더 즐거운 상상력과 함께 논의해보마
아직 위의 내용에 대한 나의 답변은 너에게 주지를 않았다. 그 답은 아직 몽상의 단계에서 그 형태를 찾기 위해 먹구름과 번개속에서 요동치고 있다.
하지만 일단 내가 한발자국 양보하여, 몽상의 번개는 잠시 놓아 두고, 그 전에, 현실적 탐구주제인 "단어 연관성" 에 대하여 먼저 좀 더 깊이 논의하고 싶다.
오늘 너와의 통화에서 위키나 구글을 탐색하여 언어를 카테고리로 해석하고 이것을 통하여 새로운 결론을 내릴 수 있음을 논의했다.
다음 문장에 대해 얘기했다.
질문) 귤꼭지는 젖을 먹는가?
사전지식)
1. 인간은 포유류다.
2. 포유류는 젖을 먹는다.
3. 귤꼭지는 인간이다.
답변) 귤꼭지는 젖을 먹는다. YES
이러한 삼단논법을 이용한 답변은, 기존의 사전지식을 기반으로 한 것이다.
사실 지식을 다이어그램화 하고, 그래프(Tree구조의 카테고리)로 만들어서 추론하는 것은 AI의 한 분야에서 이미 수십년전에 정립된 이론이 존재하는 것으로 안다. Expert System에서도 이런 것이 사용된다. 하지만 이것으로부터 제대로 된 추론을 할 수 있다는 결과는 나오지 못했다고 들었다. ( 그렇다고 우리도 그들과 같은 전철을 밟을 거라는 뜻은 전혀 아니다. )
단어들에 대하여 그물망 구조의 카테고리화를 하고 연결강도를 사용하여 애매모호한 확률적 가능성도 다룰 수 있게 한다면, 우리는 새로운 추론 알고리즘을 만들 수 있다고 생각한다.
언어가 영어라면 5형식으로 함축될 거야.
단어를 특정한 네트워크 카테고리로 구조화 하고 이를 수학적으로 연결강도에 의해 동적인 구조로 구성하고, 추론하도록 만든다면?
시간이 된다면 이러한 자료구조를 너와 같이 Coding하여 구현해보고 싶다.
우선 단순한 구조부터 구현한 후 복잡화할 수 있도록 진화시켜보고 싶다.
이 알고리즘은 Database와 적절한 랭귀지로 우리가 구현한다면 "Google"을 무너뜨리는 건 시간문제라고 생각한다.
물론 나의 목표는 구글 따위를 전복시키는 지루한 것은 아니다.
인간의 사고과정과 유사하거나, 인간보다 훌륭한 추론을 하는 소프트웨어를 우리 손으로 만들어 보고 싶은 것이다.
너의 고견을 들어 보고 싶다.
그러나 내가 "언어에 대한 본질적인 인식"을 거론하면서 너와 의견대립으로 논의가 중단되어 버렸다.
지식의 분류화(유한 체계), 언어에 대한 본질적인 인식(무한 체계)의 대립이 되어 격론으로 빠진 것이지.
내가 던진 쟁점은 아래와 같았다.
인간은 언어를 어떻게 인식하는가?
(좀 더 자세히 표현해본다면: ) 인간의 뇌는 언어를 통해 어떻게 본질을 인식하는가?
본래 우리의 탐구주제인 단어 연관성보다 좀 더 본질적 의문으로 옮겨갔다. ( 이것은 다분히 내 의도적인 것임을 고백한다. )
인간은 단어를 어떻게 인식하는가?
이렇게 보다 본질적 의문으로 시작한다면, 우리의 주제인 "단어 연관성"에 대한 새로운 해석이 가능하지 않을까 싶다.
그에 대해선 다음 글에서 좀 더 즐거운 상상력과 함께 논의해보마
아직 위의 내용에 대한 나의 답변은 너에게 주지를 않았다. 그 답은 아직 몽상의 단계에서 그 형태를 찾기 위해 먹구름과 번개속에서 요동치고 있다.
하지만 일단 내가 한발자국 양보하여, 몽상의 번개는 잠시 놓아 두고, 그 전에, 현실적 탐구주제인 "단어 연관성" 에 대하여 먼저 좀 더 깊이 논의하고 싶다.
오늘 너와의 통화에서 위키나 구글을 탐색하여 언어를 카테고리로 해석하고 이것을 통하여 새로운 결론을 내릴 수 있음을 논의했다.
다음 문장에 대해 얘기했다.
질문) 귤꼭지는 젖을 먹는가?
사전지식)
1. 인간은 포유류다.
2. 포유류는 젖을 먹는다.
3. 귤꼭지는 인간이다.
답변) 귤꼭지는 젖을 먹는다. YES
이러한 삼단논법을 이용한 답변은, 기존의 사전지식을 기반으로 한 것이다.
사실 지식을 다이어그램화 하고, 그래프(Tree구조의 카테고리)로 만들어서 추론하는 것은 AI의 한 분야에서 이미 수십년전에 정립된 이론이 존재하는 것으로 안다. Expert System에서도 이런 것이 사용된다. 하지만 이것으로부터 제대로 된 추론을 할 수 있다는 결과는 나오지 못했다고 들었다. ( 그렇다고 우리도 그들과 같은 전철을 밟을 거라는 뜻은 전혀 아니다. )
단어들에 대하여 그물망 구조의 카테고리화를 하고 연결강도를 사용하여 애매모호한 확률적 가능성도 다룰 수 있게 한다면, 우리는 새로운 추론 알고리즘을 만들 수 있다고 생각한다.
언어가 영어라면 5형식으로 함축될 거야.
단어를 특정한 네트워크 카테고리로 구조화 하고 이를 수학적으로 연결강도에 의해 동적인 구조로 구성하고, 추론하도록 만든다면?
시간이 된다면 이러한 자료구조를 너와 같이 Coding하여 구현해보고 싶다.
우선 단순한 구조부터 구현한 후 복잡화할 수 있도록 진화시켜보고 싶다.
이 알고리즘은 Database와 적절한 랭귀지로 우리가 구현한다면 "Google"을 무너뜨리는 건 시간문제라고 생각한다.
물론 나의 목표는 구글 따위를 전복시키는 지루한 것은 아니다.
인간의 사고과정과 유사하거나, 인간보다 훌륭한 추론을 하는 소프트웨어를 우리 손으로 만들어 보고 싶은 것이다.
너의 고견을 들어 보고 싶다.
댓글을 달아 주세요
논리 구조체 안에서 논리적인 질문에 대한 명확한 결과를 얻어 낼 수 있습니다. 다만, 속도의 문제는 있을 수 있습니다. 하지만, 형이 쓴 추론, 구조체를 벗어나는 결과, 는 얻어내기 힘들겠지요. 논리외적인 부분이니깐, 인과관계따위가 없을테니깐...요. 유한체인 컴퓨터는 .. 아무래도.. 좀 힘들겠죠. 논리 구조체 위에서 3단논법 정도의 알고리즘은 충분히 구현될 수 있습니다.
2009/05/06 11:58 [ ADDR : EDIT/ DEL : REPLY ]지난 전화통화에서의 언어강도... 확률적 으로 해석하기로 한건가요?
2009/05/06 11:59 [ ADDR : EDIT/ DEL : REPLY ]꼭 확률적일 필요는 없어 보임.. 그리고 확률이라면.. 어떻게 연관성의 확률을 만드는지요?
2009/05/06 11:59 [ ADDR : EDIT/ DEL : REPLY ]그래요.. 저의 최고 관심은 "언어간의 관계(함수)를 만들 수 있느냐!!!!" 입니다.
2009/05/06 12:01 [ ADDR : EDIT/ DEL : REPLY ]관계를 확률로 설정할수도.. 논리구조체안에 닫아 둘 수도.. 있겠지만.. 뭐 부터 해보지요?
2009/05/06 12:02 [ ADDR : EDIT/ DEL : REPLY ]각 언어가 동일한 내용을 담지 않고 있기 때문에 필연적으로 함수에서 누락되는 점들이 생기게 됩니다.
2009/09/23 17:07 [ ADDR : EDIT/ DEL : REPLY ]관심을 가지고 댓글 달아주셔서 감사합니다.
2009/10/05 11:36 [ ADDR : EDIT/ DEL ]각 언어가 동일한 내용을 담고 있지 않다는 것이 어떤 의미인지 부연설명을 주시면 좋겠네요. 제가 사용한 '언어'란 좀 더 구체적으로 표현한다면 '단어'를 의미했습니다.
즉, '단어' 사이의 연관관계(함수)를 말한 것이지요.
김상욱 님 말씀대로 각'단어'가 동일한 내용을 담고 있지 않은 것은 당연하다고 생각합니다.
모든 단어는 (사전적으로도) 의미가 서로 다르기 때문입니다. (물론 유사어는 존재합니다만.)
필연적으로 함수에 누락이 생기는 것 또한 동의하며 당연하다고 생각합니다.
하지만 함수의 생성을 동적으로 변화하는 유기적인 자료구조로 구현한다면, 누락된 함수들을 알고리즘 스스로 업데이트 하고 변화시켜 갈 수 있을 거라고 생각합니다.
그렇다면 함수를 생성해 주는 source는 무엇인가? 라는 질문을 할 수 있는데, 위키나 웹의 블로그, 구글링을 통해 얻을 수 있는 웹컨텐츠 들 수 있겠습니다.
데이터 마이닝 로봇을 구현하여 웹의 컨텐츠를 collecting하고 이를 "언어 분석 알고리즘"을 통하여 함수를 생성할 수 있다고 생각합니다.
여기서 "언어 분석 알고리즘" 이라는 생소한 주제가 나타날 수 있는데, 예를 들면, 6하원칙이나 3단논법, 귀납추론, 연역추론 같은 추론 원칙을 도입하면 "단어" 사이의 정형화되고 제한적인 함수는 만들 수 있다는 것이 저의 생각입니다.
물론, 이러한 제한된 추론들을 구현하는 것만도 실제로는 상당한 연구가 필요한 일이 되겠지만요.
하지만 충분히 리서치 해볼만한 가치가 있다고 생각합니다.
말씀 주셔서 감사드리고, 앞으로도 좋은 의견 부탁드리겠습니다.
자연언어처리에 관해 조금 공부해보시면 자연언어를 기계가 이해한다는것이 얼마나 어려운지 알게 될것입니다
2012/01/28 01:28 [ ADDR : EDIT/ DEL : REPLY ]막연하게 단어level에서만 생각하시는것 같은데... phrase level, sentence level, 구문분석, 의미분석, 화용분석까지 갈려면 필요한 지식은 데이타베이스화된 사전으로 해결할수 없는 상태에 이르게 됩니다.
인간이 언어를 이해하는데 필요한 지식만 예를 들어도 language = word + rule (dictionary + grammar)라고 보았을때 일단 dictionary set이 open set이고 grammar 역시 programming될수 없습니다.
단어 하나를 정의하는데도 real world knowledge가 필요한 경우가 많이 생기게 되며 (예를 들면 <보스만룰>이라는 단어를 정의하려면 룰의 내용뿐만 아니라 이 룰이 생기게된 역사, 인물배경같은 world knowledge가 필요함)이런 지식을들 모두 데이타베이스화 한다는 자체가 불가능합니다. 또한 rule들의 명확한 기준, 분류가 불가능하며 (현재 진행중인 word net 이나 ontology경우에도 의미나 관계정의가 애매한 경우가 많이 있습니다.예를 들면 <사랑>이라는 추상적인 단어를 정의할 경우)
설사 수학적 관계로 모두 정의할수 있다고 가정해도 인간의 언어는 많은 ambiguty를 가지고 있기에 필경 관계함수들사이에는 서로 충돌되는 rule들이 발생하게 되며 상황에 따라 이런 룰들의 priority가 변하는데 이런 문제를 해소하는데도 역시 엄청난 지식이 필요합니다.
인간은 이 모든 지식을 방대한 학습기능, 인지기능으로 커버해 버리지만 컴퓨터는 아직 불가능합니다.
컴퓨터가 인간의 뇌를 모방한 학습능력을 가지는 날( 아마도 sky net???)이 기계가 자연언어를 이해할수 있게 되는 날이며
그날이 바로 the judgement day입니다. (농담 ^-^)
댓글 남겨주셔서 감사합니다.
2012/01/30 19:02 [ ADDR : EDIT/ DEL ]막연하게 단어들의 관계만으로는 지능적 연산이 어렵겠죠. 컴퓨터가 단어를 인지하는 방식은 단순히 단어들 사이의 관계 뿐 아니라 더 많은 정보그룹이 필요하다고 생각합니다. 저는 단어에 대해 인간이 느끼는 오감을 데이터화 하는 방법에 대해 구상해 둔 아이디어들이 있습니다.
기존의 정보 저장법과 완전히 새로운 형태의 자료구조가 만들어져야만 가능 하죠.
그 다음, 방대한 인류의 지식은 이미 구글과 위키에 저장되어 있지요. 이 정보들을 활용해서 추론연산이 가능한 스트럭쳐를 만들어 준다면 지능적인 사고를 하는 AI가 가능할 것입니다. ambiguity나 priority 또한 스트럭쳐 내에서 다루어질 수 있죠. 물론 그것이 '사랑'과 같은 인류의 감정적인 개념을 어떻게 프로세싱할 지는 여러 방법론이 가능하다고 봅니다. 가까운 미래에 sky-net이 가능할 수도 있겠죠. 하지만 그건 Nuclear Weapon처럼 인간이 사용하기에 따라 엄청나게 유용할 수도 비극일 수도 있다고 봅니다. 물론 유용한 방향으로 활용되어야만 한다고 생각합니다.