簡體   English   中英

什么數據模型可用於頁面或文本的“含義”

[英]What data model can be used for the “meaning” of a page or text

我已經多次在網上讀過這個問題:

如何提取頁面的含義。

而且我知道我沒有足夠的經驗來嘗試提出任何解決方案。 對我而言,這是網絡編程的聖杯,甚至可能是整個計算機技術。

但是,通過想象力,讓我們假設我已經編寫了完全符合這一要求的終極劇本。 例如,我輸入以下文字:

想象力使人類度過了黑暗時代,走向了現在的文明狀態。 想象力導致哥倫布發現美國。 想象力導致富蘭克林發現電力。

我強大的腳本提取了意義,並說:

人類思考的能力使他們發現新事物。

出於本示例的目的,我使用“String”來解釋文本的含義。 但是如果我必須將它存儲在數據庫,數組或任何類型的存儲中,那么我將使用的數據類型是什么?

請注意,我可以使用另一個使用不同類比但仍具有相同含義的文本,例如:

想象力有助於人類的進步。

現在我可以輸入關於想象力重要性的搜索查詢,並顯示這兩個結果。 但他們將如何匹配? 它會是一個字符串比較嗎? 有些整數,浮點數? 也許甚至二進制?

這意味着什么? 我想聽聽你的意見。

更新:讓我簡單地重述一下這個問題。

你如何在數據中表示意義?

假設我們的大腦無法訪問形而上學的雲服務器, 意味着神經元連接,激素水平,電活動 - 甚至是量子波動 - 以及所有這些與外部世界和其他大腦之間的相互作用。 所以這是個好消息:至少我們知道你的問題至少有一個答案(意思是在某處,某種程度上表示)。 壞消息是,我們大多數人都不知道這是如何運作的,那些認為他們理解的人無法說服其他人或彼此。 作為一個無能為力的人,我無法給出你的問題的答案,但提供了一個列表,我已經遇到了大問題的較小和退化版本。

