DL4J中文文件/語言處理/Vocabulary Cache
詞彙快取的工作原理
詞彙快取是DL4J中處理通用自然語言任務的機制,包括普通TF-IDF、單詞向量和某些資訊檢索技術。詞彙快取的目標是成為文字向量化的一站式商店,其中封裝了單詞袋和單詞向量等常用的技術。
詞彙快取通過倒排索引處理詞、詞統計頻率、倒排文件頻率和文件出現的儲存。InMemoryLookupCache是參考實現。
為了在迭代文字和索引詞時使用詞彙快取,你需要確定詞是否應該包括在詞彙快取中。該標準通常是如果詞出現在語料庫中超過一定預先配置的頻率。在該頻率以下,單個詞不是一個詞彙快取的單詞,它只是一個詞。
我們也跟蹤詞。為了跟蹤詞,請執行下列操作:
addToken(new VocabWord(1.0,"myword"));
當你想新增一個詞彙快取的詞,按如下做:
addWordToIndex(0, Word2Vec.UNK);
putVocabWord(Word2Vec.UNK);
向索引新增單詞來 設定索引。然後你把它宣告為一個詞彙快取單詞。(宣告它是一個詞彙快取單詞,將從索引中拉出單詞。)
相關推薦
DL4J中文文件/語言處理/Vocabulary Cache
詞彙快取的工作原理 詞彙快取是DL4J中處理通用自然語言任務的機制,包括普通TF-IDF、單詞向量和某些資訊檢索技術。詞彙快取的目標是成為文字向量化的一站式商店,其中封裝了單詞袋和單詞向量等常用的技術。 詞彙快取通過倒排索引處理詞、詞統計頻率、倒排文件頻率和文件出現的儲存。InMemoryL
DL4J中文文件/語言處理/Doc2Vec
在DL4J中的Doc2Vec, 或段落向量 Doc2Vec的主要目的是將任意文件與標籤關聯,因此需要標籤。Doc2Vec是Word2Vec的一個擴充套件,它學習關聯標籤和單詞,而不是用單詞關聯單詞。DL4J實現它的意圖是為了服務於Java、Scala和Culjule社群。 第一步是提出一個表
DL4J中文文件/語言處理/Word2Vec
Word2Vec, Doc2vec & GloVe: 用於自然語言處理的神經詞嵌入 內容 介紹 神經詞嵌入 有趣的Word2Vec結果 給我程式碼 Word2Vec 剖析 安裝,載入與訓練 程式碼示例 問題排查
DL4J中文文件/語言處理/概述
DL4J的自然語言處理功能 儘管沒有設計成可以與諸如Stanford CoreNLP或NLTK之類的工具相提並論,但DL4J確實包括本文描述的一些核心文字處理工具。 DL4J的NLP依賴 ClearTK,一個開源的機器學習和Apache非結構化資訊管理架構的自然語言處理框架,或UI
DL4J中文文件/語言處理/Tokenization
什麼是分詞? 分詞是將文字分解成單個單詞的過程。單詞視窗也是由片語成。 Word2Vec還可以輸出文字視窗,這些文字視窗包括用於輸入神經網路中的訓練示例,如本文所見。 示例 下面是一個用DL4J工具進行分詞的例子: //帶有詞形還原,詞性標註,句子分割的分詞
DL4J中文文件/語言處理/SentenceIterator
句子迭代器 SentenceIterator (句子迭代器)用於 Word2vec 和 詞袋 。 它將一些文字以向量的形式輸入到神經網路中,也涵蓋了文字處理中的文件概念。 在自然語言處理中,文件或句子通常用來封裝演算法應該學習的上下文。
DL4J中文文件/模型/多層網路
為什麼用多層網路? MultiLayerNetwork類是Eclipse DL4J中可用的最簡單的網路配置API。該類對於不需要複雜和分支的網路圖的初學者或使用者很有用。 如果你正在建立複雜的損失函式、使用圖頂點或執行類似如三重網路的高階訓練,則不希望使用MultiLayerNetwork配
DL4J中文文件/模型/卷積
什麼是卷積神經網路? 神經網路配置中的每一層表示隱藏單元的單元。當層堆疊在一起時,它們代表了一個深度神經網路。 可用的層 Convolution1D (一維卷積) [原始碼] 一維卷積層。形狀期望的輸入啟用[小批量,通道,序列長度] Convolution2D(二維卷
DL4J中文文件/模型/計算圖
用計算圖構建複雜網路架構 本頁描述瞭如何使用 DL4J的計算圖功能來構建更復雜的網路。 內容 計算圖概述 計算圖:一些用例 配置一個計算圖網路 圖頂點型別 示例1:具有跳過連線的迴圈網路 示例2:多個輸入和合並頂點
DL4J中文文件/模型/自編碼器
什麼是自編碼器? 自編碼器是用於無監督學習的神經網路。Eclipse DL4J支援某些自動編碼器層,如變分自編碼器。 受限波爾滋曼機在哪? 0.9.x版本已不再支援受限波爾滋曼機了,對於多數機器學習問題它們不再是最好的選擇了。 支援的層 AutoEncoder(自編碼器)
DL4J中文文件/模型/自定義層
編寫自定義層 有兩個元件可新增自定義層: 新增層配置類: 擴充套件 org.deeplearning4j.nn.conf.layers.Layer 新增層實現類: 實現 org.deeplearning4j.nn.api.Layer 配置層(以上(1)
DL4J中文文件/模型/監聽器
什麼是監聽器? 監聽器允許使用者在Eclipse DL4J中“掛鉤”到某些事件中。這允許你收集或列印對訓練等任務有用的資訊。例如,一個ScoreIterationListener允許你從神經網路的輸出層列印訓練分數。 用法 要將一個或多個監聽器新增到一個多層網路或計算圖中,請使用addL
DL4J中文文件/模型/層
什麼是層? 神經網路配置中的每一層表示隱藏單元的單元。當層堆疊在一起時,它們代表了一個深度神經網路。 使用層 在Eclipse DL4J中可用的所有層都可以用在多層網路或計算圖中。當配置一個神經網路時,你傳遞層配置,網路會為你例項化該層。 層VS頂點 如果你正在配置諸如Incep
DL4J中文文件/模型/頂點
頂點是什麼? 在Eclipse DL4J中,頂點是在計算圖中充當節點的一種層。它可以接受多個輸入,提供多個輸出,並且可以幫助構建流行的網路,如InceptionV4。 可用的類 L2NormalizeVertex [原始碼] L2NormalizeVertex 在單個輸入上執
DL4J中文文件/模型/模型動物園
可用模型 AlexNet [原始碼] AlexNet Dl4J的AlexNet模型解釋基於原始論文《基於深度卷積神經網路的ImageNet分類》和引用的imagenet示例程式碼。 參考文獻: http://papers.nips.cc/paper/4824-imagen
DL4J中文文件/模型/迭代器
什麼是迭代器? 資料集迭代器允許將資料輕鬆載入到神經網路中,並幫助組織批處理、轉換和掩碼。包含在Eclipse DL4J中的迭代器有助於使用者提供的資料,或者自動載入公共的基準資料集如MNIST和IRIS。 用法 對於大多數用例,初始化迭代器和傳遞一個引用到MultiLayerNetwo
DL4J中文文件/模型/RNN(迴圈神經網路)
DL4J中的迴圈神經網路 本文概述了在DL4J中如何使用迴圈神經網路的具體訓練特徵和實用性。本文假定對迴圈神經網路及其使用有一定了解,而不是對遞迴神經網路的介紹,並且假定你對它們的使用和術語有一些熟悉。 內容 基礎:資料和網路配置 RNN訓練特徵 通過時間截
DL4J中文文件/模型/模型持久化
神經網路的儲存與載入 ModelSerializer(模型序列化器)是一個處理載入和儲存模型的類。通過連結顯示的示例中儲存模型有兩種方法。第一個例子儲存了一個正常的多層網路,第二個例子儲存了一個計算圖。 下面是一個基本示例,其中包含使用ModelSerializer類儲存計算圖的程式碼,以及
DL4J中文文件/模型/動物園用法
關於DL4J模型動物園 DL4J具有可直接從DL4J訪問和例項化的本地模型動物園。模型動物園還包括用於不同資料集的預訓練權重,這些資料集是自動下載的,並使用校驗總和機制檢查完整性。 如果你想使用新的模型動物園,你需要新增它作為依賴項。Maven POM將新增以下內容: <depen
DL4J中文文件/開始/初學者
我該如開始使用深度學習? 你從哪裡開始取決於你已經知道了什麼。 真正理解深度學習的先決條件是線性代數、微積分和統計學,以及程式設計和一些機器學習。應用它的先決條件是學習如何部署模型。 在DL4J的場景中,你應該很瞭解JAVA並且對類似IntelliJ IDE的工具和自動