월별 글 목록: 2017년 1월월

Neural Variational Inference for Text Processing

Published / by greennuri / Leave a Comment

https://arxiv.org/abs/1511.06038

abstract

Recent advances in neural variational inference have spawned a renaissance in deep latent variable models. In this paper we introduce a generic variational inference framework for generative and conditional models of text. While traditional variational methods derive an analytic approximation for the intractable distributions over latent variables, here we construct an inference network conditioned on the discrete text input to provide the variational distribution. We validate this framework on two very different text modelling applications, generative document modelling and supervised question answering. Our neural variational document model combines a continuous stochastic document representation with a bag-of-words generative model and achieves the lowest reported perplexities on two standard test corpora. The neural answer selection model employs a stochastic representation layer within an attention mechanism to extract the semantics between a question and answer pair. On two question answering benchmarks this model exceeds all previous published benchmarks.

한글 축약

최근 신경 변이 추론의 진보는 깊은 잠재 변수 모델에서 르네상스를 일으켰다. 이 논문에서는 생성 및 조건부 텍스트 모델을위한 일반적인 변화 추론 프레임 워크를 소개한다. 기존의 변량 방법은 잠재 변수에 대한 다루기 어려운 분포에 대한 분석 근사를 유도하지만, 여기서는 이산 텍스트 입력을 조건으로하는 추론 네트워크를 구성하여 변량 분포를 제공합니다. 우리는 두 가지 매우 다른 텍스트 모델링 응용 프로그램, 생성 적 문서 모델링 및 감독 질문 응답에 대해 이 프레임 워크를 검증합니다. 우리의 신경 변이 문서 모델은 연속적인 확률적 문서 표현과 단어 생성 모델을 결합하여 2 개의 표준 테스트 코퍼에서 가장 낮은보고 난민을 성취합니다. 신경 응답 선택 모델은주의 메커니즘 내에서 확률 적 표현 레이어를 사용하여 질문 및 답변 쌍 사이의 의미를 추출합니다. 두 가지 질문 응답 벤치 마크에서이 모델은 이전에 게시 된 모든 벤치 마크를 능가합니다.

딥러닝으로 문장 분류 하기

Published / by greennuri / Leave a Comment

http://www.bonaccorso.eu/2016/08/02/reuters-21578-text-classification-with-gensim-and-keras/

자연어 처리에서 word2vec은 거의 기본으로 쓰인다.

개인적으로 말하면 word2vec은 symbolic data를 vector represent 형태로 변환 해주는 역할을 수행 한다고 봄(아님 말고..)

문장을 분류하기 위한 여러가지 방법이 있는데

가장 기본인 bag-of-word(BOG라고 간단히 부르기도 함) 모델은 문장을 단어 주머니로 비유해서

하나의 문장은 여러 단어가 들어가 있는 주머니로 인식한다.

이 방법은 간단한데 비해 단어의 순서, 수식관계 같은 정보가 사라진다.

그래서 좀 더 발전 된데 CBOW(Continus Bag of Word) 연속? 흠… 순서가 있는 단어 주머니 모델이다.

이 모델로 하면서 deep learning을 위해 vector화된 데이터로 변환 하는 방법이 word2vec(대충.. 넘어가자 어렵다…)

이 방법을 이용하면 단어를 입력하면 수치로 변형된 벡터가 나온다 그걸 가지고 딥러닝에 쓰면되는데.

그 입력을 단어가 아니라, 구/절/문장/텍스트 단위로 확장 시키고 그 특성을 활용해서

각각을 구분하는 방법을 딥러닝으로 구현하는 것을 보여줌.

spark랑 gensim을 비교한 내용

http://hoondongkim.blogspot.kr/2016/07/word2vec-vector-algebra-comparison.html

 

딥러닝 만드는 제작자들한테 부탁 하고 싶은것

Published / by greennuri / Leave a Comment
  1. 좀 쉽게 만들어줘~~~
    1. theano, tensorflow같은 그래프 구조 어렵다(허접이라 좀 어렵다)
  2. gpu 가속 기본으로 좀 넣어줘라
    1. gensim 니네들은 뭔데 gpu가속 안 하냐…
  3. 분산 컴퓨팅이랑 통합 좀 해줘
    1. 데이타 크면 컴퓨터 하나를 몇시간을 켜야 하는데… 허접한 컴이라도 몇대 있음 분산 병렬 처리로 좀 되게 해줘…

쉽게 이야기 하면, keras 같은 모듈 방식에 spark위에서 멀티로 돌려도

알아서 처리 되는, 그리고 gpu도 기본으로 사용하는 라이브러리 좀…

 

doc2vec 구현 라이브러리

Published / by greennuri / Leave a Comment

