결정을 설명하는 텍스트 분류기


11

짧은 문장을위한 텍스트 분류기를 만들고 있습니다. 사용자에게 "입력 한 텍스트의 범주는 C입니다"라고 말하는 것 외에도이 결정을 내린 이유를 간단하고 이해하기 쉽게 설명하고 싶습니다. 예를 들어, 나는 사용자에게 "나는 당신의 문장을 복잡한 3 계층 신경망에 넣었고 이것이 최고의 점수를 얻은 답"이라고 말하고 싶지 않습니다. "훈련 데이터에 나타나는 X, Y 및 Z와 같은 문장으로 인해 문장에이 범주의 특징 인 단어 U, V 및 W가 포함되어 있습니다"와 같은 설명을 원합니다.

내 질문은 : 이러한 분류에 가장 적합한 분류 알고리즘은 무엇입니까?

k-nearest-neighbours는 사용자에게 "당신의 문장은 같은 범주를 가진 문장 X, Y 및 Z와 유사하기 때문에 범주 C를 가지고 있습니다. 그러나 텍스트 분류 문제에 대한 성능은 나는 성능과 설명 능력의 균형을 잡는 분류를 찾고 있습니다.

편집 : 이러한 분류기를 찾는 데 많은 시간을 보낸 후 limdu 라는 기계 학습 라이브러리를 작성하기 시작했습니다.이 라이브러리 는 분류자가 결정을 설명 할 수 있습니다. 아직 개발 중이지만 분류자가 너무 자주 실패하는 이유를 나와 동료에게 설명하는 데 이미 도움이되었습니다 ...


머신 러닝의 요점은 후드에서 일어나는 일을 신경 쓰지 않고 성능 만 신경 쓰는 것입니다. 다른 접근 방식은 실패했으며 오늘날 모든 사람들이 이러한 불투명 한 통계적 접근 방식을 사용하고 있습니다.
Yuval Filmus 2016 년

2
@ Yuval 나는 다른 접근법이 실패했다는 것에 완전히 동의하지 않는다. 그것들은 최적은 아니지만 여전히 인간이 할 수있는 능력이나 인내보다 훨씬 높은 분류 작업을 자동화한다는 목표를 달성합니다. 불투명 한 블랙 박스가 특히 성능을 고려하지 않는 이와 같은 상황에서 기계 학습을 효과적으로 수행하는 유일한 방법은 아닙니다. 머신 러닝 작업의 다양한 목표에 대해 좀 더 열린 마음을 가지십시오.
Richard D

답변:


7

텍스트 분류 작업에서 성능이 좋지 않지만 분류 추론에 대한 명확한 설명을 원할 경우 의사 결정 트리 가 인스턴스 분류 방법에 대한 명확한 규칙을 제공하므로 최선의 선택이 될 것입니다. 트리의 추적은 결정 값을 제공하고 루트 노드에 가까운 인스턴스를 분석하여 분류에서 더 중요한 속성을 결정할 수도 있습니다.

또 다른 옵션은 사용하는 것입니다 나이브 베이 즈 분류 , 텍스트 마이닝 작업을위한 더 나은 수행하는 당신에게 당신이 "왜"당신도의 표시를 제공 찾고 생성하는 데 사용할 수 있다는 확률을 기반으로 이해할 수있는 평가 방식을 줄 것 등을 어떤 속성 값이 다른 속성보다 중요한지 결정했습니다.

Support Vector Machines , 특히 SMO (Sequential Minimum Optimization) 는 이러한 작업에서 잘 작동하는 것 같 으며 속성 가중치 및 지원 벡터의 형태로 분류하는 데 사용되는 값을 나타내는 것처럼 보이지만 시간이 더 걸릴 수 있다고 생각합니다 이러한 가중치와 벡터가 전체 분류 결정에 어떻게 영향을 주 었는지 명시합니다.

프로젝트와 함께 행운을 빕니다! 매우 흥미로운 것 같습니다.


1
감사. 또한 perceptron 및 winnow와 같은 온라인 분류 기준이이 작업 (적어도 시나리오에서)에 능숙하며 각 기능이 분류 점수에 추가하는 절대 값을 확인하여 결정을 설명하는 것이 쉽다는 것을 알았습니다. 각 샘플에 대해 (feature * weight)의 절대 값에 따라 기능을 정렬하고 처음 몇 개를 보여줍니다.
Erel Segal-Halevi

3

나는 막연하게 리콜 피터 노르 빅이 의 구현했다 MYCIN 하는 의료 진단 전문가 시스템 에 기록, LISP 그의 책에서 커먼 리스프에서 사례 연구 : 인공 지능 프로그래밍의 패러다임 , 정확히 않았다.

아마도 연구를 시작하기에 좋은 곳일 것입니다. 룰베이스 와 함께 온라인으로 소스 코드 를 찾을 수 있지만, 텍스트를 읽고 소스 코드만으로는 이해하려고하지 않는 것이 좋습니다.

Emycin (내 강조) 페이지로 직접 이동할 수도 있습니다 .

Emycin은 도메인 전문가의 지식을 기록하고 전문가가 아닌 사용자가 문제를 해결하는 데 도움이되는 지식을 사용하는 프로그램을 구축하기위한 프레임 워크 인 전문가 시스템 셸입니다. 전문가가 데이터 유형 및 규칙, 백 로그 체인 추론 알고리즘 (Prolog와 유사하지만 주요 차이점이 있음), 불확실성 처리 메커니즘 및 사용자가 시스템이 알고있는 내용을 학습 할 수 있도록하는 검사 기능을 정의하는 인터페이스를 제공합니다. 그리고 무엇을하고 있는가 .


2
전문가 시스템이 더 이상 인기를 얻지 못하는 이유가 있지만 모든 규칙을 코딩하기가 어렵습니다.
adrianN
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.