2011-07-06 4 views
3

다음은 온라인 프로그래밍 콘테스트입니다.긴 다중 사용자 인터넷 채팅 로그에서 특정 사용자를 어떻게 인식합니까?

동일한 문제를 해결하기위한 접근 방법은 무엇입니까?

임의의 IRC (인터넷 릴레이 채트) 로그에서 사용자 닉네임의 작은 부분이 무작위로 삭제됩니다. 참가자의 코드는 누락 된 사용자 닉을 채울 수 있어야합니다. 즉,이 이벤트를 통해 "누가 무엇을 말할 수 있었는지"를 파악할 수있는 지능적인 프로그램이 필요합니다.

모든 의사 소통은 구두점이 있든 없든 현대 영어로 진행된다고 가정 할 수 있습니다. 예를 들어

-

원래 채팅 : ... <user1>: Hey! <user2>: Hello! Where are you from, user1? <user3>: Can anybody help me out with Gnome installation? <user1>: India. user3, do you have the X Windows System installed? <user2>: Cool. What is Gnome, user3? <user3>: I don’t know. How do I check? <user3>: Its a desktop environment, user2. <user2>: Oh yeah! Just googled. <user1>: Type “startx” on the command line. Login as root and type “apt-get install gnome”. <user3>: Thanks! <user5>: I’m root, obey me! <user2>: Huh?! <user3>: user2, you better start using Linux! ...

은 참가자에게 주어집니다 다음. 삭제 약간의 흠과

채팅 로그 :

..

: 이봐! : 안녕하세요! 어디에서 왔니, user1? : 아무도 Gnome 설치를 도와 줄 수 있습니까? : 인도. user3, X Windows 시스템이 설치되어 있습니까? : 차가움. Gnome, user3은 무엇입니까? < %%%> : 잘 모르겠습니다. 확인하려면 어떻게해야합니까? < %%%> : 데스크톱 환경 user2. : 오 그래! 그냥 봤 거든. : 명령 줄에 "startx"를 입력하십시오. root로 로그인하고 "apt-get install gnome"을 입력하십시오. : 감사합니다. < %%%> : 나는 뿌리깊이입니다! < %%%> : 응! : user2, 더 나은 Linux 사용을 시작하십시오! ...

참가자 코드에는 "< %%%> s"을 적절한 사용자 닉으로 바꿀 작업이 있습니다. 모호한 경우에는 위의 예 에서처럼 임의의 다른 사용자가 말한 것처럼 (다른 사용자도 말할 수 있음) 코드는 동일해야합니다.

+0

멋진 문제! 완전히 태그가 추가 된 채팅에 대한 교육을 제공합니까? –

+0

당신이 준 예제는 * all * nicks가 지워졌고 작은 퍼센트는 재구성하라는 요청을 받았습니다. –

+0

친애하는 Beni, 이 예제를 무시하십시오. www.robotix.in/events/echelon에서 완벽한 문제 설명문과 샘플 채팅 로그를 찾으십시오. –

답변

0

하나의 가능한 해결책은 Naive Bayes Classifier의 스팸 필터 아이디어를 사용하고 다른 닉이 사용하는 단어를 보는 것입니다. 알 수없는 사용자가 보낸 단어와 가장 유사한 단어를 사용하는 메시지를 분류합니다. 이것의 몰락은 이전에 보지 못했던 새로운 단어를 사용한다면 (그럴 가능성이 높음) 상위 레벨의 상황 정보를 이해해야 할 것입니다.

3

두 가지가 내 마음에 들었습니다. 소유권 속성채팅 disentaglement. 둘 다 정확히 당신이 묘사하는 것이 아니지만 둘 다 꽤 가깝습니다.

소유권 속성은 특정 문서를 작성한 알려진 저작자 집합을 찾는 문제입니다. 고전 저작 원 귀속은 일반적으로 텍스트 (예 : 연극, 소설, 연설)의 큰 부분에 사용되지만 사람들은 인터넷 소스의 더 짧은 텍스트 샘플에서도 동일한 작업을 수행하려고 노력하고 있습니다. 좋은 참고 자료는 제목에 'authorship'이 포함 된 Moshe Koppel으로 작성된 것입니다 (예 : 최근 논문 Authorship Attribution in the Wild). 이 작업에 대한 일반적인 접근 방식은 일반적으로 중지 단어 (예 :,, 등)로 간주되는 단어 모음과 단어 학습 기능 분류기를 사용하는 일반적인 문서 분류 방법을 사용하는 것입니다. 여기서 문제는이 모든 작업이 문서에 있으며 IRC 데이터의 대화식 성격을 고려하지 않는다는 것입니다.

채팅 disentanglement는 채팅 데이터에서 일관된 '대화'를 식별하는 문제입니다. 누가 회신 하는지를 알기 위해 대화의 컨텍스트를 사용해야하는 경우가 종종 있기 때문에 이것은 매우 어려운 문제입니다. 이런 접근 방식이이 작업에서도 중요하다고 생각합니다. 예를 들어, 익명화 된 메시지가 대화의 일부라면 작성자를 대화에 참여한 사람으로 제한합니다. 나는이 사실을 Elsner와 Charniak의 논문 Disentangling Chat에서 알 수 있습니다. 그들의 '관련 저작물'섹션은 해당 분야의 개요입니다.

관련 문제