원래 doc2vec는 genim(https://radimrehurek.com/gensim/models/doc2vec.html)에서

구현 되어 있는데

저걸 어떤 능력자 분꼐서 keras 버젼으로 포팅(https://github.com/niitsuma/word2vec-keras-in-gensim) 개인적으로 theano나 tensorflow같은 그래프 기반 딥 러닝 라이브러리는 어려워서

keras버젼이 있다길래 좋다고 설치하고 이것 저것 돌려 봤는데..

cuda 3지원 안되는 그래픽 카드 때문에 자꾸 워링 메세지 발생(거슬려… 참고로 본인 그래픽 카드는 gtx460 cuda 2.1지원 ㅡㅡ)

keras가 백엔드로 theano, tensorflow 둘다 지원 되는데, tensorflow 백엔드 일때 이런 저런 오류 발생(아무래도 만든 아자씨가 theano로 만들었거나 tensorflow버젼이 안 맞는듯)

그냥 theano버젼을 쓰면 무난히 동작 할 것 같은데..

gensim에서 만든 vector representation과 keras로 만든 vector representation이 달라서 애매… 뭐 좀 다를수도 있지 싶은데…

애매해서 그냥 gensim으로 기사 수집해 놓은거 다시 돌려봄..

 

apache spark2 gpu 가속 관련

Published / by greennuri / Leave a Comment

http://www.spark.tc/gpu-acceleration-on-apache-spark-2/

위 링크 들어가면 gpu-spark란 라이버러리를 통해

아파치 스파크 버젼2 에서 gpu를 이용한 가속하는 방법이 나옵니다.

조금 둘러 봤는데..

몇가지 제약이 있어서 그냥 넘어 갑니다.

제약 1

nvidia-cuda 7.0, 7.5만 지원(지금 8 쓰는데 또 갈라고… ㅡㅡ)

제약 2

ibm-jdk, open-jdk만 지원(지금 오라클 jdk 설치 해놨는데.. ㅡㅡ 귀찮어)

이걸 어제 알았으면 오늘 하루 삽질 한다 생각하고 투자 해 봤을 텐데..

오늘은 일요일이니 여기까지만 ^^

다음주 이후에 도전~

 

Paragraph Vector를 이용한 문장 의도 예측 기법

Published / by greennuri / Leave a Comment

https://bi.snu.ac.kr/Publications/Conferences/Domestic/KCC2016_SHChoi.pdf

본 논문에서는 사람과의 자연스러운 대화를 통하여 자동으로 주문을 받을 수 있는 시스템을 만들기 위 하여, 사람의 자연 언어를 이해하고 그로부터 사람의 발화 의도를 예측할 수 있는 기계 학습 알고리즘을 제안한다. 제안하는 기계 학습 알고리즘은 텍스트로부터 의도 추론에 적합한 정보를 추출하여 벡터 형태 로 바꾸는 단계와 문장 벡터로부터 미리 정의한 발화 의도를 추론하는 단계로 나누어 진다. 실험을 위하여 카페에서 손님과 점원이 실제로 주문을 하는 과정을 기록한 발화 텍스트를 사용하였다. 이로부터 doc2vec 벡터를 추출하고, 다양한 인식기를 사용하여 이 벡터로부터 의도를 추론하였다. 또한 의도전이확률을 사용해 추론된 의도별 확률 벡터를 보정하여 성능을 향상시킨 결과를 보인다

 

이 논문에서의 의문점은 문장에서 의도를 뽑아 내는 과정을 서술하지 않았다. 문장에서부터 뽑아 내는게 아니라 미리 정해진 의도로 맵핑 하는 클래시피케이션 방법을 썼는데…

의도란게 문맥에 따라서 같은 문장이라도 다르게 해석 될 경우가 많을 텐데.. 그렇게 고정된 라벨로 학습 시켜도 될려나?

Distributed Representations of Sentences and Documents

Published / by greennuri / Leave a Comment

Distributed Representations of Sentences and Documents

Abstract Many machine learning algorithms require the input to be represented as a fixed-length feature vector. When it comes to texts, one of the most common fixed-length features is bag-of-words. Despite their popularity, bag-of-words features have two major weaknesses: they lose the ordering of the words and they also ignore semantics of the words. For example, “powerful,” “strong” and “Paris” are equally distant. In this paper, we propose Paragraph Vector, an unsupervised algorithm that learns fixed-length feature representations from variable-length pieces of texts, such as sentences, paragraphs, and documents. Our algorithm represents each document by a dense vector which is trained to predict words in the document. Its construction gives our algorithm the potential to overcome the weaknesses of bag-of-words models. Empirical results show that Paragraph Vectors outperform bag-of-words models as well as other techniques for text representations. Finally, we achieve new state-of-the-art results on several text classification and sentiment analysis tasks.

많은 기계 학습 알고리즘은 입력을 고정 길이 피쳐 벡터로 나타내야합니다. 텍스트에 관해서 가장 일반적인 고정 길이 기능 중 하나는 단어 모음입니다.

그들의 인기에도 불구하고 bag-of-words 기능에는 두 가지 주요 약점이 있습니다. 즉, 단어의 순서를 잃어 버리고 단어의 의미를 무시합니다.

예를 들어, “강력함(powerful)”, “강력함(strong)” 및 “파리(paris)”는 동등하게 다릅니다.

본 논문에서는 문장, 단락, 문서 등 가변 길이의 텍스트로부터 고정 길이의 특징 표현을 학습하는 감독되지 않은 알고리즘 인 단락 벡터 (Paragraph Vector)를 제안한다.

우리의 알고리즘은 각 문서를 문서의 단어를 예측하도록 훈련된 고밀도 벡터로 나타냅니다.

그 구조는 bag-of-words 모델의 약점을 극복 할 수있는 잠재력을 우리 알고리즘에 제공합니다.

경험적 결과에 따르면 단락 벡터는 단어 표현 모델뿐 만 아니라 텍스트 표현을위한 다른 기술보다 우수한 것으로 나타났습니다.

마지막으로, 우리는 여러 텍스트 분류 및 정서에 대한 새로운 최첨단 결과를 얻습니다.

논문링크