自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

文檔解析框架:面向對象的神經規(guī)劃

開發(fā) 開發(fā)工具
深度好奇(DeeplyCurious.ai)近日在 arXiv 上發(fā)布的論文提出了一種基于神經符號智能(Neural-symbolic)的特定領域文本解析框架:Object-oriented Neural Programming(OONP)。下面,我們就來解讀具體內容。

深度好奇(DeeplyCurious.ai)近日在 arXiv 上發(fā)布的論文提出了一種基于神經符號智能(Neural-symbolic)的特定領域文本解析框架:

Object-oriented Neural Programming(OONP)。

論文題目:用于文檔理解的面向對象神經規(guī)劃

用于文檔理解的面向對象神經規(guī)劃

論文鏈接:https://arxiv.org/pdf/1709.08853.pdf

該框架借用面向對象編程(OOP)的思想,利用解析出來的實體組成對象和對象間關系(如圖 1),構成結構清晰的本體圖。每個對象 (object) 都是一個類 (class) 的實例化,類的概念規(guī)定了其具有的內部屬性、外部關系和可執(zhí)行的操作,以及與其他對象的關系類型。如圖 1 所示,左邊為敘事文本,右邊為經過 OONP 解析生成的本體圖。圖例中共包含三個類的對象,分別為事件、人物、物品。人物類有姓名、性別、年齡屬性,同時與事件對象有嫌疑人、被害人等表征人物角色的外部鏈接;物品類有名稱、數量、價值等屬性,與事件對象有表征物品角色的外部鏈接;另事件類有事件類型、時間、地點等屬性。

 OONP 解析任務示意

圖 1. OONP 解析任務示意

下面我們拆解 OONP 框架并介紹其主要功能模塊。如圖 2 所示,OONP 由三部分組成,分別是主控模塊閱讀器(Reader)、表征文檔的行間記憶(Inline Memory)模塊、以及總結對之前文本的理解的攜帶記憶(Carry-on Memory)模塊。

OONP 解析的基本框架

圖 2. OONP 解析的基本框架

  • 行間記憶(Inline Memory)模塊主要存儲保留了原始文檔時間順序的低級表征。具體來說,行間記憶是由記憶單元按照原始文檔的順序排列組成的數組,每個單元對應著文檔的基本語言單位(比如字或者詞),有可微分部分和離散部分。這兩個部分可以方便的存儲多種類型的和文本相關的信息,從簡單的 Word Embedding、遞歸神經網絡(RNN)輸出等連續(xù)表示,到詞性分類結果、句法信息,以及起來自特定規(guī)則的離散表示。這既可以來自第三方的程序,也可以來自 OONP 自己的寫入。
  • 攜帶記憶(Carry-on Memory)模塊可分為對象記憶(Object Memory)、矩陣記憶 (Matrix Memory) 和動作歷史 (Action History) 三部分。對象記憶存儲針對對象的具體表示,對象的內部屬性可以有不同的形式,比如字段或者類別,同時也對應著不同的形成方式:字段一般是從原文復制粘貼過來,類別則是通過分類模塊得到的。同時,每個對象也有可動態(tài)調整的可微分表示(object embedding)作為其與其他模塊交互的接口。當 OONP 每次讀到文本中針對某個對象的描述,就會對對象記憶中該對象的相關部分信息中進行更新操作。
  • 閱讀器(Reader)是 OONP 解析器的核心模塊,它管理整個決策序列中所有連續(xù)的、離散的操作。它由多個符號處理器和一個神經網絡控制器構器。如圖 3 所示,閱讀器有神經網絡控制器(Neural Net Controller)和多個符號處理器(圖 3 中的黑色模塊)。類似神經圖靈機中控制器的設計,神經網絡控制器配有多個可微的讀頭(read-head)和寫頭 (write-head), 用于讀取行間記憶和攜帶記憶以及符號處理器的輸出但。與神經圖靈機中控制器不同,控制器的子模塊策略網絡(Policy-net)產生離散操作(action)序列,一部分操作序列將會更新本體結構和相關的對象記憶。各種符號處理器用來處理來自對象記憶、行間記憶、動作歷史中符號信息,用于規(guī)則約束、推理等,而這些符號處理器的部分結果將會重新作為神經網絡控制器的輸入。

閱讀器的構成及信息流

圖 3. 閱讀器的構成及信息流

OONP 解析器中基于神經網絡的閱讀器按照文本順序讀文檔,同時不斷豐富本體結構來增進對文檔的理解。對于某個待解析的文檔,OONP 首先將預處理之后的文檔放入行間記憶模塊,閱讀器順序讀取行間記憶中符號表示和連續(xù)表示,結合攜帶記憶,產生各種操作來增加和豐富本體圖,更新攜帶記憶模塊。這些操作包含可微分操作(作用于對象記憶的連續(xù)部分和矩陣記憶)和離散操作(作用于對象記憶和行間記憶的符號部分)。這些連續(xù)和離散操作互相依賴,構成了彼此的輸入,共同形成了圖 3 中復雜而靈活的信息流。

