跳轉到主要內容
我們已完成設定「Sick Note DE」活動,現在準備為另一類型的病假單建立第二組擷取規則 (Extraction Rules)。 荷蘭與比利時病假單的結構與德國文件有很大差異。此類別中存在許多不同格式,因此這次我們無法使用 Fast Learning 活動來擷取任何欄位。這些文件包含一些德文病假單中沒有的額外資訊,因此在設定此活動時,我們也會新增一些欄位。 我們會先擷取所有文件上都能取得的資料,然後再將一些新欄位新增到資料表單中。 你可以在不關閉 Activity Editor 的情況下切換到另一個活動。按一下技能名稱旁目前活動的名稱,並在下拉清單中選擇「Sick Note BE-NL」。接著選取集合中的第一個文件。

擷取核發日期

這些文件中的日期可以使用 Date 元素輕鬆擷取,因此這次我們將使用為此欄位自動建立的搜尋元素。
  1. Fields 分頁中開啟 Manage Fields 對話方塊,並選取要在此活動中使用的 “Date” 欄位。按一下 Save
  2. 前往 Search Elements 分頁。您會看到為 “Date” 欄位建立的 Date 類型搜尋元素。它會自動對應到該欄位。
  3. 建立名為 “IssueDateGroup” 的 Group 搜尋元素。將此元素設為選用。
  4. 新增名為 “kwDate” 的 Static Text 元素,以搜尋標籤,協助我們定位實際日期。
  5. 此文件類別包含荷蘭文或法文的文件,因此標籤文字有多種可能選項。您可以在 Text to find 對話方塊中,將每個選項輸入在新的一行。於第一行輸入 “Date”,第二行輸入 “Datum”。
  6. 停用 Search for parts of words 選項。
  7. 將 “Date” 搜尋元素拖放到群組中,並將其置於 “kwDate” 元素下方。
  8. 為 “Date” 元素指定搜尋區域。a. 刪除在建立元素時自動新增的 Nearest to 關聯。b. 將 “kwDate” 元素選為距離我們要搜尋之元素最近的元素。c. 日期可能位於關鍵字的右方或下方。請指定 “kwDate” 元素下方的搜尋區域。d. 搜尋區域也應包含關鍵字所在的那一行。按一下元素名稱右側的下邊界圖示,並選取 Top Boundary of Region。由於文字行可能不齊,請將 Below 值設定為 -10,以將搜尋區域略微向上延伸超出該行。
  9. 按一下 Match,確認日期被正確定位。
搜尋元素結構應如下所示: AD_Tutorial_BE_IssueDate_Structure

擷取病假日期

我們將使用 Key value 元素來擷取這些日期。Key value 元素可同時搜尋固定文字標籤及其對應的值,但對於值的位置與屬性的變化容許度不高。 在這些文件中,病假日期的格式是每個日期元件分別位於表格的不同儲存格中。表格儲存格在每份文件中的位置不一定標準,但它們彼此之間的相對位置始終相同。我們無法保證表格儲存格邊界總是非常清晰,不過仍會使用 Table Cell 元素,因為它允許模糊邊界,而且如果之後決定要在更多文件上訓練這個活動,也會很方便。因此,我們會使用 Group 元素來組織搜尋元素的階層結構。 注意: 你不只能在文件表格中的欄位上使用 Table Cell 元素。如果你需要從表單中擷取資料,而其中內容位於類似方框或表格式結構中,它也會很有用。如果這些方框有清楚的分隔線,Table Cell 元素的效果將非常好。
  1. 開啟 Manage Fields 對話方塊,並在目前活動中新增下列欄位:
    • Start Date
    • End Date
    按一下 Save
  2. 前往 Search Elements 索引標籤,為起始日期擷取建立 Group 元素。為群組中包含的元素設定下列參數:
ParameterValue
Group search element:
NameStartDateGroup
Static Text search element:
NamekwStartDate
Text to findVanaf / From, A partir du, Van
Search for parts of wordsDisabled
Table Cell search elements:
NameStartDateDay
Search patternNumber
Character count{1, 1, 3, 3}
Search for parts of wordsDisabled
Search areaBelow the “kwStartDate” element, nearest to “kwStartDate”
Table Cell search element:
NameStartDateMonth
Search patternNumber
Character count{1, 1, 3, 3}
Search for parts of wordsDisabled
Search areaBelow the “kwStartDate” element, right of “StartDateDay”, nearest to “StartDateDay”
Table Cell search element:
NameStartDateYear
Search patternNumber
Character count{2, 2, 4, 4}
Search for parts of wordsDisabled
Search areaBelow the “kwStartDate” element, right of “StartDateMonth”, nearest to “StartDateMonth”
注意: Table Cell 元素會原樣傳回儲存格中的文字。在此情況下,搜尋樣式包含 Number,它只會辨識數字,因此該元素傳回的文字將會是一個數字。
  1. 建立 “StartDateGroup” 元素的複本,並將其重新命名為 “EndDateGroup”。
  2. 重新命名群組的子元素:“kwStartDate” 為 “kwEndDate”、“StartDateDay” 為 “EndDateDay”、“StartDateMonth” 為 “EndDateMonth”、“StartDateYear” 為 “EndDateYear”。
  3. 將 “kwEndDate” 元素的 Text to find 變更為 “Tot en met / Till and incl., Jusqu’ au, Tot en met”。
  4. 為 “EndDateDay” 元素指定搜尋區域。它應位在 “kwEndDate” 元素下方,且距離它最近。刪除其他關聯。
  5. 開啟 Manage Fields 對話方塊,新增名為 “Start Date Composed” 的 Data Composition Field。將下列元素對應至欄位:
    • “StartDateDay” 對應到 Day
    • “StartDateMonth” 對應到 Month
    • “StartDateYear” 對應到 Year
    按一下 Save
  6. 建立名為 “End Date Composed” 的 Data Composition Field。將下列元素對應至欄位:
    • “EndDateDay” 對應到 Day
    • “EndDateMonth” 對應到 Month
    • “EndDateYear” 對應到 Year
    按一下 Save
  7. 將 “Start Date Composed” 和 “End Date Composed” 資料組合欄位對應到 “Start Date” 和 “End Date” 欄位。
搜尋元素結構應如下所示: AD_Tutorial_BE_Dates_Structure

擷取病假單類型

我們將同樣透過核取標記來擷取病假單的類型,方式與處理德文文件時完全相同。
  1. Fields 分頁中開啟 Manage Fields 對話方塊,啟用 “Type of Sick Note” 核取標記群組。啟用群組中的 “Primary” 與 “Secondary” 核取標記,以供目前的活動使用。按一下 Save
  2. 建立一個與德文文件相似的結構,但請注意,在荷蘭與比利時文件中,標籤(核取標記附近的文字)會先出現。此類群組的子元素順序很重要。a. 建立一個名為 “TypeOfSickNoteGroup” 的 Group 元素。b. 建立此群組的複本並將其重新命名為 “PrimaryGroup”,再將它放入 “TypeOfSickNoteGroup” 中。c. 在 “PrimaryGroup” 群組中新增一個名為 “kwCheckmark” 的 Static Text 元素。d. 將要搜尋的文字設定為 “eerste / Primary, première, primair”。
注意: 在這些文件中,核取標記旁的文字位於核取標記的左側,因此我們將搜尋區域設定在其左側,而不是右側。 請依照下表設定其餘元素:
參數
Static Text 搜尋元素:
NameCheckmark
Text to findX
Character count{1, 1, 3, 3}
Search for parts of wordsDisabled
Search areaRight of “kwCheckmark”, nearest to “kwCheckmark”
Static Text 搜尋元素:
NameXMark
Text to findX
Character count{1, 1, 3, 3}
Search for parts of wordsDisabled
Search areaBelow the “kwCheckmark” top boundary, Below value = -15, Left of “kwCheckmark”, Above the “kwCheckmark” bottom boundary, Above value = -15, Nearest to “kwCheckmark”
Under what conditionsDo not find element if “Checkmark” is found
Region 搜尋元素:
NameCheckmarkRegion
Search Conditions section of the Code Editorif Checkmark.IsFound then RSA: Checkmark.Rect; else if XMark.IsFound then RSA: XMark.Rect; else DontFind;
e. 建立 “PrimaryGroup” 的複本並重新命名為 “SecondaryGroup”。將其 “kwCheckmark” 元素的要搜尋文字變更為 “prolongation”, “verlenging”。f. 德文病假單分為兩種類型。相較之下,荷蘭與比利時的病假單則分為三種類型(「relapse」是額外的一種類型)。因此,請再建立一個 “PrimaryGroup” 群組的複本並重新命名為 “RelapseGroup”。g. 將其 “kwCheckmark” 元素的要搜尋文字變更為 “Herval”,並啟用 Match case 選項,以排除出現在句中間的單字。 搜尋元素結構應如下所示: AD_Tutorial_BE_TypeOfSickNote_Structure
  1. 開啟 Manage Fields 視窗,並在 “Type of Sick Note” 核取標記群組中新增一個 “Relapse” 核取標記。啟用群組中所有核取標記以供目前的活動使用,然後按一下 Save
  2. 將這些核取標記對應到相應的 Region 元素,並刪除在啟用欄位時自動建立的元素。

測試活動

我們已經設定所有必要的搜尋元素與欄位。選取所有文件,按一下 Match,然後切換到 Fields 分頁,以檢視文件影像上的欄位區域。請記住,只有屬於最佳路徑中假設的區域,才會傳遞到欄位。 當您對結果感到滿意時,按一下文件影像上方的複製 icon,將預測標記複製到參考標記。