요즘 AI(인공지능)수업을 듣고 있습니다.
이 과목의 Term Project가 "문서를 긍정/부정으로 분류하는 문서분류기"를 만드는 건데요..

간단히 동작방식을 설명하면..
어떤 문서를 입력하면.. 이 문서의 형태소를 분석합니다.

그렇게 특정 단어를 뽑아내서..
[몇가지 알고리즘]을 적용해서 문서가 긍정문서인지, 부정문서인지를 판별해냅니다.

특히 문제가 인공지능이 포함되어야 하기때문에..
살짝 학습을 해서 판별합니다.

뭐.. 긍정과 부정의 감정을 직접 학습하는건 아니고..
이전에 입력된 분류 문서의 양이 많으면 많을수록.. 그 문서와의 비교를 통해서..
점점 높은 신뢰도를 가지게 됩니다..

어떤 문서가 긍정인가, 부정인가를 판별하는 위에서 말한 [알고리즘]은..
몇가지가 있는데.. [긍정/부정]의 뜻을 가진 단어의 등장횟수와..
단어 자체에 가중치를 부여하는 것도 있고..
확률에 의한 방법도 있습니다..


그런데 이제 시작 단계인데 벌써 문제가 생겼습니다 ^^!!

알고리즘은 근처에도 가지 않았는데... ㅋㅋ
일단 문서를 사람이 읽어서 부정인지, 긍정문서인지 판단하는게
아주 모호하다는 것을 알게된 것이죠.. ^^!!
일단 시작을 하려면, 컴퓨터한테 과제를 주기 전에..
사람이 먼저 문서의 의미를 판단할 수 있어야 하니까요..
사람한테 분류가 안되는걸 컴퓨터한테 시킬수도 없는 노릇이고..
결과가 정확한지도 알려면, 사람이 먼저 분류를 해야하니까요~ ㅋㅋ


자.. 예를 하나 봅시다..

누군가 휴대폰에 대해서 리뷰를 썼습니다..
뭐.. 좋은 기능을 나열하고.. 이 제품은 이러이러한 기능이 좋다는 말을.. 열번정도 하고..
하지만 단 한가지 어떤 기능은 조금 아쉽다라고 썼습니다.

이건 부정일까요? 긍정일까요??

예~ 그건 긍정문서겠죠.. ^^!!
이런 경우는 판단하기가 조금 쉬운데요..


다른 경우를 하나 더 봅시다..

이번엔 토론방에 올라온 글입니다. 주제는 대통령 탄핵이네요..
탄핵에 대해서 찬성하는 글을 씁니다.
한나라당의 탄핵안을 찬성하고, 민주주의의 발전이 있을것이다 라고 했다면..

이 문서는 긍정문서입니까? 부정문서입니까?

정치적인 견해로 한나라당의 탄핵안에 반대한 저로써는..
저문서는 부정적인 의미를 가지고 있지만..
나오는 단어로 분석하면 분명 긍정적인 문서가 되어버립니다..


그런데.. 위의 탄핵에 대해서 다른 문서가 있다고 하고..
이 문서에는 열린우리당은 나쁘다, 문제가 있다. 노무현 대통령은 나쁜사람이다..
라고 적혀있으면.. 내용으로는 분명 부정문서인데..
그럼.. 위의 내용과는 일치하게 되어버립니다.
서로 같은 내용이지만, 다른 문서..


이래서 인공지능이 발전하기 어려운것일까요??
머리가 너무 복잡해집니다.
여러분은 어떠신가요?


 

트랙백을 보내세요

트랙백 주소 :: http://bklove.info/trackback/234

댓글을 남겨주세요

  1. 데굴대굴 2006/03/30 11:39

    제 경험을 말씀드리면.. 제작자 마음입니다. 적당하게 긍정/부정을 나누기만 성공하면 됩니다. 걸러진 문서 자체가 긍정/부정인지 여부는 일단 만들고나서 증명하는 겁니다. 이 문서는 이러이러한 이유로 이렇게 갔습니다라는 것만 설명을 하면 됩니다. 국어를 완벽하게 할려고 하지 마십시오. 언어유희라는 부분도 있습니다. 은유법이나 대구법같은 방법도 있고요. 이런 고급 대화 기술을 컴퓨터가 알아먹는다면 그게 인간이지 컴퓨터겠습니까? -_-;

    • BKLove 2006/04/01 23:28

      감사합니다...
      그러게요.. 그렇게 컴퓨터가 발전하면.. 더 피곤해지겠죠..
      그래도 AI배우면서 재미있어 하고 있습니다..

      조금 문제에 순응하기러 했습니다.

  2. DK 2006/03/30 11:41

    몇 개월 동안 하는 텀 프로젝트이니 문제를 단순화시키셔야 합니다.
    생각하기에 아주 쉽게 문제를 만들고 접근하십시요.

    예를 들면 휴대폰에 대한 리뷰로 한정시키는 게 좋을 듯 하군요.

    사람마다 긍정이나 부정에 대해 평가가 다르다는 점은 personalization 문제로, 또 다른 문제이므로 일단 잊으시는 게 좋을 듯합니다.

    200 개에서 500개 정도의 문서를 받으시고 5 명 정도에게 긍정 부정 여부를 판가름하라고 하세요.
    그 결과로 majority vote를 통해 긍정이냐 부정이냐를 label 하신 후에, 머신 러닝 알고리즘으로 학습을 시켜서 classifier 를 만들어서 성능을 검사하는 정도면 일단 학부나 석사 수준의 텀 프로젝트로는 충분할 듯 합니다.

    성능 분석 후, 학습 알고리즘의 결과로 나온 classifier 에서 weight 가 높은 단어와 weight가 낮은 단어들을 정렬해서 분석해 주는 정도까지 하시면 될 거 같군요.

  3. BKLove 2006/04/01 23:30

    정말 친절한 설명 감사합니다.. ^^!!
    그러게요.. 엄밀히 [사회학적으로] 논쟁의 가치가 있는 문제들이 더 쉬울꺼라 생각했는데.. 그런 논쟁의 여지가 있는 부분이 오히려 판단하는 저한테 [새로운 문제]가 되어버리더군요..

    참고해서 프로젝트 무사히 마치겠습니다~

비밀글 (Serect)