下面我們著重講解一下 OONP 的離散操作。閱讀器的策略網絡輸出的離散操作序列是形成本體結構主要操作。該操作集合包括三類,依照順序分別是「新增-指派」,「選擇更新屬性」,和「更新內容」。當然,「新增-指派」操作后,也可以沒有后續(xù)操作(空操作)。「新增-指派」可轉化為多分類問題,如果提到內容是***次出現,則「新增」,如果是已經出現過的,只是重新提及,則「指派」。具體的決策依賴于閱讀器在創(chuàng)建的臨時對象(公式中的)與已存在對象之間的相似度。具體公式如下:

公式***行代表臨時對象和「新增」c 類的相似度,第二行表示臨時對象和 c 類第 k 個對象的相似度,第三行代表與空操作的「相似度」。圖 4 是對解析過程中的某個瞬間對上述匹配過程的形象化描述。

圖 4

圖 4.「新增-指派」操作中,臨時對象與已存在對象之間相似性衡量示意,虛線表示「新增」,實線表示「指派」

通過上述的三種操作,OONP 解析器可以對復雜的文檔進行結構化解析。下面的圖 5 給出了一段短文本解析的示例:OONP 解析器做通過一個動作序列,逐步形成了包含六個對象和六條鏈接的本體結構。

 OONP 解析器解析文檔過程示意

圖 5

圖 5. OONP 解析器解析文檔過程示意。假設在預處理階段,汽車的描述已經被抽取。

作者在三個數據集上對模型的性能進行了實驗。以公安報案數據為例,OONP 使用了如圖 6 中列舉的 action。

 公安報案數據中使用的 action

圖 6. 公安報案數據中使用的 action

圖 7 比較了 OONP 的不同實現:論文衡量模型性能用了四個指標,Assign Acc 表示預測對象「新增和指派」的正確率,Type Acc 表示預測對象屬性的正確率,Ont Acc 表示單個樣本解析的本體結構和標簽 100% 重合的正確率,Ont Acc-95 表示單個樣本解析的本體結構和標簽 95% 重合的正確率。簡單的 OONP 模型較以 Bi-LSTM 為基準模型有很大提升,具有豐富結構信息的 OONP(structured)則又有明顯提升。而在 OONP(structured)的基礎上,用強化學習來決定分類時機的模型 OONP(RL)則又進一步提高了效果。

多個 OONP 模型的比較

圖 7. 多個 OONP 模型的比較

作為總結,OONP 解析框架具有如下特點:

  • OONP 框架的中間狀態(tài)包含一個離散的對象本體圖結構,該圖結構被決策過程的操作序列創(chuàng)建和更新,并在解析的結尾作為對最終的文本語義表示。
  • OONP 框架將解析過程轉化為決策序列:按照文本閱讀順序做出各種離散動作,形成能夠表征已讀文本的本體圖,模仿了人理解文本的認知過程。
  • OONP 框架提供了神經符號主義的一個實例:在 OONP 框架內,連續(xù)信號、表示、操作和離散信號、表示、操作緊密結合,形成信息閉環(huán)。這使得 OONP 可以靈活地將各種先驗知識用不同形式加入到行間記憶和策略網絡中。
  • OONP 框架利用監(jiān)督學習和強化學習以及二者的各種混合態(tài),以適應不同強度和形式的監(jiān)督信號以訓練參數

【本文是51CTO專欄機構“機器之心”的原創(chuàng)文章,微信公眾號“機器之心( id: almosthuman2014)”】

戳這里,看該作者更多好文

責任編輯:趙寧寧 來源: 51CTO專欄
相關推薦

2010-06-29 18:58:23

UML面向對象技術

2010-06-17 18:17:36

UML面向對象技術

2010-09-28 10:03:15

DOM文檔對象模型

2010-06-13 17:48:36

UML面向對象建模

2023-01-10 09:38:09

面向對象系統(tǒng)

2024-01-03 13:38:00

C++面向對象編程OOP

2010-06-17 17:57:10

UML面向對象分析與設

2010-07-13 14:54:15

Perl面向對象編程

2010-06-13 10:19:24

面向對象技術與UML

2021-10-21 18:47:37

JavaScript面向對象

2010-06-13 10:33:54

面向對象UML技術

2025-02-13 07:49:49

2013-03-11 09:23:22

Go語言面向對象

2010-07-20 09:23:30

Perl構造函數

2009-07-14 16:51:50

Jython中的對象

2010-10-25 10:05:00

ibmdwJava

2024-04-28 11:01:27

C++編程語言函數

2022-07-30 23:41:53

面向過程面向對象面向協(xié)議編程

2012-03-13 16:39:52

Java

2010-06-17 09:22:48

UML面向對象分析與建
點贊
收藏

51CTO技術棧公眾號