如果要表示詞法實體的含義(例如,概念,動作),可以使用分布式模型,例如向量空間模型 在這些模型中,通常意義具有幾何分量。 每個概念都表示為一個向量,您可以將概念放在一個空間中,使類似的概念彼此更接近。 構造這樣一個空間的一種非常常見的方法是選擇一組常用詞(基礎詞)作為空間的維度,並簡單地計算目標概念在語音/文本中與這些基礎詞一起被觀察的次數。 類似的概念將用於類似的背景; 因此,他們的向量將指向相似的方向。 最重要的是可以進行一堆加權,歸一化,降維和重組技術(例如,頂部TF-IDFhttp://en.wikipedia.org/wiki/Pointwise_mutual_informationSVD )。 一個略微相關,但概率 - 而不是幾何 - 的方法是潛在的Dirichlet分配和其他生成/貝葉斯模型已經在另一個答案中提到。

向量空間模型方法有利於辨別目的。 您可以決定兩個給定短語是否在語義上相關(例如,將查詢與文檔匹配或查找類似的搜索查詢對以幫助用戶擴展其查詢)。 但是在這些模型中合並語法並不是非常簡單。 我無法清楚地看到你如何通過向量來表示句子的含義。

語法形式可以幫助整合語法並將結構帶入意義和概念之間的關系(例如, 頭部驅動的短語結構語法 )。 如果您構建兩個共享詞匯和語法的代理並通過這些機制進行通信(即,將信息從一個傳遞到另一個),您可以說它們代表了含義。 當一個機器人告訴另一個人通過內置或出現的語法和詞匯選擇“黑盒子上面的紅色圓圈”而另一個人成功地挑選出預期的物體時,這意味着在何處以及如何表示意義。(見這個非常有趣的實驗基礎詞匯:會說話的頭腦

捕獲意義的另一種方法是使用網絡。 例如,通過將每個概念表示為圖中的節點以及概念之間的關系作為節點之間的邊緣,可以提出實際的意義表示。 Concept Net是一個旨在表達常識的項目,可以將其視為常識概念的語義網絡。 在某種程度上,某個概念的含義通過其相對於網絡中其他概念的位置來表示。

說到常識, Cyc是一個試圖捕捉常識知識的項目的另一個雄心勃勃的例子,但它以與Concept Net截然不同的方式實現。 Cyc使用定義明確的符號語言以非模糊的方式表示對象的屬性和對象之間的關系。 通過使用一套非常大的規則和概念以及推理引擎,人們可以得出關於世界的推論,回答諸如“馬可生病嗎?”,“給我一張悲傷的人的照片”等問題。

我曾在一家試圖在以前的公司做過這個的系統上工作過。 我們更關注“非結構化文檔與此非結構化文檔最相似的內容”,但相關部分是我們如何確定文檔的“含義”。

我們使用了兩種不同的算法,即PLSA(概率潛在語義分析)和PSVM(概率支持向量機)。 兩者都提取的主題在被分析的文檔中比在集合中的其他文檔中更為普遍。

主題本身具有數字ID,並且從文檔到主題有一個外部參照表。 為了確定兩個文檔的接近程度,我們將查看文檔共有的主題百分比。

假設您的超級腳本可以根據輸入的查詢生成主題,您可以使用類似的結構。 它具有僅包含整數的外部參照表的附加優點,因此您只查看整數而不是字符串操作。

語義是一個廣泛而深入的領域,並且有很多模型,從AI實現的角度來看,它們都具有優勢和問題。 有了這么少的背景,人們很難提出建議,除了“研究文獻,選擇一個與你的直覺產生共鳴的理論(如果你在這方面取得了成功,用你自己更好的理論取代它,並獲得學分)“。 話雖如此,我可以模糊地回憶起的新生課程材料過去常常有一個關於稱為“框架”的遞歸結構的好話,但這必定是在15年前。

意義通常是抽象概念,其是取決於所選算法的內部黑匣子數據結構。 但這不是有趣的部分。 如果您進行一些語義分析,則一般性問題涉及意義的差異,例如,如果兩個文檔談論相同的主題,或者某些文檔有多么不同,或者對具有相似含義的文檔進行分組。

如果使用向量空間模型,則意義/語義可以由表示特定主題的向量集合表示。 提取此類模式的一種方法是http://en.wikipedia.org/wiki/Latent_semantic_analysishttp://en.wikipedia.org/wiki/Nonnegative_matrix_factorization 但是有更復雜的統計模型,它們通過某些概率分布的參數來表示語義。 最近的方法是http://en.wikipedia.org/wiki/Latent_Dirichlet_allocation

我將討論語義Web,因為我認為它提供了關於該主題的最先進的研究和語言實現。

資源描述框架是可用於描述信息的語義Web固有的眾多數據模型之一。

RDF是一種具有多種序列化格式(即文件格式)的抽象模型,因此編碼資源或三元組的特定方式因格式而異

但是,在實踐中,RDF數據通常持久存儲在關系數據庫或本地表示(也稱為Triplestores)或Quad存儲中,如果上下文(即命名圖)也為每個RDF三元組保留。

可以使用RDF查詢檢索RDF內容。


主題映射另一種知識數據存儲和表示模型。

主題地圖是知識表示和交換的標准,強調信息的可查找性。

在2000年,Topic Maps是用XML語法XTM定義的。 現在這通常被稱為“XTM 1.0”,並且仍然相當普遍。

從官方主題地圖數據模型

ISO / IEC13250(4.3中)的這一部分中定義的唯一原子基本類型是字符串和null。 通過數據類型的概念,可以在此模型中表示任何類型的數據。 使用的所有數據類型都應具有其值空間的字符串表示形式,並且此字符串表示形式存儲在主題圖中。 有關該值所屬的數據類型的信息將以標識數據類型的定位符的形式單獨存儲。

提出了許多其他格式,您可以查看本文以獲取更多信息。

我還想鏈接你最近的一個回答,我寫了一個類似的話題,有很多有用的鏈接。


在閱讀各篇文章之后,我認為每種方法都采用的共同方向是將數據存儲為文本格式 相關信息可以直接作為文本存儲在數據庫中。

以可理解的文本格式提供數據有幾個好處,可能不僅僅是缺點。

其他語義方法,如符號3(N3)或Turtle語法使用略有不同的格式,但仍然是純文本。

一個N3的例子

@prefix dc: <http://purl.org/dc/elements/1.1/>.

<http://en.wikipedia.org/wiki/Tony_Benn>
  dc:title "Tony Benn";
  dc:publisher "Wikipedia".

最后,我想向您鏈接一篇您應該閱讀的有用文章: 將非結構化文本數據標准化為語義Web格式

讓我們假設您已經找到了可以提供文本含義的終極算法。 特別是您選擇了一個字符串表示,但考慮到您的算法正確找到了含義,那么它可以由算法唯一標識。 對?

因此,為簡單起見,我們假設該特定文本只有一個含義。 在這種情況下,在算法輸出描述它的短語之前,它是唯一標識的。

所以,基本上,為了存儲意義,我們首先需要一個唯一的標識符。

意義只能存在於與主題的關系中。 這是一個主題的意義。 為了使該主題具有意義,我們必須對其有所了解。 為了使主體具有獨特的意義,必須明確地向觀察者表示(即算法)。 例如,由於數學符號的標准化,語句“2 = 3”將具有假的含義。 但用外語寫的文字對我們沒有任何意義。 沒有任何我們無法理解的東西。 例如“生命的意義是什么?”

總之,為了構建一個可以從任何隨機文本中提取絕對意義的算法,我們作為人類必須首先知道任何事物的絕對意義。 :)

實際上,您只能以已知格式提取已知語言的已知文本的含義。 為此,在神經網絡,自然語言處理等領域有工具和研究......

嘗試將其變成char *(字符串c風格)它很容易存儲在數據庫中並且易於使用,使其長度為50(10個字)或75個(15個字)

編輯:將兩者放在同一個單詞(想象力)上,然后檢查相似的索引並將它們分配給相同的單詞

使用

SELECT * FROM Dictionary WHERE Index = "Imagination"

抱歉,我對SQL不太熟悉

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM