2016-08-22 1 views
14

안녕하세요 지난 주 Facebook에서 발표 한 단어는 버킷으로 단어를 분류하는 방법입니다. Latent Dirichlet Allocation은 주제 모델링을 수행하는 또 다른 방법입니다. 내 질문은 사람이 내가 Fasttext을 시도했지만 여기빠른 텍스트와 LDA의 비교

프로 내 경험을 바탕으로 LDA에 대한 몇 가지 찬반 양론 있습니다하지 않은 이들 2

내에서 찬반 양론에 관한 비교를 짓입니다

  1. 아파치 스파크를 지원하는 반복 모델

  2. 문서의 코퍼스를 가져 와서 주제 모델링을 수행합니다.

  3. 는뿐만 아니라 문서에 대해 이야기 무엇을 알게뿐만 아니라

  4. 아파치 스파크 사회가 지속적으로이에 기여하고 관련 문서

    을 찾습니다. 이전 그들은

    1. 는 불용어 잘 정의 될 필요가

    콘 ml의 라이브러리에 지금 mllib 작업을했다. 그것들은 문서의 맥락과 관련이 있어야한다. 예 : '문서'는 출현 빈도가 높고 추천 주제의 차트 상단에 위치 할 수 있지만 관련성이 있거나 다를 수 있으므로 해당 단어를 업데이트해야합니다.

  5. 언젠가는 분류가 될 수 있습니다. 부적절한.

    1. 기간 : 훈련

    2. 기간 : 분야

    3. 기간 : 아래 예제에서는이 버킷에 대한

    주제를 이야기하고 무엇을 추론하기 어렵다 notestable

  6. 기간 : winning

  7. 기간 : 경로

  8. 기간 : chapterclosingtable

  9. 기간 : metaprograms

  10. 기간 : 돌파구

  11. 기간 : 구분

  12. 기간 : 구조

누구나 Fasttext에서 연구를했다면 학습 내용을 업데이트 할 수 있습니까?

답변

3

fastText는 주제 모델링 이상의 기능을 제공하며 얕은 신경망을 사용하여 단어 삽입 및 텍스트 분류를 생성하는 도구입니다. 저자는 성능이 훨씬 더 복잡한 "심층 학습"알고리즘과 비슷하지만 교육 시간이 현저히 짧다고 말합니다.

장점 :

=> 그것은

$ ./fasttext skipgram -input data.txt -output model

그냥 입력 및 출력 파일을 제공, 자신의 fastText 모델을 훈련하기가 매우 쉽고, 아키텍처가 사용하고 그게 다야한다 ,하지만 모델을 약간 사용자 화하고자한다면, fastText는 하이퍼 파라미터를 변경할 수있는 옵션을 제공합니다.

=> 단어 벡터를 생성하는 동안 fastText는 문자 n-gram이라고하는 단어의 하위 부분을 고려하므로 유사한 단어가 다른 상황에서 발생하더라도 유사한 벡터를 갖습니다. 예를 들어, "감독", "감독"및 "감독자"모두 비슷한 벡터가 할당됩니다.

=> 이전에 훈련 된 모델을 사용하여 어휘 밖의 단어에 대한 단어 벡터를 계산할 수 있습니다. 이게 내가 제일 좋아하는거야. 코퍼스의 어휘가 유한 한 경우에도 세상에 존재하는 거의 모든 단어에 대한 벡터를 얻을 수 있습니다.

=> fastText는 단락이나 문장의 벡터를 생성하는 옵션도 제공합니다. 문서의 벡터를 비교하여 유사한 문서를 찾을 수 있습니다.

=> 텍스트의 예상되는 레이블을 예측하는 옵션도 포함되었습니다.

=> 위키피디아에서 훈련 된 약 90 개 언어의 사전 훈련 된 단어 벡터가 공식 repo에서 제공됩니다.

단점 : fastText 명령 줄 기반으로 내 프로젝트에이를 통합하는 것은이 비록 다른 사람에게 문제가되지 않을 수있는 반면

=> 나는 고투.

=> 유사한 단어 나 단락을 찾을 수있는 내장 된 방법이 없습니다. 공식 REPO에

1) https://arxiv.org/pdf/1607.04606.pdf

2) https://arxiv.org/pdf/1607.01759.pdf

그리고 링크 : 더 읽고 싶은 사람들을 위해

, 여기에 공식 연구 논문에 대한 링크가 있습니다

https://github.com/facebookresearch/fastText

관련 문제