이진화는 분류 자 알고리즘에 대한 좋은 예를 만들기 위해 엔티티의 다채로운 기능을 숫자 벡터, 가장 자주 바이너리 벡터로 변환하는 행위입니다.자연 언어 처리의 이진화
"고양이가 개를 먹었다"라는 문장을 2 진수로 만들려면 모든 단어에 ID (예 : cat-1, ate-2, -3, dog-4)를 할당 한 다음 그것으로 벡터를 부여하는 단어로 바꾸십시오. < 3,1,2,3,4>.
이 ID가 주어지면 각 단어에 4 개의 가능한 슬롯을 지정하고 특정 단어에 해당하는 슬롯을 1로 설정하여 벡터 <001010 , 000100000,1>. 후자의 방법은, 내가 아는 한 일반적으로 bag-of-words-method라고 불립니다. 내 질문에 대한 지금
, 그것은 일반적으로 자연 언어 처리에 대한 기능을 설명하기 위해 제공하고 특히 (Nivres 알고리즘) 구문 분석 의존성을 전환 기반 때 최고의 이진화 방법은 무엇인가?
이 문맥에서 우리는 문장 전체를 인코딩하는 것이 아니라 구문 분석의 현재 상태, 예를 들어 스택의 맨 위 단어와 입력 대기열의 첫 번째 단어를 인코딩하려고합니다. 주문은 관련성이 높기 때문에 bag-of-words-method를 배제합니다.
은으로, 나는 불필요한 메모리를 사용하지 않고 분류 자에게 가장 알기 쉬운 데이터를 만드는 방법을 언급하고 있습니다. 예를 들어 bigram이 실제로 존재하는 경우 단어 bigram에 20000 개의 고유 단어에 4 억 개의 기능을 사용하고 싶지 않습니다.
답은 특정 분류 기준에 따라 다르므로 최대 엔트로피 모델 (liblinear), 지원 벡터 시스템 (libsvm) 및 퍼셉트론에 주로 관심이 있지만 다른 모델에도 적용되는 답변도 환영합니다.
이진화 란 무엇인지 모르겠지만 NLP에 익숙하지 않은 사람들에게 당신이 의미하는 바를 설명 할 수 있다면 많은 사람들이 같은 보트에 있다고 확신합니다. (적어도 우리가 대답하는데 도움이되지 않는다면, 그 주제를 이해하는 데 도움이 될 것입니다). –
같음 - 이진화를 정의 할 수 있습니까? –
아마도 '최고', 즉 공간 효율성이 가장 높고 처리 효율이 높고 가장 설명이 정확한 것을 정의 할 수 있습니다. – scotta