每日最新頭條.有趣資訊

TensorFlow官方宣傳新功能 攻克語言AI模型預處理偏差

新智元報導

來源:Venturebeat等

編輯:大明

【新智元導讀】谷歌發布TensorFlow優化新功能TF.Text庫,可對語言文本AI模型進行周期性預處理,大大節約了AI開發者對文本模型的訓練時間,簡化訓練流程。

TensorFlow再填新功能!

谷歌宣布推出TensorFlow.Text,這是一個利用TensorFlow對語言文本模型進行預處理的庫。TF官博第一時間發布了更新消息,並對TF.Text的新功能和特性進行了簡要介紹。

TensorFlow一直以來致力於為用戶提供更廣泛的選擇,幫助用戶利用圖像和視頻數據構建模型。但是,許多模型是以文本開頭的,從這些模型構建的語言模型需要進行一些預處理,才能將文本輸入到模型中。比如關於使用IMDB數據集的文本分類教程,就是從已經轉換為整數ID的文本數據開始入手的。

如果模型訓練和推理的時間不一樣,在訓練過程以外完成的預處理可能會和模型產生偏差,這就需要額外投入更多的時間和精力對預處理的過程進行協調。

TensorFlow本次推出的TF.Text就是為了解決這個問題,TF.Text是一個TensorFlow 2.0庫,可以使用PIP命令輕鬆安裝。它可以在基於文本的模型中定期執行這些預處理過程,並提供TensorFlow核心組件中並未提供的、關於語言建模的更多功能和操作。

其中最常見的功能就是文本的詞條化(tokenization)。詞條化是將字元串分解為token的過程。這些token可能是單詞、數字和標點符號,或是上述幾種元素的組合。

TF.Text的Tokenizer使用RaggedTensors,這是一種用於識別文本的新型張量。

下面是來自TensorFlow官方的一段視頻介紹,一起來看看:

三個新的Tokenizer,系統解決文本AI模型預訓練問題

TF.Text提供了三個新的tokenizer。其中最基本的是空白tokenizer,可以在ICU定義的空白字元(例如空格,製表符,換行符)上拆分UTF-8字元串。

此次發布的初始版本還包括一個面向unicode腳本的tokenizer,可以根據Unicode腳本邊界拆分UTF-8字元串。值得注意的是,它和空白tokenizer很類似,最明顯的區別在於後者可以從標準文本(如USCRIPT_LATIN,USCRIPT_CYRILLIC等)中分割出標點符號。

TF.Text中提供的最後一個tokenizer是一個Wordpiece tokenizer。這是一個無監督的tokenizer,需要一個預先確定的詞匯表,進一步將token分成子詞(前綴和後綴)。Wordpiece常用於谷歌的BERT模型。

每個Tokenizer都在UTF-8編碼的字元串上進行標記,並提供了將字節偏移量轉換為原始字元串的選項。調用者可以了解創建的token的原始字元串中的字節對齊。

此外,TF.Text庫還包括歸一化、n-gram和標記序列約束等功能。

新功能組件密集發布,TensorFlow大家庭日益完善

有關更深入的實例,可以查看Colab notebook內容,其中包含許多本文中未討論的新的可用操作的各種代碼段。未來計劃繼續提供更多新工具,讓使用TensorFlow構建語言模型變得更加方便。

今年上半年,谷歌陸續發布了多個基於TensorFlow的新功能和新組件。5月,谷歌發布TensorFlow Graphics,讓機器學習與圖形和3D模型的關係更加密切。今年3月,谷歌發布旨在增強隱私保護的終端設備機器學習方法TensorFlow Federated。此外,TensorFlow框架面向JavaScript和iOS開發者的版本TensorFlow.js和TensorFlow Swift也於今年春天發布。

參考鏈接:

https://venturebeat.com/2019/06/10/google-launches-tensorflow-text-library-for-language-ai-models/

https://medium.com/tensorflow/introducing-tf-text-438c8552bd5e

獲得更多的PTT最新消息
按讚加入粉絲團