워드2벡
Word2vec시리즈의 일부 |
기계 학습 및 데이터 마이닝 |
---|
![]() |
![]() | 이 기사는 독자들에게 혼란스럽거나 불분명할 수 있다.(2020년 7월 (이 및 에 대해 ) |
Word2vec은 2013년에 발표된 자연어 처리 기술입니다.word2vec 알고리즘은 뉴럴 네트워크 모델을 사용하여 대량의 텍스트 말뭉치로부터 단어 관련성을 학습합니다.일단 훈련을 받으면, 그러한 모델은 동의어를 탐지하거나 부분 문장에 대한 추가 단어를 제안할 수 있습니다.이름에서 알 수 있듯이, word2vec은 벡터라고 불리는 숫자의 특정 목록을 가진 각각의 개별 단어를 나타냅니다.벡터는 단순한 수학적 함수(벡터 간의 코사인 유사성)가 이들 벡터에 의해 표현되는 단어 사이의 의미적 유사성 수준을 나타내도록 신중하게 선택된다.
접근
Word2vec은 단어 임베딩 제작에 사용되는 관련 모델 그룹입니다.이 모델들은 말의 언어적 맥락을 재구성하도록 훈련되는 얕은 2층 신경 네트워크입니다.Word2vec은 대량의 텍스트 말뭉치를 입력으로 하여 일반적으로 수백 개의 차원으로 이루어진 벡터 공간을 생성하며, 말뭉치 내의 각 고유 단어에 해당하는 벡터가 할당된다.단어 벡터는 말뭉치 내의 공통 컨텍스트를 공유하는 단어가 공간 [1]내에서 서로 근접하게 위치하도록 벡터 공간에 배치된다.
역사
Word2vec은 구글의 Tomas Mikolov가 이끄는 연구팀이 2013년에 2개의 [3][4]논문에 걸쳐 개발,[2] 특허 취득 및 발행했습니다.다른 연구자들은 [5]알고리즘을 분석하고 설명하는 데 도움을 주었다.Word2vec 알고리즘을 사용하여 작성된 내장 벡터는 잠재 의미 분석과 같은 이전 알고리즘에[1][further explanation needed] 비해 몇 가지 장점이 있습니다.
CBOW 및 스킵 그램
Word2vec은 두 가지 모델 아키텍처 중 하나를 사용하여 단어의 분산 표현을 생성할 수 있습니다.CBOW(Continuous Bag-of-Words) 또는 연속 스킵그램입니다.연속어백오브워드 아키텍처에서 모델은 주변 컨텍스트 워드의 창으로부터 현재의 워드를 예측한다.컨텍스트 워드의 순서는 예측에 영향을 주지 않습니다(단어집 가정).연속 스킵그램 아키텍처에서 모델은 현재 단어를 사용하여 컨텍스트 워드의 주변 창을 예측합니다.스킵그램 아키텍처는 원거리 컨텍스트 [1][6]워드보다 가까운 컨텍스트 워드의 무게를 더 무겁게 합니다.저자들의 [7]말에 따르면, CBOW가 더 빠른 반면 스킵그램은 자주 사용하지 않는 단어에 더 잘 어울린다.
파라미터화
word2vec 교육 결과는 매개변수화에 민감할 수 있습니다.다음은 word2vec 훈련에서 중요한 파라미터입니다.
트레이닝 알고리즘
Word2vec 모델은 계층형 softmax 및/또는 음성 샘플링으로 훈련할 수 있습니다.모델이 최대화하려고 하는 조건부 로그 우도의 근사치를 구하기 위해 계층적 softmax 방법은 계산을 줄이기 위해 Huffman 트리를 사용합니다.반면 음의 샘플링 방법은 샘플링된 음의 인스턴스의 로그 우도를 최소화함으로써 최대화 문제에 접근합니다.저자에 따르면 계층형 소프트맥스는 자주 사용하지 않는 단어에 더 잘 작동하고 음의 샘플링은 자주 사용하는 단어에 더 잘 작동하고 저차원 [7]벡터에 더 잘 작동한다.트레이닝 에폭의 증가에 따라 계층형 softmax의 [8]유용성은 없어집니다.
서브샘플링
고주파 단어는 종종 정보를 거의 제공하지 않는다.빈도가 특정 임계값을 초과하는 단어는 훈련 [9]속도를 높이기 위해 서브샘플링될 수 있습니다.
치수
단어 임베딩의 품질은 고차원성과 함께 향상됩니다.그러나 어느 정도 도달한 후에는 한계 이득이 [1]감소합니다.일반적으로 벡터의 치수는 100에서 1,000 사이로 설정됩니다.
컨텍스트 창
컨텍스트 창의 크기에 따라 주어진 단어의 컨텍스트 워드로 포함되는 단어 수가 결정됩니다.저자의 주석에 따르면 권장치는 스킵그램의 경우 10, CBOW의 [7]경우 5입니다.
내선번호
(개별 단어가 아닌) 전체 문서에서 임베딩을 구성하기 위한 word2vec의 확장이 [10]제안되었다.이 확장자는 패러그래프2vec 또는 doc2vec으로 불리며 C, Python[11][12] 및 Java/Scala[13] 도구(아래 참조)에 구현되어 있으며 Java 및 Python 버전에서도 새로운 보이지 않는 문서에 대한 문서 임베딩 추론을 지원합니다.
생물 정보학을 위한 단어 벡터:바이오벡터
Asgari와 Mofrad는 [14]생물 정보학 애플리케이션을 위한 생물학적 배열(예: DNA, RNA, 단백질)의 n그램에 대한 단어 벡터의 확장을 제안했다.일반적으로 단백질(아미노산 배열)에 대한 단백질 벡터(ProtVec)와 유전자 배열에 대한 유전자 벡터(GeneVec)와 함께 생물학적 배열을 참조하기 위해 바이오 벡터(BioVec)로 명명된 이 표현은 프로테오믹스와 유전체학에서의 기계 학습 응용에 널리 사용될 수 있다.그 결과는 바이오벡터가 기초 [14]패턴의 생화학 및 생물물리학적 해석의 관점에서 생물학적 서열을 특징지을 수 있음을 시사한다.유사한 변종인 dna2vec은 니들맨-운쉬 유사성 점수와 dna2vec 단어 [15]벡터의 코사인 유사성 사이에 상관관계가 있음을 보여주었다.
방사선학용 단어 벡터:인텔리전트 워드 임베딩(IWE)
구조화되지 않은 방사선 보고서의 조밀한 벡터 표현을 만들기 위한 단어 벡터의 확장은 Banerjee 등에 의해 제안되었다.[16]Word2vec의 가장 큰 과제 중 하나는 알려지지 않은 단어 또는 어휘 부족(OOV) 단어와 형태학적으로 유사한 단어를 처리하는 방법입니다.Word2vec 모델이 이전에 특정 단어를 접한 적이 없는 경우, 일반적으로 이상적인 표현과는 거리가 먼 랜덤 벡터를 사용해야 합니다.이것은 특히 방사선 전문의의 선호 스타일에 따라 동의어와 관련 단어를 사용할 수 있는 의학 같은 영역에서 문제가 될 수 있으며, 단어는 대규모 말뭉치에서 자주 사용되지 않을 수 있다.
IWE는 Word2vec과 의미 사전 매핑 기술을 결합하여 임상 텍스트에서 정보 추출의 주요 과제를 해결한다. 여기에는 자유 텍스트 서술 스타일의 모호성, 어휘 변형, 비문법과 전신 단계의 사용, 임의적인 단어 순서, 약어와 약어의 빈번한 출현 등이 포함된다.특히 IWE 모델(단일 기관 데이터 세트에 대해 교육됨)은 기관 간 접근 방식의 양호한 일반화 가능성을 보여주는 다른 기관 데이터 세트로 성공적으로 변환되었습니다.
분석.
단어 2vec 프레임워크에서 단어 임베딩 학습에 성공한 이유는 잘 이해되지 않는다.Goldberg와 Levy는 단어 2vec 객관 함수는 유사한 맥락에서 발생하는 단어들이 (코사인 유사성에 의해 측정되는) 유사한 포함을 가지도록 한다고 지적하고 이것이 J. R. 퍼스의 분포 가설과 일치한다는 것을 주목한다.그러나 그들은 이 설명이 "매우 손사래"라고 지적하고 좀 더 형식적인 설명이 [5]더 바람직하다고 주장한다.
Levy et [17]al. (2015)는 다운스트림 작업에서 워드2vec 또는 유사한 임베딩의 우수한 성능의 많은 부분이 모델 자체의 결과가 아니라 특정 하이퍼 파라미터의 선택이라는 것을 보여준다.이러한 하이퍼 파라미터를 보다 '기존' 접근법으로 전환하면 다운스트림 작업에서도 유사한 성능을 얻을 수 있습니다.Arora et al.[18] (2016)는 단어 2vec과 관련 알고리즘을 로그 선형 주제 모델에 기반한 무작위 보행 생성 프로세스를 포함하는 텍스트의 단순한 생성 모델에 대한 추론을 수행하는 것으로 설명한다.그들은 이것을 단어 임베딩의 몇 가지 속성을 설명하기 위해 사용합니다.유사성을 해결하기 위한 용도도 포함됩니다.
의미적 및 구문적 관계 보존
단어 임베딩 접근법은 단어 간의 여러 다른 유사성을 포착할 수 있다.Mikolov et al. (2013)[19]는 의미와 통사 패턴이 벡터 산술을 사용하여 재현될 수 있다는 것을 발견했다.이 단어들의 벡터 표현에 대한 대수 연산을 통해 "남자는 여자에, 형제는 여자에"와 같은 패턴을 생성할 수 있으며, "남자"와 "여자"의 벡터 표현은 모델 내 "자매"의 벡터 표현에 가장 가까운 결과를 도출할 수 있다.이러한 관계는 구문 관계(예: 현재 시제-과거 시제)뿐만 아니라 다양한 의미 관계(예: 국가-자본)에 대해 생성될 수 있다.
모형의 품질 평가
Mikolov et al.[1] (2013)는 위에서 논의한 의미 및 구문 패턴을 바탕으로 단어 2vec 모델의 품질 평가에 대한 접근방식을 개발한다.그들은 모델의 정확성을 테스트하기 위한 벤치마크로 사용하는 8,869개의 의미 관계와 10,675개의 구문 관계를 개발했다.벡터 모델의 품질을 평가할 때 사용자는 워드2vec으로 [20]구현된 이 정확도 테스트를 이용하거나 모델을 구성하는 기업에게 의미 있는 자체 테스트 세트를 개발할 수 있습니다.이 접근법은 단순히 주어진 테스트 단어와 가장 유사한 단어가 직관적으로 [1]타당하다고 주장하는 것보다 더 어려운 테스트를 제공한다.
매개변수 및 모델 품질
다른 모델 매개변수와 다른 말뭉치 크기의 사용은 word2vec 모델의 품질에 큰 영향을 미칠 수 있다.정확도는 모델 아키텍처(CBOW 또는 Skip-Gram)의 선택, 트레이닝 데이터 세트 증가, 벡터 차원 수 증가, 알고리즘에 의해 고려된 단어의 창 크기 증가 등 여러 가지 방법으로 향상될 수 있습니다.이러한 개선사항 각각은 계산 복잡성의 증가와 그에 따른 모델 생성 [1]시간의 증가로 인한 비용 절감으로 이어집니다.
대형 코퍼스와 높은 수의 차원을 사용하는 모델에서 스킵그램 모델은 전체 정확도가 가장 높고 의미 관계에 대한 정확도가 일관되게 가장 높을 뿐만 아니라 대부분의 경우 구문 정확도가 가장 높다.그러나 CBOW는 계산 비용이 적게 들고 유사한 정확도 [1]결과를 산출한다.
전반적으로, 사용된 단어 수와 차원 수에 따라 정확도가 높아집니다.Mikolov [1]등은 훈련 데이터의 양을 두 배로 늘리면 벡터 차원의 수를 두 배로 늘리는 것과 동등한 계산 복잡성이 증가한다고 보고한다.
Altszyler와 공저자(2017)는 서로 다른 말뭉치 [21]크기에 대한 두 가지 의미 테스트에서 Word2vec 성능을 연구했다.그들은 Word2vec이 중간에서 대규모 말뭉치 크기(1000만 단어 이상)로 훈련되었을 때 다른 단어 포함 기술(LSA)을 능가하는 가파른 학습 곡선을 가지고 있다는 것을 발견했다.그러나, 작은 훈련 말뭉치로 LSA는 더 나은 성과를 보였다.또한 그들은 최상의 매개변수 설정이 과제와 훈련 말뭉치에 따라 달라진다는 것을 보여준다.그럼에도 불구하고 중간 크기 말뭉치로 교육받은 스킵그램 모델의 경우 크기가 15개이고 10개의 음수 표본이 있는 창 크기가 좋은 매개변수 설정인 것 같습니다.
「 」를 참조해 주세요.
레퍼런스
- ^ a b c d e f g h i Mikolov, Tomas; et al. (2013). "Efficient Estimation of Word Representations in Vector Space". arXiv:1301.3781 [cs.CL].
- ^ US 9037464, Mikolov, Tomas; Chen, Kai & Corrado, Gregory S. 등, Google Inc.에 할당된 2015-05-19, "고차원 공간에서 단어의 수치적 표현 계산" 출판.
- ^ Mikolov, Tomas; et al. (2013). "Efficient Estimation of Word Representations in Vector Space". arXiv:1301.3781 [cs.CL].
- ^ Mikolov, Tomas (2013). "Distributed representations of words and phrases and their compositionality". Advances in Neural Information Processing Systems. arXiv:1310.4546.
- ^ a b Goldberg, Yoav; Levy, Omer (2014). "word2vec Explained: Deriving Mikolov et al.'s Negative-Sampling Word-Embedding Method". arXiv:1402.3722 [cs.CL].
- ^ Mikolov, Tomas; Sutskever, Ilya; Chen, Kai; Corrado, Greg S.; Dean, Jeff (2013). Distributed representations of words and phrases and their compositionality. Advances in Neural Information Processing Systems. arXiv:1310.4546. Bibcode:2013arXiv1310.4546M.
- ^ a b c "Google Code Archive - Long-term storage for Google Code Project Hosting". code.google.com. Retrieved 13 June 2016.
- ^ "Parameter (hs & negative)". Google Groups. Retrieved 13 June 2016.
- ^ "Visualizing Data using t-SNE" (PDF). Journal of Machine Learning Research, 2008. Vol. 9, pg. 2595. Retrieved 18 March 2017.
- ^ Le, Quoc; et al. (2014). "Distributed Representations of Sentences and Documents". arXiv:1405.4053 [cs.CL].
- ^ "Doc2Vec tutorial using Gensim". Retrieved 2 August 2015.
- ^ "Doc2vec for IMDB sentiment analysis". GitHub. Retrieved 18 February 2016.
- ^ "Doc2Vec and Paragraph Vectors for Classification". Retrieved 13 January 2016.
- ^ a b Asgari, Ehsaneddin; Mofrad, Mohammad R.K. (2015). "Continuous Distributed Representation of Biological Sequences for Deep Proteomics and Genomics". PLOS ONE. 10 (11): e0141287. arXiv:1503.05140. Bibcode:2015PLoSO..1041287A. doi:10.1371/journal.pone.0141287. PMC 4640716. PMID 26555596.
- ^ Ng, Patrick (2017). "dna2vec: Consistent vector representations of variable-length k-mers". arXiv:1701.06279 [q-bio.QM].
- ^ Banerjee, Imon; Chen, Matthew C.; Lungren, Matthew P.; Rubin, Daniel L. (2018). "Radiology report annotation using intelligent word embeddings: Applied to multi-institutional chest CT cohort". Journal of Biomedical Informatics. 77: 11–20. doi:10.1016/j.jbi.2017.11.012. PMC 5771955. PMID 29175548.
- ^ Levy, Omer; Goldberg, Yoav; Dagan, Ido (2015). "Improving Distributional Similarity with Lessons Learned from Word Embeddings". Transactions of the Association for Computational Linguistics. Transactions of the Association for Computational Linguistics. 3: 211–225. doi:10.1162/tacl_a_00134.
- ^ Arora, S; et al. (Summer 2016). "A Latent Variable Model Approach to PMI-based Word Embeddings". Transactions of the Association for Computational Linguistics. 4: 385–399. doi:10.1162/tacl_a_00106 – via ACLWEB.
- ^ Mikolov, Tomas; Yih, Wen-tau; Zweig, Geoffrey (2013). "Linguistic Regularities in Continuous Space Word Representations". HLT-Naacl: 746–751.
- ^ "Gensim - Deep learning with word2vec". Retrieved 10 June 2016.
- ^ Altszyler, E.; Ribeiro, S.; Sigman, M.; Fernández Slezak, D. (2017). "The interpretation of dream meaning: Resolving ambiguity using Latent Semantic Analysis in a small corpus of text". Consciousness and Cognition. 56: 178–187. arXiv:1610.01520. doi:10.1016/j.concog.2017.09.004. PMID 28943127. S2CID 195347873.