• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      面向模式的文本數(shù)據(jù)描述模型

      2020-04-24 00:29王新新
      科技創(chuàng)新與應(yīng)用 2020年10期
      關(guān)鍵詞:模式識(shí)別

      王新新

      摘? 要:實(shí)際應(yīng)用中常有從非結(jié)構(gòu)化文本中提取符合指定模式信息的需求。在分析了使用正則表達(dá)式處理這類問(wèn)題的缺陷之后,提出了一種面向模式的文本數(shù)據(jù)描述模型,將模式分為終端模式、結(jié)構(gòu)體模式、聯(lián)合體模式和數(shù)組模式,并詳細(xì)介紹了各模式在文本匹配以及數(shù)據(jù)映射中的作用,最后通過(guò)相應(yīng)的示例演示了模型的結(jié)構(gòu)性與便利性。

      關(guān)鍵詞:面向模式;非結(jié)構(gòu)化文本;模式識(shí)別;信息提取

      中圖分類號(hào):TP391.1 文獻(xiàn)標(biāo)志碼:A? ? ? ? ?文章編號(hào):2095-2945(2020)10-0028-03

      Abstract: In practical applications, there is often a need to extract information from unstructured text that conforms to a specified pattern. After analyzing the defects of using regular expressions to deal with such problems, a pattern-oriented text data description model is proposed, which is divided into terminal patterns, structural patterns, union patterns and array patterns, and the role of each kind of pattern in text matching and data mapping is introduced in detail. Finally, the structure and convenience of the model are demonstrated by the corresponding examples.

      Keywords: pattern-oriented; unstructured text; pattern recognition; information extraction

      引言

      文字是人類用于交流的重要工具,計(jì)算機(jī)的發(fā)展使得文字能以文本形式存放于各類存儲(chǔ)介質(zhì)中。截止2014年8月,全世界已經(jīng)有接近20億臺(tái)個(gè)人電腦,這些電腦中存儲(chǔ)著各式各樣的文本數(shù)據(jù),對(duì)其中一些公開文本進(jìn)行信息提取成為頗具價(jià)值的技術(shù)。文本按照結(jié)構(gòu)化程度可分為結(jié)構(gòu)化文本、半結(jié)構(gòu)化文本和非結(jié)構(gòu)化文本三類。結(jié)構(gòu)化文本指邏輯上以表或者其他嚴(yán)格統(tǒng)一形式存儲(chǔ)的文本,如csv文件、dsv文件等,這類文本由于具有很強(qiáng)的格式性,其中的文本含義很容易通過(guò)事先的定義得出,例如csv中可以添加表頭來(lái)給每列數(shù)據(jù)設(shè)置列名,這類文本一般很容易處理;半結(jié)構(gòu)化文本是結(jié)構(gòu)與內(nèi)容混合在一起的文本結(jié)構(gòu),兼具格式性和可擴(kuò)展性[1],常見(jiàn)的半結(jié)構(gòu)化文本有HTML文檔、JSON文檔等;非結(jié)構(gòu)化文本是完全沒(méi)有結(jié)構(gòu)或只含有語(yǔ)義結(jié)構(gòu)的一類文本[2],這類文本擴(kuò)展性很強(qiáng),但難以通過(guò)統(tǒng)一的規(guī)則處理,因此常利用機(jī)器學(xué)習(xí)方法來(lái)提取文檔中的信息。對(duì)于海量非結(jié)構(gòu)化文本數(shù)據(jù),一般使用文本挖掘技術(shù)來(lái)提取其中的信息。文本挖掘技術(shù)最初被用于文本文檔的分類,但不久后它就發(fā)展為一種提取文本信息的技術(shù)。此后對(duì)文本信息提取的實(shí)際需求不斷驅(qū)使著文本挖掘的發(fā)展。人工智能則是文本信息提取的支撐,自然語(yǔ)言處理(NLP-Natural Language Processing)就是人工智能領(lǐng)域的一個(gè)研究人與計(jì)算機(jī)之間使用自然語(yǔ)言溝通的各種理論與方法的分支,一些文本挖掘技術(shù)所采用的基礎(chǔ)理論就來(lái)源于NLP領(lǐng)域。廣義的文本挖掘可定義為從文本中獲取有價(jià)值信息和知識(shí)的一種手段,除使用數(shù)據(jù)挖掘方法進(jìn)行文本挖掘外,還可使用模式識(shí)別方法從文本中獲取符合一定模式的文本信息。雖然兩者的主要目的都是從文本中提取有用的信息,但是數(shù)據(jù)挖掘手段關(guān)注文本內(nèi)容本身,例如提取文檔特征、抽取文檔關(guān)鍵字和文本語(yǔ)義理解;而文本模式識(shí)別則將模式作為關(guān)注點(diǎn),即重點(diǎn)在需要的信息上。對(duì)文本進(jìn)行模式識(shí)別信息提取的過(guò)程一般分為兩步:首先通過(guò)模式描述所需信息結(jié)構(gòu),然后從文本中提取符合模式的文本片段。正則搜索就是文本模式識(shí)別的一種成熟應(yīng)用,用戶使用正則表達(dá)式(Regular Expression)定義需要的文本信息的模式,然后利用正則搜索引擎從待識(shí)別文本中搜索出若干滿足表達(dá)式模式的文本片段。部分情況下,用戶使用正則表達(dá)式搜索出的符合目標(biāo)模式的文本不需要具有特定結(jié)構(gòu),即搜索結(jié)果僅表現(xiàn)為文本串;但是在某些需求下,搜索出的目標(biāo)文本片段需要被切分成更小的文本片段,這些片段每部分都有特定的意義,這時(shí)便會(huì)用到正則表達(dá)式中捕獲組的概念。捕獲組是正則表達(dá)式中顯式標(biāo)記的子表達(dá)式,分為普通捕獲組和命名捕獲組。普通捕獲組的匹配結(jié)果將按照捕獲組編號(hào)規(guī)則依次存儲(chǔ)在一個(gè)結(jié)果列表中,而命名捕獲組的匹配結(jié)果則存儲(chǔ)在一個(gè)組名稱到結(jié)果映射的字典中。

      在實(shí)際應(yīng)用中存在這樣一種需求,從指定非結(jié)構(gòu)化文本中抽取需要的數(shù)據(jù)。這種非結(jié)構(gòu)化文本中包含所需信息的文本片段具有某種句式結(jié)構(gòu),即模式。一種實(shí)現(xiàn)這種需求的簡(jiǎn)單方法為正則搜索,模式可以通過(guò)正則表達(dá)式來(lái)表示,所需的子數(shù)據(jù)模式則可標(biāo)記為捕獲組[3]。直接編寫正則表達(dá)式可以處理目標(biāo)文本片段模式不復(fù)雜的情況,但如果目標(biāo)文本片段的模式復(fù)雜,那么對(duì)應(yīng)的正則表達(dá)式就會(huì)非常復(fù)雜,而且還需要標(biāo)記各部分子數(shù)據(jù)的捕獲組,并在匹配完成后將各捕獲組的數(shù)據(jù)存放到內(nèi)存中相應(yīng)含義的變量上。概括來(lái)講,直接使用正則表達(dá)式來(lái)處理這類問(wèn)題較復(fù)雜,并且用于匹配相應(yīng)數(shù)據(jù)的正則表達(dá)式不易于維護(hù)。因此,本文提出了一種面向模式的文本描述模型,將模式抽象為終端模式、結(jié)構(gòu)體模式、聯(lián)合體模式和數(shù)組模式四類,并將模式映射到程序語(yǔ)言中定義的數(shù)據(jù)類型,模式在匹配到文本片段后,可自動(dòng)在內(nèi)存中生成相應(yīng)類型的數(shù)據(jù)。

      1 模型定義

      面向模式的文本數(shù)據(jù)描述模型包含四個(gè)關(guān)鍵的概念:終端模式、結(jié)構(gòu)體模式、聯(lián)合體模式和數(shù)組模式(簡(jiǎn)稱終端、結(jié)構(gòu)體、聯(lián)合體和數(shù)組),這與各類面向過(guò)程以及面向?qū)ο蟮木幊陶Z(yǔ)言對(duì)數(shù)據(jù)的表示形式相似,其中終端類似于編程語(yǔ)言中的基礎(chǔ)數(shù)據(jù)類型,例如整數(shù)、浮點(diǎn)數(shù)和字符串等。各類模式之間可以進(jìn)行“|”運(yùn)算(即或運(yùn)算),表示多個(gè)模式任選其一,或運(yùn)算的結(jié)果為聯(lián)合體。

      1.1 終端模式

      在面向模式的文本數(shù)據(jù)描述模型中,終端(Terminal)被定義為表示最小數(shù)據(jù)單元的模式,最小數(shù)據(jù)單元包括數(shù)字字符串、日期字符串和關(guān)鍵詞等,具體的最小數(shù)據(jù)單元可按特定問(wèn)題的需求進(jìn)行擴(kuò)充。對(duì)于一個(gè)日期型最小數(shù)據(jù)單元,它對(duì)應(yīng)的終端可以為:一個(gè)1000到3000的整數(shù)(年)+連接號(hào)(-)+一個(gè)1到12的整數(shù)(月)+連接號(hào)(-)+一個(gè)1到31的整數(shù)(日)或(|)一個(gè)1到12的整數(shù)(月)+連接號(hào)(-)+一個(gè)1到31的整數(shù)(日)+連接號(hào)(-)+一個(gè)1000到3000的整數(shù)(年)或...。該終端可以匹配的日期格式有兩類:“年-月-日”(如2020-1-1),以及“月-日-年”(如01-01-2020)。與正則表達(dá)式不同的是,該模式不僅表達(dá)了文本的字符序列信息,還包含文本所表示的更高一級(jí)數(shù)據(jù)信息——整數(shù)。

      1.2 結(jié)構(gòu)體模式

      結(jié)構(gòu)體(Structure)是文本數(shù)據(jù)到內(nèi)存數(shù)據(jù)的映射,映射定義過(guò)程在映射函數(shù)Construct中進(jìn)行,映射函數(shù)以(終端,字段名)或(結(jié)構(gòu)體,字段名)或(數(shù)組,字段名)元組集合作為輸入,將模式與程序中定義的數(shù)據(jù)結(jié)構(gòu)對(duì)應(yīng)的字段進(jìn)行綁定,需要注意的是,一個(gè)結(jié)構(gòu)體可以表示多種映射,即Construct函數(shù)可以被多次調(diào)用;而實(shí)際的數(shù)據(jù)映射過(guò)程則在構(gòu)建函數(shù)Build里進(jìn)行,對(duì)于某一個(gè)成功的匹配,Build函數(shù)會(huì)返回一個(gè)結(jié)構(gòu)體綁定類型的實(shí)例。對(duì)于面向?qū)ο蟮某绦蛟O(shè)計(jì)語(yǔ)言來(lái)說(shuō),這種數(shù)據(jù)結(jié)構(gòu)可以是類,字段則是類的字段。例如現(xiàn)有一個(gè)類Product,它包含整數(shù)型ID和日期型ProductionDate兩個(gè)字段,對(duì)應(yīng)的結(jié)構(gòu)體記為Structure,相應(yīng)的映射函數(shù)輸入則是{(整數(shù)終端,ID),(日期終端,ProductionDate)}。在結(jié)構(gòu)體Structure 匹配到所有需要映射的數(shù)據(jù)后,Build函數(shù)首先會(huì)創(chuàng)建一個(gè)新的Product類型實(shí)例,然后根據(jù)映射表把對(duì)應(yīng)的匹配數(shù)據(jù)賦值給該實(shí)例相應(yīng)的字段。

      1.3 聯(lián)合體模式

      聯(lián)合體(Union)用于表示可匹配多種模式中的任意一種,多種模式稱為聯(lián)合體的備選模式,備選模式可以是終端、結(jié)構(gòu)體、聯(lián)合體和數(shù)組,備選模式進(jìn)行“|”運(yùn)算(即或運(yùn)算符)得到聯(lián)合體。聯(lián)合體僅表示對(duì)多種模式的選擇,沒(méi)有具體的映射作用。

      1.4 數(shù)組模式

      在所需的目標(biāo)數(shù)據(jù)的模式中,可能存在某個(gè)終端或某個(gè)結(jié)構(gòu)體循環(huán)出現(xiàn)的情況。所以設(shè)計(jì)了數(shù)組(Array)這種模式用于描述此類循環(huán)結(jié)構(gòu),循環(huán)結(jié)構(gòu)的基本單元稱為數(shù)組的元模式。許多程序設(shè)計(jì)語(yǔ)言中都有數(shù)組這個(gè)概念,數(shù)組即相同類型數(shù)據(jù)的序列,因此數(shù)組應(yīng)有預(yù)定義的類型來(lái)限定其中數(shù)據(jù)的類型,本文所提出的數(shù)組模式也有相應(yīng)的類型限定,可表示為Array。數(shù)組分為可空數(shù)組和不可空數(shù)組,可空數(shù)組如其名稱所示,其中的元素模式可以不匹配任何文本,類似于正則表達(dá)式中的“*”限定符;不可空數(shù)組則表示必須至少有一個(gè)元素模式匹配到文本,和正則表達(dá)式中的“+”類似。與上文所述的結(jié)構(gòu)體相同,Array也有映射和構(gòu)建兩個(gè)過(guò)程,其映射函數(shù)叫Item,以終端或結(jié)構(gòu)體作為輸入?yún)?shù),當(dāng)多次調(diào)用Item函數(shù)進(jìn)行映射時(shí),表示數(shù)組的元模式可以是這些參數(shù)模式中的任意一種,即“或”的關(guān)系;Build函數(shù)在構(gòu)建時(shí)首先會(huì)根據(jù)元模式匹配到的數(shù)據(jù)數(shù)量創(chuàng)建一個(gè)對(duì)應(yīng)長(zhǎng)度的數(shù)組,然后將這些數(shù)據(jù)按匹配順序賦值到相應(yīng)索引的數(shù)組單元中。

      2 模型應(yīng)用示例

      為了具體地闡述模型的使用方法,本節(jié)將通過(guò)數(shù)據(jù)提取示例來(lái)演示模型定義過(guò)程。假設(shè)有一段文本:“......。產(chǎn)品信息:A的價(jià)格為100元,于2020年1月1日出廠,銷往北京、上海和天津;B的價(jià)格是200元,出廠于2020年1月5日,銷往廣州、貴陽(yáng)以及成都。...”,需要提取的信息以C#中的類表示如下:

      class Product

      {

      public string name;? // 產(chǎn)品名

      public double price;// 價(jià)格

      public string[] salesArea;// 銷往地區(qū)

      }

      classProductCollection

      {

      public Product[] products;? // 存儲(chǔ)多個(gè)產(chǎn)品的

      信息

      }

      接下來(lái)通過(guò)本文提出的模型來(lái)定義模式。

      首先定義終端:posInt(正數(shù)),date(日期),location(地點(diǎn)關(guān)鍵詞)=北京|上海|天津|廣州|貴陽(yáng)|成都,any(任意字符),然后定義數(shù)據(jù)映射,以下代碼所使用的語(yǔ)法都為C#語(yǔ)法:

      var locations = new Array(“、”, “和”, “以及”);? // 參數(shù)表示數(shù)組元素之間的分隔符

      locations.Item(location);? // 設(shè)置元模式

      varproduct = new Struct();

      product.Construct((any, “name”), Keyword(“的價(jià)格”), Keyword(any), (posInt, “price”), Keyword(any), Keyword(“銷往”), (locations, “salesArea”));? // Keyword(string)是一個(gè)函數(shù),將輸入的字符串打包成元組(關(guān)鍵詞終端[string],null)。用于表示模式需要匹配的關(guān)鍵詞,但因?yàn)槠鋵?duì)應(yīng)的字段名為null,該詞在Build時(shí)不會(huì)被記入相應(yīng)的類實(shí)例中。Keyword(終端)是Keyword(string)的重載函數(shù),它直接將輸入的終端打包成元組(終端,null)。

      varproductArr = new Array();? // 產(chǎn)品數(shù)組

      productArr.Item(product);? // 將元模式設(shè)置為product

      varproducts = new Struct();

      products.Construct(Keyword(“產(chǎn)品信息:”, (productArr, “products”));

      以上就是以產(chǎn)品集合類數(shù)據(jù)為目標(biāo)數(shù)據(jù)定義的面向模式的文本數(shù)據(jù)描述模型,其中聯(lián)合體的關(guān)鍵字Union沒(méi)有顯式出現(xiàn)過(guò),它通常僅作為“|”運(yùn)算的返回值而不需要單獨(dú)存儲(chǔ)于變量中。

      3 結(jié)束語(yǔ)

      本文定義了面向模式的文本數(shù)據(jù)描述模型中四個(gè)關(guān)鍵的概念:終端、結(jié)構(gòu)體、聯(lián)合體和數(shù)組,詳細(xì)描述了各類模式在匹配過(guò)程中的作用。終端為最基本的子模式,它在匹配過(guò)程中體現(xiàn)匹配實(shí)際內(nèi)容的作用;結(jié)構(gòu)體和循環(huán)體表示了兩種結(jié)構(gòu)的模式,用于將模式與數(shù)據(jù)進(jìn)行映射,并自動(dòng)創(chuàng)建數(shù)據(jù)實(shí)例;聯(lián)合體在匹配過(guò)程中起到模式任選的作用。最后通過(guò)實(shí)例演示了該模型的使用方法,體現(xiàn)了模型的結(jié)構(gòu)性與便利性。目前該模型僅有抽象的定義,用于模式匹配的引擎未在文中涉及,這是下一步需要完善的研究?jī)?nèi)容。

      參考文獻(xiàn):

      [1]丁玉飛,王曰芬,劉衛(wèi)江.面向半結(jié)構(gòu)化文本的知識(shí)抽取研究[J].情報(bào)理論與實(shí)踐,2015,38(03):101-106.

      [2]王云鵬.非結(jié)構(gòu)化文檔數(shù)據(jù)抽取與分析系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[D].天津大學(xué),2012.

      [3]Zhe Fu, Li Jun. Spectral Clustering based regular expression grouping[A]//ANCS 2014-10th 2014 ACM/IEEE Symposium on Architectures for Networking and Communications Systems[C]. Marina del Rey, CA, United states: Association for Computing Machinery, Inc, 2014:243-244.

      猜你喜歡
      模式識(shí)別
      輕身調(diào)脂消渴片的指紋圖譜建立、化學(xué)模式識(shí)別及含量測(cè)定
      基于MBP算法和深度學(xué)習(xí)的人臉識(shí)別
      基于二次隨機(jī)森林的不平衡數(shù)據(jù)分類算法
      基于視頻的帶電作業(yè)中組合間隙的智能檢測(cè)
      基于特征化字典的低秩表示人臉識(shí)別
      汽車外觀造型創(chuàng)新設(shè)計(jì)遺傳算法的應(yīng)用
      基于Matlab的人臉檢測(cè)實(shí)驗(yàn)設(shè)計(jì)
      自動(dòng)潔地機(jī)器人的設(shè)計(jì)
      珠寶科技進(jìn)步對(duì)珠寶鑒定的影響
      分布式光纖傳感邊坡工程檢測(cè)設(shè)計(jì)
      梅河口市| 镶黄旗| 遂平县| 沙湾县| 阜新市| 蒙自县| 和硕县| 牙克石市| 阿拉善右旗| 华宁县| 泰安市| 旺苍县| 山东省| 洛阳市| 明星| 堆龙德庆县| 台东市| 庆云县| 射阳县| 汽车| 香港| 湛江市| 陆良县| 乾安县| 白银市| 阿巴嘎旗| 桃园市| 新余市| 贺州市| 乌兰县| 宜章县| 常山县| 辛集市| 河源市| 镇巴县| 江门市| 汉川市| 武义县| 威信县| 韶山市| 乌审旗|