自然語言處理 建立乙個雙向迴圈神經網路

2021-10-18 04:14:00 字數 809 閱讀 3672

我們閱讀句子的方向是單向的,但當接收到新資訊時,大腦能夠迅速回到文字前面的內容。人類可以處理那些沒有按照最佳順序呈現的資訊。如果我們能允許模型在輸入之間來回切換,那就太好了。這就是雙向迴圈神經網路的用武之地。

基本思想:將兩個 rnn 併排在一起,將輸入像普通單向 rnn 的輸入一樣傳遞到其中乙個 rnn 中,並將同樣的輸入從反向傳遞到另乙個 rnn 中,如圖所示,然後,在每個時刻將這兩個網路的輸出拼接到一起作為另乙個網路中對應(相同輸入詞條)時刻的輸入。我們獲取輸入最後乙個時刻的輸出後,將其與在反向網路的第乙個時刻的由相同輸入詞條生成的輸出拼接起來。

好處:不僅可以對文字進行**和分類,還可以對語言本身及其使用方式進行建模。有了它,我們就可以生成全新的語句,而不僅僅是模仿模型之前見過的文字

**:

from keras.models import sequential

from keras.layers import ******rnn

num_neurons =

10maxlen =

100embedding_dims =

300model = sequential(

)model.add(bidirectional(******rnn(

num_neurons, return_sequences=

true

), input_shape=

(maxlen, embedding_dims)

))

python自然語言處理(一)

1.從nltk的book模組載入所有東西 fromnltk.book import 2.詞語索引檢視。顯示乙個指定單詞的每一次出現,連同上下文一起顯示。text1.concordance monstrous 3.通過索引看到monstrous上下文中有the pictures和the size,查詢...

自然語言處理隨筆(一)

安裝jieba中文分詞命令 pip install jieba 簡單的例子 import jieba seg list jieba.cut 我來到北京清華大學 cut all true print full mode join seg list 全模式 seg list jieba.cut 我來到北...

Python NLTK自然語言處理學習(一

最近開始學習python nltk自然語言處理,在此分享自己的學習經驗,因為是初學,肯定有很多很多不懂的地方,發布此文章絕非為了顯示自己的水平,而是因為網路上對nltk的資料實在太少了,我就想分享一下自己的心得,也希望能夠得到更多高手的指點,希望高手們發現不對的地方耐心指點,切勿針鋒相對,這樣會打擊...