Sunday, September 26, 2021

Paragraph2vec(三):Illustrated

 Paragraph2vec(三):Illustrated

2021/08/27

-----


https://pixabay.com/zh/photos/chart-trading-courses-analysis-1942060/

-----


Figure 1: Our model reads an input sentence “ABC” and produces “WXYZ” as the output sentence. The model stops making predictions after outputting the end-of-sentence token. Note that the LSTM reads the input sentence in reverse, because doing so introduces many short term dependencies in the data that make the optimization problem much easier.

圖 1:我們的模型讀取輸入句子“ABC”並生成“WXYZ”作為輸出句子。 模型在輸出句尾標記後停止進行預測。 請注意,LSTM 反向讀取輸入句子,因為這樣做會在數據中引入許多短期依賴關係,從而使優化問題變得更加容易。

# Seq2seq 1

說明:

將 ABC<EOS> 這個詞向量序列壓縮成一個向量(句向量),再將此向量解壓縮成 WXYZ<EOS> 這個詞向量的序列。

-----


Figure 1: The skip-thoughts model. Given a tuple (si-1; si; si+1) of contiguous sentences, with si the i-th sentence of a book, the sentence si is encoded and tries to reconstruct the previous sentence si-1 and next sentence si+1. In this example, the input is the sentence triplet I got back home. I could see the cat on the steps. This was strange. Unattached arrows are connected to the encoder output. Colors indicate which components share parameters. <eos> is the end of sentence token.

圖 1:跳過思考模型。 給定一個連續句子的元組 (si-1; si; si+1),其中 si 是一本書的第 i 個句子,句子 si 被編碼並嘗試重建前一句 si-1 和下一句 si+1 . 在這個例子中,輸入是我回到家的句子三元組。 我可以看到台階上的貓。 這很奇怪。 未附加的箭頭連接到編碼器輸出。 顏色指示哪些組件共享參數。 <eos> 是句尾標記。

# Skip-thought。

說明:

Seq2seq 的加強版。預測前後的句子。同樣要將輸入句先壓縮成一個句向量。

-----



Figure 1. A framework for learning word vectors. Context of three words (“the,” “cat,” and “sat”) is used to predict the fourth word (“on”). The input words are mapped to columns of the matrix W to predict the output word.

圖 1. 學習詞向量的框架。 三個詞(“the”、“cat”和“sat”)的上下文用於預測第四個詞(“on”)。 輸入詞映射到矩陣 W 的列以預測輸出詞。

# Paragraph2vec

說明:

CBOW。

-----


# C&W v2。

說明:

主要用於 SRL。輸入為句子,用上了一維卷積,可以理解為 ConvS2S 的基礎。

https://www.cnblogs.com/qinzhuy/p/12643277.html

「Window Approach 能夠完成絕大部分自然語言處理任務,但是在 SRL 上表現不佳。因此,SENNA 提出了 Sentence Approach 用於適應 SRL。Sentence Approach 採用的卷積網路結構,除了線性層和 HardTanh 層外,還有一個卷積層和一個 Max 層。」

https://blog.csdn.net/hlang8160/article/details/78047676

-----

POS 詞性標記

part-of-speech (POS) tagging

「依據字詞在句法結構或語言形態上扮演的角色,經由詞性分類賦予語句中每個字詞適當之詞性符號或標記的過程,則稱為詞性標記(part-of-speech tagging,或稱 POS ...」

「VBG 為動名詞或現在分詞,BEZ 代表 is,AT 為冠詞,NN 為名詞,IN 為介係詞,CC 為連接詞,DT 為限定詞,PP$ 為所有格,JJ 為形容詞。」

https://terms.naer.edu.tw/detail/1678982/

-----

CHUNK 組塊分析

「組塊分析是從非結構化文本中提取短語的過程。相對於 POS-Tagging 來說,POS-Tagging 返回了解析樹的最底層,就是一個個單詞。但是有時候你需要的是幾個單詞構成的名詞短語,而非個個單詞。」

「組塊分析是可以接着詞性標註工作繼續完成,它使用詞性標註作爲輸入,並提供分析好的組塊做爲輸出。與詞性標註的標籤類似,它也有一組標準的組塊標籤,如名詞短語(np)、動詞短語(vp)等。」

https://blog.csdn.net/Sirow/article/details/89306934

-----

NER 命名實體識別

Named Entity Recognition

「組塊分析是可以接着詞性標註工作繼續完成,它使用詞性標註作爲輸入,並提供分析好的組塊做爲輸出。」

「與詞性標註的標籤類似,它也有一組標準的組塊標籤,如名詞短語(np)、動詞短語(vp)等,當你想從諸如位置,人名等文本中提取信息時,分塊是非常重要的。在 NLP 中,稱爲命名實體識別,舉個例子‘李雷的杯子’是分塊分出的一個短語,而抽取’李雷’這個人名,就是命名體識別。所以,組塊分析也是命名體識別的基礎。」

https://blog.csdn.net/Sirow/article/details/89306934

-----

SRL 語義角色標註

Semantic Role Labeling (SRL) is defined as the task to recognize arguments for a given predicate and assign semantic role labels to them.

「語義角色標註的任務就是以句子的謂詞為中心,研究句子中各成分與謂詞之間的關係,並且用語義角色來描述他們之間的關係。

例:歐巴馬昨晚在白宮發表了演說。

這個句子中包括:謂詞“發表”、施事“歐巴馬”、受事“演說”、時間“昨晚”、地點“在白宮”。」

https://zhuanlan.zhihu.com/p/35789254

-----

NER Deep Learning


# NER

說明:

POS、CHUNK、NER、SRL,都可使用 Word Embedding 後,以 LSTM 進行 Supervised 的訓練,來完成。

--

BIO 與 BIOES。

「B,即 Begin,表示開始。I,即 Intermediate,表示中間。E,即 End,表示結尾。S,即Single,表示單個字符。O,即 Other,表示其他,用於標記無關字符。」

「將“小明在北京大學的燕園看了中國男籃的一場比賽”這句話,進行標註,結果就是:

[B-PER,E-PER,O, B-ORG,I-ORG,I-ORG,E-ORG,O,B-LOC,E-LOC,O,O,B-ORG,I-ORG,I-ORG,E-ORG,O,O,O,O]」

https://zhuanlan.zhihu.com/p/88544122

-----


# Word2vec 1。

說明:

w:window。此處 window 大小為 5。CBOW 是以周邊的字預測中間應該出現什麼字。Skip-gram 是以中間的字預測周邊應該出現什麼字。

-----

CBOW 周圍的字預測中間的單字


# Word2vec 3。

說明:

所有 context 字的 one hot 先乘以共享的 VxN 矩陣,得到的每個向量相加求平均,作為隱藏層的向量。

https://blog.csdn.net/WitsMakeMen/article/details/89511764

-----


https://zhuanlan.zhihu.com/p/27234078

-----


Figure 2. A framework for learning paragraph vector. This framework is similar to the framework presented in Figure 1; the only change is the additional paragraph token that is mapped to a vector via matrix D. In this model, the concatenation or average of this vector with a context of three words is used to predict the fourth word. The paragraph vector represents the missing information from the current context and can act as a memory of the topic of the paragraph.

圖 2. 學習段落向量的框架。 該框架類似於圖 1 所示的框架; 唯一的變化是通過矩陣 D 映射到向量的附加段落標記。在這個模型中,這個向量與三個詞的上下文的串聯或平均值用於預測第四個詞。 段落向量表示當前上下文中缺失的信息,可以作為段落主題的記憶。

# Paragraph2vec

說明:

類似 CBOW。

Paragraph Matrix

「In our Paragraph Vector framework (see Figure 2), every paragraph is mapped to a unique vector, represented by a column in matrix D and every word is also mapped to a unique vector, represented by a column in matrix W.」

在我們的段落向量框架(見圖 2)中,每個段落都映射到一個唯一的向量,由矩陣 D 中的一行表示,每個詞也映射到一個唯一的向量,由矩陣 W 中的一行表示。

--



「In summary, the algorithm itself has two key stages: the unsupervised training to get word vectors W, the inference stage to get paragraph vectors D. The third stage is to turn D to make a prediction about some particular labels using a standard classifier such as a logistic classifier or support vector machines.」

綜上所述,算法本身有兩個關鍵階段:無監督訓練得到詞向量 W,推理階段得到段落向量 D。 第三階段是轉 D 使用標準分類器對某些特定標籤進行預測,例如邏輯分類器或支持向量機。

--



一、訓練階段可以得到所有詞向量與句向量。

二、推論階段還是要隨機初始化新的句向量,然後用隨機梯度下降訓練權重,只是詞向量不用重新訓練。

--

「訓練完了以後,就會得到訓練樣本中所有的詞向量和每句話對應的句子向量,那麼 Doc2vec 是怎麼預測新的句子 Paragraph vector 呢?其實在預測新的句子的時候,還是會將該 Paragraph vector 隨機初始化,放入模型中再重新根據隨機梯度下降不斷迭代求得最終穩定下來的句子向量。不過在預測過程中,模型裡的詞向量還有投影層到輸出層的 softmax weights 參數是不會變的,這樣在不斷迭代中只會更新 Paragraph vector,其他參數均已固定,只需很少的時間就能計算出帶預測的 Paragraph vector。」

https://zhuanlan.zhihu.com/p/36886191

-----

Skip-Gram 中間的單字預測周圍的字



# Word2vec 3。

說明:

Input layer:以 skip-gram 為例,是 V 維的 one-hot encoding,非 0 的輸入神經元到隱藏層的權重,極為該單詞的詞向量。

Hidden layer:隱藏層。

Output layer:輸出層。

V-dim:輸入層的維度。

N-dim:隱藏層的維度。

CxV-dim:輸出層的維度。

W VxN:VxN 的矩陣。將輸入層的 V 維資料,轉成 N 維的隱藏層資料。

W' NxV:NxV 的矩陣。輸出為字彙表裡面,每個字的機率。先將隱藏層轉成 V 個值,再把這 V 個值做 Softmax 輸出。我們希望 context 裡的字,其機率越高越好。

xk:index。

hj:index。

y Cj:C 代表 context。target 代表 window 中間的字,context 代表 window 中,target 之外的其他字。CBOW 是 context 預測 target,skip-gram 則是 target 預測 context。

-----


Figure 3. Distributed Bag of Words version of paragraph vectors. In this version, the paragraph vector is trained to predict the words in a small window.

圖 3. 段落向量的分佈式詞袋版本。 在這個版本中,段落向量被訓練來預測小窗口中的單詞。

# Paragraph2vec

說明:

類似 Skip-gram。

Paragraph Matrix

「Another way is to ignore the context words in the input, but force the model to predict words randomly sampled from the paragraph in the output. In reality, what this means is that at each iteration of stochastic gradient descent, we sample a text window, then sample a random word from the text window and form a classification task given the Paragraph Vector.」

另一種方法是忽略輸入中的上下文詞,但強制模型預測從輸出中的段落中隨機採樣的詞。 實際上,這意味著在隨機梯度下降的每次迭代中,我們對一個文本窗口進行採樣,然後從該文本窗口中採樣一個隨機單詞,並在給定段落向量的情況下形成一個分類任務。

「In our experiments, each paragraph vector is a combination of two vectors: one learned by the standard paragraph vector with distributed memory (PV-DM) and one learned by the paragraph vector with distributed bag of words (PV-DBOW). PV-DM alone usually works well for most tasks (with state-of-art performances), but its combination with PV-DBOW is usually more consistent across many tasks that we try and therefore strongly recommended.」

在我們的實驗中,每個段落向量是兩個向量的組合:一個是通過具有分佈式內存的標準段落向量 (PV-DM) 學習的,另一個是通過具有分佈式詞袋 (PV-DBOW) 的段落向量學習的。 PV-DM 單獨通常適用於大多數任務(具有最先進的性能),但它與 PV-DBOW 的組合通常在我們嘗試並因此強烈推薦的許多任務中更加一致。

-----


Table 1. The performance of our method compared to other approaches on the Stanford Sentiment Treebank dataset. The error rates of other methods are reported in (Socher et al., 2013b).

表 1. 我們的方法與斯坦福情緒樹庫數據集上的其他方法相比的性能。 (Socher et al., 2013b) 中報告了其他方法的錯誤率。

# Paragraph2vec

說明:

Positive / Negative:SST-2 or SST binary。

fine-grained:The corpus with all 5 labels is referred to as SST-5 or SST fine-grained.

--

「The Stanford Sentiment Treebank is a corpus with fully labeled parse trees that allows for a complete analysis of the compositional effects of sentiment in language. The corpus is based on the dataset introduced by Pang and Lee (2005) and consists of 11,855 single sentences extracted from movie reviews. It was parsed with the Stanford parser and includes a total of 215,154 unique phrases from those parse trees, each annotated by 3 human judges.」

斯坦福情感樹庫是一個帶有完全標記的解析樹的語料庫,可以對語言中情感的構成效應進行完整的分析。 該語料庫基於 Pang 和 Lee (2005) 引入的數據集,包含從電影評論中提取的 11,855 個單句。 它使用斯坦福解析器進行解析,包括來自這些解析樹的總共 215,154 個獨特的短語,每個短語由 3 位人類判斷進行註釋。

「Each phrase is labelled as either negative, somewhat negative, neutral, somewhat positive or positive. The corpus with all 5 labels is referred to as SST-5 or SST fine-grained. Binary classification experiments on full sentences (negative or somewhat negative vs somewhat positive or positive with neutral sentences discarded) refer to the dataset as SST-2 or SST binary.」

每個短語都被標記為消極、有點消極、中性、有點積極或積極。 具有所有 5 個標籤的語料庫被稱為 SST-5 或 SST 細粒度。 完整句子的二元分類實驗(否定或有點否定 vs 有點肯定或肯定,丟棄中性句子)將數據集稱為 SST-2 或 SST 二進制。

https://paperswithcode.com/dataset/sst

-----


Table 2. The performance of Paragraph Vector compared to other approaches on the IMDB dataset. The error rates of other methods are reported in (Wang & Manning, 2012).

表 2. 與 IMDB 數據集上的其他方法相比,段落向量的性能。 其他方法的錯誤率在 (Wang & Manning, 2012) 中報告。

# Paragraph2vec

說明:

有兩種類型的標籤:正面和負面。

--

「Dataset: The IMDB dataset was first proposed by Maas et al. (Maas et al., 2011) as a benchmark for sentiment analysis. The dataset consists of 100,000 movie reviews taken from IMDB. One key aspect of this dataset is that each movie review has several sentences.」

數據集:IMDB 數據集首先由 Maas 等人提出。 (Maas et al., 2011) 作為情感分析的基準。 該數據集包含來自 IMDB 的 100,000 條電影評論。 該數據集的一個關鍵方面是每個電影評論都有幾個句子。

「The 100,000 movie reviews are divided into three datasets: 25,000 labeled training instances, 25,000 labeled test instances and 50,000 unlabeled training instances. There are two types of labels: Positive and Negative. These labels are balanced in both the training and the test set. The dataset can be downloaded at http://ai.Stanford.edu/amaas/data/sentiment/index.html」

100,000 條影評分為三個數據集:25,000 個標記訓練實例、25,000 個標記測試實例和 50,000 個未標記訓練實例。 有兩種類型的標籤:正面和負面。 這些標籤在訓練和測試集中都是平衡的。 數據集可以在 http://ai.Stanford.edu/amaas/data/sentiment/index.html 下載

# Paragraph2vec

-----


Table 3. The performance of Paragraph Vector and bag-of-words models on the information retrieval task. “Weighted Bag-of-bigrams” is the method where we learn a linear matrix W on TF-IDF bigram features that maximizes the distance between the first and the third paragraph and minimizes the distance between the first and the second paragraph.

表 3. Paragraph Vector 和 bag-of-words 模型在信息檢索任務上的表現。 “Weighted Bag-of-bigrams”是我們在 TF-IDF bigram 特徵上學習線性矩陣 W 的方法,該矩陣使第一段和第三段之間的距離最大化,並使第一段和第二段之間的距離最小化。

# Paragraph2vec

說明:

「tf-idf(英語:term frequency–inverse document frequency)是一種用於資訊檢索與文字挖掘的常用加權技術。tf-idf是一種統計方法,用以評估一字詞對於一個檔案集或一個語料庫中的其中一份檔案的重要程度。字詞的重要性隨著它在檔案中出現的次數成正比增加,但同時會隨著它在語料庫中出現的頻率成反比下降。」

https://zh.wikipedia.org/wiki/Tf-idf

-----

# Paragraph2vec。被引用 6763 次。

Le, Quoc, and Tomas Mikolov. "Distributed representations of sentences and documents." International conference on machine learning. 2014.

http://proceedings.mlr.press/v32/le14.pdf

-----

# Word2vec 1。被引用 18991 次。

Mikolov, Tomas, et al. "Efficient estimation of word representations in vector space." arXiv preprint arXiv:1301.3781 (2013).

https://arxiv.org/pdf/1301.3781.pdf


# Word2vec 2。被引用 23990 次。

Mikolov, Tomas, et al. "Distributed representations of words and phrases and their compositionality." Advances in neural information processing systems. 2013.

https://papers.nips.cc/paper/2013/file/9aa42b31882ec039965f3c4923ce901b-Paper.pdf


# Word2vec 3。被引用 645 次。

Rong, Xin. "word2vec parameter learning explained." arXiv preprint arXiv:1411.2738 (2014).

https://arxiv.org/pdf/1411.2738.pdf


# C&W v1。被引用 5099 次。

Collobert, Ronan, and Jason Weston. "A unified architecture for natural language processing: Deep neural networks with multitask learning." Proceedings of the 25th international conference on Machine learning. 2008.

http://www.cs.columbia.edu/~smaskey/CS6998-Fall2012/supportmaterial/colbert_dbn_nlp.pdf


# C&W v2。被引用 6841 次。本篇論文闡釋了從 Word2vec 繼續發展 Paragraph2vec 的必要性。

Collobert, Ronan, et al. "Natural language processing (almost) from scratch." Journal of machine learning research 12.ARTICLE (2011): 2493-2537.

https://www.jmlr.org/papers/volume12/collobert11a/collobert11a.pdf


# Seq2seq 1。被引用 12676 次。

Sutskever, Ilya, Oriol Vinyals, and Quoc V. Le. "Sequence to sequence learning with neural networks." Advances in neural information processing systems. 2014.

http://papers.nips.cc/paper/5346-sequence-to-sequence-learning-with-neural-networks.pdf


# Skip-thought。

Kiros, Ryan, et al. "Skip-thought vectors." arXiv preprint arXiv:1506.06726 (2015).

https://arxiv.org/pdf/1506.06726.pdf


# NER

Yadav, Vikas, and Steven Bethard. "A survey on recent advances in named entity recognition from deep learning models." arXiv preprint arXiv:1910.11470 (2019).

https://arxiv.org/pdf/1910.11470.pdf

-----

No comments: