:::

用Weka找出最特別的文本:局部異數因素之異常偵測 / Mining the Special Text with Weka: Local Outlier Factors (LOF) for Anomaly Detection

﹒歧ˍ 瞞mss cesoy cuse謬 rosm ˍ棍 Openfie E Generate. Undo Edit... Savg Filter怎 4 Aas a.core.neighboursearch LinearNNSearch -A weka.core EuclideanDistance -R first-last™ -num-slots 1 Apply 1 e Ing-lof tokenizatig HR: K3 Type: Numeric SunTof welts: 30 ASSing: Distinct: 30 Unique: 30 100% 悠 【 l 人一了L ﹤ a 一u 一﹚川 巳【 No, Name OF v visualize All J as 2010 鼻Co QUE暴 2011 £人 2012 量0 2013體 ” / K 5下下z// Z 時 0000 ˍ下 4 1 1.12 125 e g ˍ

我們要如何在大量文本當中,快速找出談論內容與眾不同、別有見地的文本呢?字數長短可能會被灌水,從字詞內容著手,也許是個合理的開始。本篇將應用資料探勘中異常偵測(anomaly detection)常見的演算法:局部異數因素(Local Outlier Factor, LOF),在Weka中找出用詞最為與眾不同的文本。


單變項的離群值偵測 / Detection of outliers in univariate

一 一一 趴值區閻 ye Cave ˍ ,

(圖片來源:用R畫箱型圖)

統計上的異常值偵測大多是處理單一變項。處理方法有兩種:

  • 無母數法:以四分位距來決定籬笆,超越籬笆的數值則為離群值。詳細作法請參考用R畫箱型圖這篇。
  • 有母數法:基於資料為常態分佈的假設,將落於樣本平均數正負三個樣本標準差外的數值視為離群值。具體做法是計算標準分數(z-score),大於3以上就是出現機率為0.13%以下的離群值。

關於這兩種作法,可以參考離群值的檢測的這篇。然而上述這兩種方法只能適用於單一維度的變項上,不能直接套用在多維度的資料中。而多維度資料的處理,則是資料探勘擅長的領域。

多變項的異常偵測:局部異數因素 / Anomal detection in multivariate: Local Outlier Factor

如何找出主題﹖ 找出相似的文件 詨 產一誠 奎 港味【來吃古觀光工廣總優商開放民煌睡太空站住太空站來回志僅 早蘇基圈別錯塗加栽毒弱18僮1868 端午NASA 、太空

在多維度的資料中,我們得要先將多維變項降維,使之成為資料案例(instance)與案例之間的距離。在文本探勘的概念中,也就是「A文件跟B文件用詞的相似程度」,如果「A文件」與「B文件」所使用的詞彙大量重複,則兩文件之間的距離很近;反之,若「A文件」和「B文件」的用詞都不相同,則兩文件之間的距離很遠。

異常偵測演算法 4/4﹚ 局部異數因素Local Outlier Factors, LOF LOF分數接妝1 表示普通 LOF分數大於1 表示巽常 LOF 1﹒34 ET [Ke] Soke]

在計算出各個案例之間的距離之後,我們就可以來計算每一份案例的異常程度,也就是局部異數因素(Local Outlier Factor),以下將之簡稱為LOF。LOF是Markus M. Breunig、Hans-Peter Kriegel、Raymond T. Ng與Jörg Sander 在2000年提出的演算法,它是用密度的概念來判斷案例的異常程度。

我們以上圖來簡單說明LOF的概念。在這個例子中的四個案例裡,右邊三個案例彼此之間距離都很近,而左邊的案例距離它們就遠了許多。對任一藍色案例來說,它們到紅色案例的距離,比到其他藍色案例的距離都還要遠。則紅色案例則被這些藍色案例當作是「異數」(outliter)。而被作為異數的程度則是以一個數值來表示,也就是LOF。

每筆案例所計算出的LOF數值,在不同範圍裡有不同意義:

  • 如果LOF接近1,表示該案例週遭的密度跟它的鄰居們週遭的密度接近。
  • 如果LOF小於1,則表示該案例週遭的密度比它鄰居們週遭的密度還要高,也就是內圍值(inlier)。
  • 如果LOF大於1,則表示該案例週遭的密度比它鄰居們週遭的密度還要低,也就是離群值(outlier)。

關於詳細的計算方式可以看看維基百科:Local outlier factor。在計算上是有點複雜,不過還好Weka的套件中有提供局部異數因素的演算法,套件名為「localOutlierFactor」。


開放原始碼的資料探勘工具:Weka / Weka: an open source data mining tool

weka_logo_2_.gif

(圖片來源:Weka鳥的動圖)

Weka是紐西蘭懷卡托大學機器學習實驗室(Machine Learning Group at the University of Waikato)發展的資料探勘工具,以GUN授權發佈,是資料探勘領域中重要的自由軟體。雖然跟現在的Python、R相比,Weka的演算法只有少數經典的資料探勘演算法,其中一個經典演算法就是本篇要講的局部異數因素LOF。

安裝套件:局部異數因素 / Install package: localOutlierFactor

E H二 E K m Refresh repository cache uamu Toggle oad N o i endencisicorficts o m [Pace Meo I m O Loaded 0 0 10 m 104 E 圍- ws i massiveOnlineAnalysis Data streams. 103 metacost E 103 Gf regesean [cer JA localOutlierFactor: Filter implementing the Local Outlier Factor LOF outlier/anomaly A detection algorithm. URL: http://weka.sourceforge.net/doc.packages/localOutlierFactor Author: Mark Hall Maintainer: Weka team wekalist{[at]}list.scms.waikato.ac.nz

Weka預設的演算法中並沒有安裝本文所需要的LOF,不過你可以透過Weka提供的「Package Manager」(套件管理器)來安裝額外的套件。LOF的名稱為「localOutlierFactor」,請參考「Weka下載與套件安裝教學」這篇的作法來安裝套件吧。

此外,使用Weka做中文的文本探勘,還需要注意以下兩點:

這些以前都介紹過了,這次就不再贅述囉。讓我們進入操作吧!


操作步驟 / Tutorial outline

整體來說本此操作有四大步驟:

  1. 文件資料集:下載練習用的資料來源。
  2. 資料前處理之斷詞:使用線上中文斷詞工具Jieba-JS來進行斷詞處理。
  3. Weka的LOF操作:使用Weka計算LOF分數。
  4. 解讀不同LOF分數的結果:將LOF分數放回原始資料集中,觀察LOF最高和最低的文件有何不同。

STEP 1. 文件資料集 / Dataset: Abstracts of medical papers collection

因text-mining-lof [ a 代 File Edit View Insert Format Data To Add-ons Help Allch EP Huw 乙00 123v Avial - 10 BISA ﹒ 託E am ﹒吳H銘E來電 代S紙皇曾緒RE 沙括伐絕皋絕紅 芳惠代的2絕Lab SHAEBAREEBR Nh Ra 井﹒明代桂自伐8絕鋸2三﹒放8皋紙追g霖﹒苑商 o o m i li 1代一維細 2 BUARNC BREE MRRERERE EA EES SS o AGERE SUES pi BEAR EARLE METERED Bilas CERREEEBS EERE 0H o KL BC HEIRLEPRRARERE IE ARRRRR EAI FR RRSRTEARTDONG. ARTI, ^ ” 1 abstract url LOF 2 AHRETEN a ps://hdl handle net/11296/4smyT2 3 Bf : ¥-H4d httosihdl handle net/11296/bzi7cd BM 7 d SME AD¥{ httpsi//hdl handle net/11296/7f299% B To 2 EEHMS EHihihsijhdlandenai2Siini 5 HBEEAHW htips//hdL handle net11296/yy4 3x] B tos ind handle net/11296kqéut J : BBE ES https hdl handle net/11296/nz54: Bi 48 71 s Agmggz wgWhausipd﹚asdsom/02onrw﹒W ams tokenization ¥ to 螺Smos

這份資料集是我從臺灣博碩士論文加值系統中取出30篇醫學相關論文的摘要彙集而成。這些摘要內容少則三百多字、多則一千七百多字。我們能從裡面找出跟別的論文最不同、最特別的摘要嗎?以下就讓我們用這份資料集作為例子,看看如何使用Weka的LOF吧。

1-1. 建立副本 / Make a copy

amining-lof nu a 代 dit View Insert Format Data To Add-ons Help Allcha B 1 09 123 vial 10 BISA a ew 9 chko muu s s M曲lization LOF T 0紫0 ownuad 1296/4smy72 目unload as ” ghgna 0 BE Email as attachment 1296ingn8ad s 12961712996 ox Makeavallableoffine oo. o-oo 7B Version history 8 BnSmun B 1296lyyd3xu SB Rename 1296/kqduhy wo # 1296in25437 1 mm Move to. 1296708729 wk Damevas 7 更Mowsioiash人 n to 螺Smos

需要重新截圖,把token欄位刪掉

由於text-mining-lof這份資料是作為示範使用,我沒有開放編輯權限。如果你想要練習的話,直接點選上面「建立副本」的連結,Google雲端硬碟會直接將該檔案複製到你的雲端硬碟中,請用你複製的副本來練習吧。


STEP 2. 資料前處理之斷詞 / Preprocess: Tokenization

斷詞處理 策珂運動是以投籃上籃和扣籃為 固‥ gd om, 籃球運動口是口以口投籃口上籃 口和口扣籃口為口中心口的口對抗 性口室內口驚脫運動口之一

(圖片來源:非結構化資料分析:文本分類)

Weka在計算文件與文件的相似距離上,使用的是「字詞」為單位。如果兩份文件使用了相同的「字詞」,則兩份文件的距離比較近;反之,如果兩份文件使用的「字詞」大多都不相同,則兩份文件的距離比較遠。

我們必須要先把一連長串的中文摘要進行斷詞處理,在詞與詞之間加入空格,使得Weka能夠認得那些中文字才算是一個字詞。你可以手動加入空格來進行斷詞處理,也可以使用我開發的線上中文斷詞工具Jieba-JS,請結巴演算法自動進行斷詞。

2-1. 中文線上斷詞工具:Jieba-JS / Online Chinese Tokenization Tool: Jieba-JS

接下來就讓我們來看看要怎麼用Jieba-JS做斷詞處理。

2-2. 斷詞處理 / Tokenization process

因Copy of text-mining-lof File Edit View Insert Format Data To Ad EP Hu 乙00 123 Ju AEE REA AN ORR ER RRR a s !下lOF 2 E isremizag Ros ind hande nev11296/569wts f amen 3 WARM 、鏗handle nev 11296imessd 囊9 Rai 2s te A Dustet0 Rhos hd handle nev 11296/549dn 2 gett smi Ros indi handle net/11296/jj493 s BS grt terE Ros ind handle net/11296/i25c a1 7% : ist5A Bos iid handle nev/11296/3yy 2

首先,我們要複製「abstract」(摘要)這一欄。請先選取「abstract」30篇摘要的文字,然後按「Ctrl+C」複製。

Raw Text 2 Processed Text ; i SE IRENA GE E o U M h 42 h o o a N ARE ENRE o n h EEZEANSME Gif TANSEBRNE & LRAT WEATEIRE ABE ree CT ‘Word Remap User Dictionary Stop Words 2 example rx a 0 example二如同D example一如口 AEE E烏 K

在Jieba-JS當中,將剛剛複製的文字貼到「Raw Text」裡面。

Raw Text 2 a; Processed Text. E 刀S入HD 8 年2 M n o n n E o 唱顏 楊紙5負g領責木珂負希地 o i a B M o M 0 RE 習棍活系紙蛇宏服普華T作沈E人力 皆g Gif TANSERRNE & EE i oohRi i 荊 2 2 ‥ ﹒ ﹒ ˍ Egg i Word Remap User Dictionary Stop Words D earmpe 2] 2]史osumge 0如委史 n. AE 6 0 Oo I

移除Word Remap、User Dictionary,然後在Stop Words下面按下「example」,載入常用的停用字。

  • Word Remap表示對應詞典,例如我們要將「台灣」對應成「臺灣」,以確保Weka會將這兩個詞視為相同的詞彙。
  • User Dictionary表示使用者詞典,例如我們不想要讓「台」跟「灣」被斷開成兩個字,希望確保「台灣」是一個詞。則我們可以設定「台灣,9999999,n」。
  • Stop Words表示停用字詞典,Jieba-JS會移除停用字詞典裡面出現的字詞,確保斷詞處理後不會出現我們不想要看到的文字。

關於這三個選項的設定,請參考我在發掘文件中的主題:Weka分群應用於文本探勘中對於設定斷詞規則的說明。

Raw Text 2 a; Processed Text E Ru g E SR RET o n n E o 唱顏 楊紙5負g領責木珂負希地 ERE—RER? ROKER ASAE B M o M 0 RE 抽標蔣細紙J昜 宏界維工任浪&力 皆g Gif TANSERRNE & LATE Ti 0 Eo 4 See 7 ‘Word Remap User Dictionary Stop Words eamgs 不一 于eamgs 不一 于mamgs 一不口 自 6 0 Oo I 4 Lt ﹒

設定完成後就按下「開始斷詞」。

Raw Text 2 a; Processed Text 5闌 E g E ] o n n BRE STE ARE SRE Ea FE RAN E o J RE RE ETRE 18 FEAT LOR FIER HS REE AWB EES A RAE] FEIT RE EEA A fh 194 Eg ERE—RER? ROKER ASAE B no 78 mi B M M 00 John / fh 抽標蔣細紙J昜 宏界維工任浪&力PE FAM Hob AES LES #利 3 i M AF BE EA TRE AY Wi E o 0茹堯方式場踊棍台泰需在被絕國福棍唸理 荊 2 HEX AR SR RE AR SARL RAR ﹒ orem ea Jom ___ een ‘Word Remap User Dictionary Stop Words 2 eamge 一一二2 eemge 一一二2 semge 一一二 自 6 0 Oo # Lt .

右上角的「Processed Text」就會出現斷詞結果。我們可以按右上角的複製按鈕來複製斷詞結果。

因Copy of text-mining-lof a 代 File Edit View Insert Format Data To Add-ons Help 3L2ia EP Huy 乙00 123v Arial 0 BISA尕 HE. BBUEITETANEE EASES FABRA 8 UA AARAYS, ARSRsTNER. 2 : oe 1 abstract url LOF 3 EN hitps//hdl. handle net/11296/yjtoky a Big CM hitps://hdl handle net/11296/tje63: 2 PXEBAHETS https//hdl handle net/11296/37rd! 23 fRPBEF BE hitps//hdl handle net/11296/k69xs] u EHETPWISEE https//hdl handle net/11296/569w]s 25 AHIZEFBHERE https//hdl handle net/11296/7vj58, 25 pb ACIAS#S 2 https://hdl. handle net/11296/hed5 石MEN鮑M hitps//hdlhandle net/11296/7t4hk] 3 EF AER https//hdl. handle net/11296/s49wdh 29 BEE RBA https//hdl handle net/11296/jk499 3 i8 iHiMhipsihdandennz128F2E 31 [78 #48 EA https//hdl handle net/11296/.! CEE EE 一 一一 R data tokenization Yh to 螺Smos

我們回到剛剛的試算表裡面,按下面的名為「tokenization」的另一個工作表(sheet)來保存斷詞結果。

Copy of text-mining-lof圖a 色 File Edit View Insert Format Data To Add-ons Help Allcha. EP Huy 乙00 123v Arial BISA尕 SR EE A ER FEU PI ORE SRERP RR OE ALR 9 B 2 HA才m i n 3 WB E閘田M暉昱堯彤酬笙I FE TR AAS O07 A BA BW丕# X澄Wh nd Hun 8駒DE g 30 91 Mek AEA FA FIRE A 250k EE BI%% SRE MRE HI E T 8 TE 26 J RCE BA FFE BE 3 2002 4 5 2015 XE BA MEAS BE S人直gM Bn Pinson cs mew cma BE EAE HOUR mR A 8 8 BAR BB MOD ER AT 01 BA SOR RE罕 7H EE fa IEA SR Bat HE APR TA BRA EE O BE SIE SRA SHE 18 SB一 15 i 4 488 orld Health Organization WHO #77 BAH BH IAAL 2 75 es SERIE JAAR E248 1 TRAX #5 20 219% dot o TEE A HMA KS A HE 0 SE RIE ET SRE RA ERE 5 BIR 02 Re EFT 0 SH WE 0 RE 0 FE RIS FE BUR PI AE RN WN FE EEA BS B08 9 E32 58 2 RE MARE IBF BE RS BE EE ER賀歇桂皂進經彥區AHS 9 BOER SIE AOE AR AE IRON 1 A WIS IR REE AE A AR E TT IT BRT SU BN DUS FN EEA GREE Ba RON fe 54% ARE SAE RE ERE 1 Ta HE Ete de RE EE AE FN RRR OE ES BH IRB 21S S08 EA Mt ABC HBR HBF BME BIR 2H ER 02 同人M減 e 岆活g § AR AIP RE RE A BR BN RUF BR BL BIE TREE 28 BR is A REEAR AL RE RE EAB AS A RIEL BO RE THE A AB SEAS ASH LH i das tokenization ¥ to Count: 30國

貼上斷詞結果。

oftext mining lof峇a 色 BC View Insert Format Data To Add-ons Help Allcha w 7 Share. 1 09 123 vial BISA尕 i PEL ERE ERS BEELER ERE BERD RE LR BS ew 7 E 7 3 tok en ctrl 0 區Xo E T r T T roTTTTTT LT A AE 目 5 HIP FA PIER AEE 30 91 Bk HIPS FA PIER F978 253% S59 6K RH MBSE BI MXeacopy 1 BEG OER Eb SHI A 0 7H 5 25 2002 #1 2016 2% FAL BEAR BE s BI A 00 SA FE TE A 6 WAS EE 49 OE Ach mR is ‧ asomaewta0 mean sons x ow 5 o T T一 4 5 OpenDocument format .ods AE HL SY 55 20 £55 fat g iMg 4 2 2 Make NG £0 document pd 明一 B Version history ﹒ I T T i ww 1 SRE FE頁 1一商 A ” r o X g THOS 21吳 is a I Moet 口灣漢田目大# Ltt 1 3直Mowsioiash I n ieal Count: 30 a

接著我們要把這個工作表下載成CSV格式。請按「File」 > 「Download as」 > 「Comma-separated values (.csv, current sheet)」。

如果你不想做上面的步驟就看到這裡的話,你也可以下載我準備好的檔案:

vl text-mining-lof tokenization - tokenization.csv

記好你存放檔案的位置,待會我們就要用Weka來開啟它囉。


STEP 3. Weka的LOF操作 / Calculate LOF in Weka

Weka GUI Chooser E Program Visualization To Help 2 WEKA [ ﹤ ! of Waikato o m JnowedmFew ueusposswasosmuamswpa m Workoenen oon 21s The University of Wat ampecu Halon new Zealand

開啓Weka之後,一開始會出現上圖的選單。我們要選擇其中的「Explorer」,開啓初學者專用的探索器。

3-1. 讀取CSV檔案 / Load CSV

Weka Explorer CO fo [o一一 filter Open a set of instances from a file Choose [None A — Ee Relation: None Attributes: None Name: None Type: N. Se. Er棍 E v visualize All Welcome to he Wea Explorer 15 ga x0

開啟Weka Explorer之後,先按下左上角的「Open file...」(開啟檔案)按鈕。

Lookin: 20100723引 基 同 田i 時 J invoke options dialog. po Serre a File Name: D:\Docouments\[ £7&\20190721 LOF$3#f\data\20190723 aape ram一 Arff data files .arff 自 Arff data files .arff.gz C45 data files names C45 data files data Sr Excel Spreadsheets xis IN s BegSpwaaanassrahu JSON Instances files json pm Ec

因為我們要開啟CSV檔案,請在Files of Type (檔案類型)要選擇「CSV data files (*.csv)」(CSV資料檔案(*.csv))。

i鐵 Lookin: 20100723引 基 同 田i 時 E O dialog Note: ‘Some file formas ofer additional EAS J 77 options which can be customized File Name: text-mining-lof tokenization - tokenization.csv Files of Type: CSV datafiles csv Lowen cst

這樣就可以看到我們剛剛儲存的CSV檔案。選擇它並按下「Open」按鈕。

ER Explorer emun Freprcess las Guster Associate Select amoues [ viuatoe [rorecest] ˍ Coven oven mm smm nso J [ean J [soe m Choose None Apply mmm secede Relation: text-min. Attributes: 1 ‘Name: tokenization Type: No. Instances: 35 ‘Sum of weights: 35 Missin... 0 Distinct: ... Unique: 25 . Attributes. No. Label Count Weight U m s Io aa Hl Ca] Core J men rm Class: 2 All No. Name HLK 顧 — ii imi] I sans Lo gro ee Je

CSV檔案順利讀取。Weka會將CSV檔案每一個直欄視為一種屬性(attribute),而每個直欄的第一個橫列就是屬性的名稱。因為我們的工作表只有一個直欄,而直欄的第一個橫列就名為「tokenization」,所以這邊Weka載入CSV之後,就只有一個屬性,名為「tokenization」。

好的,讓我們進入下一步。

3-2. 類別轉換成字串 / Nominal to string

K ou mm mug m Lsmam u sae. m Choose Maw Apply mmm secede Relation: text-mining-lof to. Attributes: 1 ‘Name: tokenization Tr Instances: 35 ‘Sum of weights: 35 Missing: 0 0% Disting Anin partes wo m wwgw WEEE. 1 10 E 2 TEE以 臥 a Coe [men Class: tokenization Nom 引visualize All ios Fe M d K ˍ 22222 LL IL Cm Suuy 周四 鐘90

剛載入的CSV檔案會把文字資料的欄位視為「Nominal」(類別,或是名義變項)。我們需要把它轉換成「String」(字串)資料類型之後,才能進行後續的文本探勘。我們可以用Filter (過濾器)將「Nominal」轉換成「String」。

Weka Explorer len] Em Openfi. Openu.. [ openD.. [ Generat. [ undo Edt. sae. Fiter C D Current relation Selected attribute Relation: text minin. Attributes: 1 Name: tokenization Type: Nomi. Instances: 35 Sum of weights: 35. Missin 0 . Distinct Unique: 25 7. Attributes No. [Label [Count wam m g 10 E 3 gmag in Ar [None imat Pat. — I O引uaabea No. [Name ] HLK 22222 status w g

點選「Filter」(過濾器)底下的「Choose」(選擇)按鈕。

H一 open. openu.. [ openD... [ Generar. [undo Eat. save. iter 15F ˍ m 口uasmaoi g [7] MathExpression elected attribute 5 ergetscuenttorinanaues ume trent — N gan﹒0 Distinct .. Unique: 25 7... 一usggwmaus 七ini N lass: tokenization Nom . v [ visualize Al 5 NumencToginary 口iumwaqaiempa [5 NumenicTranstorm開伐 [ optuscate IN llclrllllllllllllllll1d [5 parttoneatiteited [5 propiscretze s H ga [5 RandomProjection Log x0 5 Rondomsunast d [5 Remove耳 LEUm Bemesmur 20as

依序進入「weka」 >「filters」 > 「unsupervised」 > 「attribute」 > 「NominalToString」,這個過濾器就是將類別轉換成字串的工具。

Weka Explorer le] ED o m Openfi. Openu.. [ openD.. [ Generat. [ undo Edt. sae. Fiter LSmmm wmwwemawscwm Cz Current relation Selected attribute Appl Relation: text minin. Attributes: 1 Name: tokenization Type: Nomi. Instances: 35 Sum of weights: 35. Missin 0 . Distinct Unique: 25 7. Attributes No. [Label [Count Weight m g 10 E 3 gmag in Ar [None imat Pat. — I O引waabea No. Name HLK 22222 status w Ep

然後按下「Apply」按鈕。

Weka Explorer EE com m [amo Lsmm ] mmw cos Fitter oas mwwumsgmm cusa m mmussuw J Saaecuwsmm Ammmer —— ust a ma po s mL mmj[ em國 E tokenization str v visualize Al No Jame ee srt eri muy o grr

tokenization屬性的資料類型就成為「String」(字串)了。

3-3. 從字串建立文字向量模型 / String to word vector

再來我們要將字串轉換成「文字向量模型」(word vector model)中的「詞袋模型」(bag-of-words model)。此作法依然是用Filter (過濾器),不過是用StringToWordVector工具。

on 一一一一一一 一一 er 回I 7 mo d [5 RandomSubset elected attribute 囝Remove ‘Name: tokenization Type: String [ RemoveByName Missin... 0 .. Distinct . Unique: 25 7... [El RemoveType [5 RemoveUseless 口naamemuw [5 RenameNominalValues Rear basses veunzen [Cl ReplaceMissingvalues [Cl ReplaceMissingWithUserConstd [5 ReplaceWihMissingValue bi i shar amet or oval [5 SortLabels [Standardize ] C ” Log x0 一Tmesmapas卜M 口rmeswwsmwsis k Filter... ‘Remove filter Close

請按下「Filter」(過濾器)底下的「Choose」(選擇),然後依序選擇「weka」 >「filters」 > 「unsupervised」 > 「attribute」 > 「StringToWordVector」,這個過濾器就是將字串轉換成文字向量模型的工具。

Weka Explorer H二 mw mm0 mmo smm [ uwmg ][ e mmw w So託oemewweaee刊99uas9﹚uuomoeawa0﹒a0aummaewaevd[ smy Emr Saunwaubas Relation: text-minin. Attributes: 1 ‘Name: tokenization Type: String Instances: 35 ‘Sum of weights: 35 Missin... 0 . Distinct: Unique: 25 7. ampas s xmw][ mm sm E tokenization str v visualize Al No [name ] H MS ae mt i suus o Lo gro

接著我們還要設定「StringToWordVector」過濾器工具。請在粗體字的「StringToWordVector」上面按滑鼠左鍵。

saasaemwxoMwae ˍ w waailanumunmnsiaphusSmrgiamnaax 緝 mmgsmwsmmusuessawsammusemesuubem mw ‘occurrence depending on the tokenizer information from the text contained in the strings. Capabilities ot fae ˍ一一一司 won am ˍ一一一進 attributelndices first-last i下 s mg ˍ一呂 diconanfileToSaveTo same ˍ mmesssss 9下 apenas fe ˍ一一一筵 wasn rae ˍ一一一司 Ommeamass Emg一一一司 i nio n 000 ee ˍ切 emmmemeoms sae ˍ一一一一司 periodicPruning -1.0 sudo fe ˍ一一一刈 BE ˍ we” ˍ toner ouuus lmwwrwemew asian vor Com J me Jo Bows]

這邊我們要設定的是最下面的「wordToKeep」選項,請將之設為「1000000」,讓Weka保留足夠多的字詞吧。關於StringToWordVector的設定,請參考我在發掘文件中的主題:Weka分群應用於文本探勘中對於不同的文字向量模型:詞袋、詞頻到TF-IDF的說明。

設定完成後就按下「OK」。

Weka Explorer i LS opmm opmu Open. Generat. Undo Edit save. Filter [ors Jvamtomtraect ss 41050035 ne to. Current relation selected attribute. App Relation: textminin. K Name: tokenization Type: Sting Instances: 35 Sum of weights: 35. Missin 0 . Distinct Unique: 25 7. Attributes Al None [ mven [ Patt [ crass: tokenization str ki An No. Name HLK R numeri or nominal. status o Log gag XO

按下「Apply」按鈕,套用篩選器的設定。

wea oir 】 cn. oven] [ven ] [coven] ene noo [ot] [sre gr Ghose smwnmeawsnswwwuaowimumuamoeaga0a0ammmw[ ] mm awaubss Relation: text- Name: 00 Type: Num. Instances: 30 Sul Missing: 0 . Distinct: .. Unique: 1 3% press oe jaw ini 9 mn : Con Com Coen Cr { i Sees繁 a n 9 Class: & Num Visualize All z口mm 30] 002 4 00s a 5凹m soa 4 Q ! 2 sans o Log gg x0

我們可以看到屬性數量從原本只有一個tokenization,變成了2013個屬性。每個屬性代表著每份文件是否有包含屬性名稱的字詞。以「高風險」這個屬性名稱來說,如果該論文摘要有包含「高風險」這個詞,則在「高風險」屬性中的值就是「1」。如果該論文摘要沒有包含「高風險」這個詞,則在「高風險」屬性中的值就是「0」。

將字串轉換成文字向量模型之後,我們就可以來計算LOF了。

3-4. 計算局部異數因素 / Calculate Local Outlier Factor

在Weka中,LOF的計算也是透過Filter篩選器進行。

[ ] jms 一 一一一 一一 g ˍ 一100 mere 1.10 ore a d [7] CartesianProduct ected attribute [E Center [5] ChangeDateFormat June Type: Num... 因ClassAssigner sing: 0 .. Distinct .. Unique: 0 0% [Er smme ˍ mu ˍ Eom陽【 ˍ戈 白pgewgs 口aomw 5 FoedbiconanstingTonoravec jes u ˍ切uaaueA [7] InterquartileRange [ atnExpression [5] Mergelnfiequentilominalvalues 72 — s因‘MergeManyValues [5 MergeTwovalues — 0 m - Co lemmatosmey

請按下「Filter」(過濾器)底下的「Choose」(選擇),然後依序選擇「weka」 >「filters」 > 「unsupervised」 > 「attribute」 > 「LOF」,這個過濾器就是計算局部異數因素LOF的工具。

如果你沒有在列表中發現LOF,那可能是你還沒安裝LOF套件。請參考前面的說明來安裝「localOutlierFactor」套件。

jm 一一一J um J[ cm J{oom pr [Gimme or in 1m 0 sor corsa an ﹒ tomer cass J’ Relation: text-... Attributes: 2013 Name: EE Type: Num... Instances: 30 ‘Sum of weights: 30 Missing: 0 .. Distinct: .. Unique: 0 0% me Ee Eee, 3B [No [Name U2msgmmm i corsa 2008 [ 2009 [] #8 a 同中 一一 lo 0 2 一 一一一 wr [ ]

按下「Apply」套用LOF過濾器。

waspmew ionln orm Comm oe ome Ce [2 [oom po [ce cure mumma vce ire Relation: text-... Attributes: 2014 ‘Name: LOF Type: Num... Instances: 30 ‘Sum of weights: 30 Missing: 0... Distinct .. Unique: 30 1... none [wert 1 [Pat ee, ˍ las ˍ自 [No [Name 2msiormum ˍ四mass 一云ˍ以 EUH I R 5 Rana 1明120 ne 隋ˉ一[

計算LOF需要花費一些時間,請稍候片刻。計算完成後,Weka會將LOF的計算結果記錄在最後一個屬性「LOF」中。我們可以看到該屬性最小值(Minimum)是「1」,最大值(Maximum)是「1.245」。

3-5. 取得LOF計算結果 / Save LOF result

再來我們要取得LOF的結果。但是在這之前,我們得要刪除LOF之外的其他欄位。

Weka Explorer H二 opmx Open Open Gener Undo Eat. E Fiter E d臥 Current relation Selected attribute Relation: text. Attributes: 2014, Name: LOF Type: Num. Instances: 30 Sum of weights: 30 Missing: 0 Distinct Unique: 30 1 Attributes Statistic Value 1 L 1245 None [ iment [ Pat. m一Lamstormamm E B l d 2013 J 72 目2 i mm 一一 ﹚山128 status o Loo ga x0

按下「Attributes」底下的「All」,此時所有屬性會被勾選起來。

Weka Explorer H二 opmx Open Open Gener Undo Eat. E Fiter E d臥 Current relation Selected attribute Relation: text. Attributes: 2014, Name: LOF Type: Num. Instances: 30 Sum of weights: 30 Missing: 0 Distinct Unique: 30 1 Attributes Statistic Value 1 L 1245 A haw mat [ Pat. Hg ogg一Lamstormamm E B m d EuH K H p mm 一一 ﹚山128 status o Loo ga x0

將「LOF」屬性取消打勾。

K Explorer Li opmw open. open. Gener. [ undo Eat. sae. Filter Choose LOF -min 10 -max 40 -4 weka.core neighboursearch LinearNSearch - Vwe _Apply Current relation Selected attribute Relation: text- Atributes: 2014 Name: LOF Type: Num. Instances: 30 Sum of weights: 30 Missing: 0 Distinct Unique: 30 1 Attributes E [ value Minimum 1 Maximum 1245 c A None invert [ Pat. T lamstormam Visualize All N d 2013 J 72 I x 1 Remove selected attributes 1.12 128 status w vr] go

按下「Remove」按鈕。

waspmew ionln [[Preprocess Cassis Cluster Assoiate Select atbutes visualae Forecast __ 乙一一 志 [ce cure mumma vce ire Relation: text-mini... Aftributes: 1 ‘Name: LOF Type: Num... Instances: 30 ‘Sum of weights: 30 Missing: 0... Distinct .. Unique: 30 1... none [wert 1 [Pat ee, ˍ las ˍ自 Co Rana 4水迪 ne 隋ˉ一[

最後就會只剩下「LOF」一個欄位。

K Explorer LL 一一一一一一 kn闌 Choose LOF -min 10 -max 40 -A weka.core.neighboursearch LinearNNSearch -A Uwe Apply R一 Relation: text-mini. Attributes: 1 Name: LOF Type: Num. Instances: 30 ‘Sum of weights: 30 Missing: 0 Distinct: .. Unique: 30 1. oe me 【 ﹒ ﹝ 心 li d ] Class: LOF Num Visualize All 6 0 日3 -

按右上角的「Save...」儲存檔案。

Lookin: 20100723史 眸 同 田 諳 J Invoke options dialog ﹚mw OD et仁 ‘when invoking the options dialog. File Name: text-mining-lof tokenization - tokenization.csv sans gram 一 Aff data files .arff 可 Arff data files .arff.gz ‘C4 5 file format .names Te m a ree rep [Excel Spreadsheets xis [Excel Spreadsheets .xIsx JSON data files json

將「File of Type」(檔案類型)設為「CSV files: comma separated files (*.csv)」(CSV資料檔案(*.csv))。移動到你要儲存的位置,設定好「File Name」(檔案名稱),就可以按下「Save」儲存。

江

讓我們用試算表工具來開啟這個CSV檔案。個人推薦使用LibreOffice Calc

回iaiev ubwoWcwa 日 口a somasm Ele BRh mt ˇ日 ˍ史Z u 囝 Jes 5 c ˍ ˍ lor [ 2 [125387 [3 1201257 [Ca 1.214507 M [5 1168463 [C6 1138757 [7 1124158 [ 1130352 il g 0 30﹚ 5 gi Sheet 1 of 1 pmma English Usa oL二

開啟CSV,裡面就只有一個直欄,就是LOF。

國02Aev ubwoWeecuc bosu brs 同”回‧咳哉‧ Liberation Sans File ¥ t mt B了 jaaa [Xt ax 圜 oom bone Zl 1005925 pa anv TH 1.003648] 瀾lugj Postespecil.. CulShitteV 逸10Q3GS r Shift W 副1巳maal ﹒mwesme LIT en sis 遁10X8L Select C umn Ctrl Space S Oo WAP NH Find... cmur 工口fmimmmaws ak i Find mmmiai 5am 9 MM Add LE

讓我們選取並複製LOF欄位的資料。

Copy of text-mining-lof n File Edit View Insert Format Data To Jddo 人嘯笑QW 0.00 123v Arial Lor abstract ud ioc 一 DKailugWhimaJndan瀾 124SMr 3 Big MKfAo#ligaihdan 1.201257 REMEWHMWWhiugjhdan灘 121497 siiggEf hpundlan攔 116963 4MXg83 Giupudlian攔 113987 7 HIZB : Hath https //hdl hand [ 1.124158 M8g4MMUihigeindian 1.139352 s mEmBEEe: oshdhandl 1.108093 5%: RSH wsmdhandl 1097091 11 HIRES $8 hitps//hdl hand 1.122567 AHRE EHR hips ind handl 1.10616 vo ATES psd handll 1.068961 ww AmzesE mpsndadl toc 15 £9 ABE https//hdl hand i 10985 data tokenization to

回到Google試算表,切回「data」工作表,把LOF的結果貼在LOF的欄位。這樣我們就可以知道每個摘要對應的LOF分數。

Copy of text-mining-lof書a File Edit View Insert w ge Add-ons Help Allch w o萸木uuy y託nN byc umnC,A Z B I s loF ”節Sort sheet by c umn C, 2 A y ” s ﹚ am Sort range. hitos:/ihd handle Hipgjhdhadg 1.245387 Y Tum off filter 3 httpsi//hdlhandle 1.201257 4 https://hdl handle 1.214507 Filter views. ﹢ hipgjhdhadk 1.168463 httpsihdi handle 1.136757 Data validation 7 https://hdl handle 1.124158 ob It mat 2 Pivot table

再來我們要來將LOF由大到小排序。先把輸入位置放在LOF的欄位上,然後按下「Data」(資料)中的「Sort sheet by column C, Z → A」(依C欄排序工作表(Z A))。

因Copy of text-mining-lof nu a 代 File Edit View Inset Format Data To Add-ons Help Allch 仁嘉笑HQ 乙00 123v Arial 8 jp BISA AFESELUSREIEANER FI OBREEEERRBEERE MERE URHEEROEDESERSE RF EMBESEROBBERS SES ARARATHNNA ERO BMAERARTEPRNT RN ; E r i i o E ini M 宗浩 SEH TRSERSR 11 BRO SME BRRRRERE EES; 1 - REWHRE i EHARE DANE ESRRBERBIIEAA UERAREEAR SF o ARTKAS ARL WHEE 託5棍﹒伐0伐吳碎活經松 US國E EHRENRERES - HY ARBREREN HI AARSBFEABTONE AE2PSH a s ﹚ abstract url LOF 2 [AWE EERE tips ind handle 1.24537 E 0 hd handle 1.214507 BY: EHR https hdl handle 1.201257 s Z AD# htips/ihd handle 1.168463 Iv ET K hd handle 1139352 B K handle 1.138757 D hiios/ihdl handle 1.124158 E g handle 1.122567 ‘0 REIRNSHEE hos hd handle 1.108093 ABS #EHEN hts hd handle 1.10616 ﹒ E hd handle 1.097091 E dms okenksden to 螺Smos

我們可以看到摘要已經按照LOF數值,由大到小排序了。


STEP 4. 分析結果:高LOF和低LOW的摘要之間的差異 / Result: The difference between abstracts with high LOF and low LOF

text-mining-lof result 崇a 忍 File Edit View Insert Format Data To Add-ons Help Allch s 八蕙笑D9N 乙妾Ga A 8 ig BISA ‥ 託E am ﹒吳H銘E來電 代S紙皇曾緒RE 沙括伐絕皋絕紅 芳惠代的2絕Lab SHAEBAREEBR Nh Ra 井﹒明代桂自伐8絕鋸2三﹒放8皋紙追g霖﹒苑商 o o m i li 1代一維細 2 BUARNC BREE MRRERERE EA EES SS o AGERE SUES pi BEAR EARLE METERED Bilas CERREEEBS EERE 0H o KL 託81 EN « Heh ABBBERS I] 5 ANSEF EABSORR AREREH ” B url LOF length 2 4代哉4 https. agliamds 1.245387 1792 3 BEEBE htos/hdL handle 1.214507 1415 4目8 垂hpgihglhxdh 1.201257 1215 M g人E hpginlhaxs 1.168463 914 5 tR4REA W https //hdl handle 1.139352 747 gx SHEgdhlhwgg 1.138757 6 ﹢ HiREM : Kati https hdl handle 1.124158 859, o WiZHAR ¥i#- httosihdLhandle 1.122567 970 10 RERPEHESE? hitos hdl handle 1.108093 689 1 AWE ELEHES hts //hdl handle 1.10616 667 M i hdl handle 1.097091 824 data 螺Smos

如果你直接跳到這個步驟,想要看看結果如何,你可以下載上面的摘要LO分析算結果連結來看看。

在分析結果中,每筆摘要都有一個局部異數因素(Local Outlier Factor, LOF)。LOF在不同範圍裡有不同意義:

  • 如果LOF接近1,表示該摘要週遭的密度跟它的鄰居們週遭的密度接近。也就是該摘要所使用的字詞,類似於其他的摘要。
  • 如果LOF小於1,則表示該摘要週遭的密度比它鄰居們週遭的密度還要高,也就是內圍值(inlier)。
  • 如果LOF大於1,則表示該摘要的密度比它鄰居們週遭的密度還要低,也就是離群值(outlier)。換句話說,該摘要所使用的字詞,跟其他摘要使用的字詞有很大的不同。這就是我們要找的特別文本。

在本此分析中,LOF最高為1.245387,最低為1.000391。接下來就讓我們拿出LOF最高的前兩名摘要,以及LOF最低的前兩名摘要,看看他們之間的異同吧。

4-1. LOW最高的兩份摘要 / The abstracts with highest and second highest LOF

LOF第一高的摘要為1.245387分,這表示它使用的字詞明顯與其他摘要不同。該摘要共有1792個字,讓我們來看看該摘要寫了什麼:

本研究旨在以經驗學習理論的應用,探討台灣與香港長期照顧機構管理者增能歷程,以及比較兩地管理者增能歷程之異同,進而建構台港兩地機構管理者增能模式。茲就具體研究目的分別為:一、比較台港兩地管理者擔任管理職位的背景與動機;二、比較台港兩地管理者目前工作內容及其所需具備之核心能力;三、比較台港兩地管理者初任管理職、當前主要困境與未來困境,以及因應困境的策略、增能方式及增能結果;四、建構台港兩地長期照顧機構管理者增能模式;五、根據研究結論,提出未來對台港兩地長期照顧機構與政府培育人才,以及未來相關研究之參考。    本研究採用質性研究法,並以半結構式訪談法蒐集資料,進而採用比較研究法,以進行歸納和比較台灣與香港長期照顧機構管理者增能歷程之異同。本研究共訪談16 間台港兩地長期照顧機構管理者。其中,台灣機構管理者共十位,有五間是經政府評鑑為優等的機構,五間是甲等機構,包含四位男性、六位女性,其在目前機構的服務年資為2~18年,平均年資7.1 年。香港機構管理者共六位,有三間是香港老年學會公告獲選為香港安老院舍優質服務全面參與獎機構,三間是持有有效評審認證機構。包含一位男性、五位女性,其在目前機構的服務年資為2~24 年,平均年資9.5 年。本研究結果主要歸納為十項結論,分述如下:一、台港兩地管理者擔任管理者的動機主要受過去學習、職場經驗及個人信念與家庭等三大因素影響,且這些因素彼此之間可能相互影響,其中個因素中各以相似與相異的原因。二、台港兩地管理者在機構扮演角色與工作內容大致相同,其中較為不同之處在於台灣管理者重視人才培育和職涯發展,以及機構內外資源的連結;香港管理者注重市場開發與品牌建立。三、台港兩地管理者在核心職能中,長期照顧職能皆相同,但在高齡者健康老化共通職能、經營管理職能與共同態度方面有所不同,進而本研究依據兩地管理者核心職能結果建立兩地管理者核心職能模型。(一)兩地管理者核心職能在長期照顧專業職能方面的內涵相同,但在高齡者健康老化共通職能、經營管理職能與共同態度方面有些微差異。(二)兩地管理者核心職能模型是由七大共同態度、三大高齡者健康老化共通職能、四大長期照顧專業職能與八大經營管理職能所構成的M 型金字塔。四、台港兩地管理者過去初任管理職在遭遇相似困境中,所採取因應策略皆是透過學習以達個人增能;另兩地管理者在過去所遭遇困境有所差異,因而採取不同因應策略。(一)個人能力不足與工作中不適應為兩地管理者過去初任管理職的共同困境,且所採取因應策略與增能方式會是透過學習,以個人增能為優先。(二)兩地管理者在初任管理職所遭遇的困境有所差異,台灣管理者遭遇人事管理、家屬投訴、機構營運及建立制度與模式等困難;香港管理者則是遭遇第一次參與安老院舍評鑑的困難,因而採取不同的因應策略以克服困難。五、人事管理、機構品質及機構營運與發展為台港兩地管理者現在共同困境,其中在各困境中兩地各有相似與相異之處,但兩地管理者所採取的因應策略則以促進機構整體發展與提升服務品質為主要目標。六、政策變遷與發展被兩地管理者視為機構的未來困境與挑戰,台港兩地管理者對新政策推動所提出因應策略差異之處在於社區連結與否。七、台港兩地管理者過去增能方式皆以正規教育、非正規教育與非正式學習為主,藉以提升個人能力;現在增能方式以非正規教育與非正式學習為主,其中較特別之處是台灣管理者還有參與正規教育,藉以達到個人與機構增能。八、增能結果皆對於台港兩地管理者個人與機構增能產生正向影響,然而台灣管理者比香港管理者重視與社區的連結與社區增能。九、從過去到現在增能中,增能結果也可能影響台港兩地管理者持續擔任管理者與工作動力,甚至會影響個人未來持續學習與增能的方向。(一)在增能歷程中,有團隊支持與認同、住民的改變,以及從工作中找到成就感與自我價值是支持兩地管理者持續工作動力;其中較特別的是台灣管理者還將機構永續發展與傳承作為個人使命與持續工作動力。(二)機構管理與老人照顧相關課程是兩地管理者未來增能的目標,較不同的是台灣管理者想學習團隊增能與人才培育、老人政策與國外長照經驗,及活動帶領課程;香港管理者則是想學習心靈成長類的課程。十、台港兩地管理者增能模式是由六項要素所構成,且每個要素之間會彼此產生連結,並以經驗學習貫穿管理者增能歷程,同時隨著個人職務升遷或改變形成增能模式與循環歷程。

LOF第二高的摘要為1.214507,共有1415個字,摘要內容如下:

隨著醫療科技的進步、全球老化及慢性病人口增加,醫護人員面臨生命末期照護的機會升高(蔡、李,2002;胡、張,2015),非安寧單位醫護人員應具備臨終照護、協助病情調適、後續照護及出院規劃等能力,以提供病人及其家人適切之生理、心理、社會與靈性層面之照護。而各單位病人所遇之生命末期照護情境不同,各單位護理師對末期照護的認知、態度亦有所差異,包含症狀控制的概念、心理社會評估、相關倫理思辨等層面,目前於護理養成教育、醫院在職教育在生命末期照護之課程有限,專業學會所開設之課程完善但並非臨床護理人員皆能彈性排假,難使照護不同病人族群之護理師有系統、有效率的學習與其照護病人相關之末期照護技能。盼能以此研究了解照護不同病人族群之護理師於生命末期的教育需求,使不同單位的護理人員能依自己的需求,有效率的學習末期照護課程,提升整體末期照護品質。本研究以橫斷性研究方法,採立意取樣,以臺北某醫學中心內科系病房及腫瘤科病房護理人員為研究對象,共收案380位護理人員。研究工具為自擬半結構式問卷,內容包含護理人員基本資料、工作經驗、生命末期照護學習經驗,以及常見生命末期照護情境之遭遇頻率、執行困難程度、教育需求程度的相關資料,共四部分。研究發現護理人員於生命末期照護情境之教育需求平均得分為3.68 ± 0.56(Lickert scale 5分),介於「普通」至「有需求」之間,以「轉介評估與說明安寧緩和照護」最高(平均得分3.75 ± 0.65),得分高至低依序為「生理層面照護」(平均得分3.74± 0.67)及「心理、社會及靈性層面照護」(平均得分3.74± 0.61)、「倫理、法律、自我覺察」(平均得分3.61± 0.67)、「團隊合作與溝通」(平均得分3.42±0.71);依得分最高之題項排序前5者,為「評估及協助家屬的病情調適情形」、「評估及協助末期病人的病情調適情形」、「評估及協助家屬的情緒困擾」、「評估並處理末期病人的緊急狀況」、「評估及協助末期病人的情緒困擾」。而整體生命末期照護情境之「教育需求程度」與整體之「執行困難程度」呈中度正相關(r=0.60,p<0.01),與整體之「遭遇頻率」呈低度正相關(r=0.12,p=0.02)。生命末期學習經驗的不同,整體生命末期照護情境之「教育需求程度」有顯著差異,另外,於「學歷」、「重要親友往生經驗」、「參與專科學會與否」、「參與安寧緩和護理學會與否」、「參與急重症護理學會與否」、「工作單位」、「護理進階層級」、「曾參與院內其他專科課程」、「曾參與院內線上課程」於各層面之教育需求程度有所差異。「倫理、法律、自我覺察情境執行困難程度越高」、「轉介評估及說明安寧緩和照護之困難程度越高」、「心理、社會、靈性層面照護情境執行困難程度越高」、「年齡越低」、「有參加安寧緩和護理學會者」,為整體生命末期病人照護情境之教育需求中重要的預測因子,可解釋整體變異量達39.14%;其中,「倫理、法律、自我覺察情境執行困難程度」是各層面教育需求之共同預測因子。未來可依據各情境之遭遇頻率、執行困難、教育需求在各單位及各進階層級的分布情形規劃「共通課程」與「具單位特殊性之課程」,使臨床護理人員的學習狀況更貼近其需求;往後的研究建議可以針對「需求內容」及「困難來源」有更深入的討論,進一步針對不同護理角色、不同準備度的護理人員有更精準、細緻的課程規劃,以加強末期照護中護理角色的深度及廣度。

4-2. LOW最低的兩份摘要 / The abstracts with lowest and second lowest LOF

接著讓我們來看看LOF分數最低的摘要,該摘要的LOF為1.000391,共有668個字,內容如下:

背景:機構式服務不僅照護時間長,照護內容複雜,照護需求由「治療」轉為「治療與照護並重」,照護品質日益受到重視。台灣醫療照護品質指標系列THIS與台灣臨床成效指標系統TCPI對於醫療品質改善皆有顯著貢獻,並涵蓋長期照護指標,屬全國機構皆可參與的全國性品質指標監測系統。然而全國性的品質指標監測系統在一般護理之家之間尚未普及。目的:1.調查我國一般護理之家採用全國性的品質指標監測系統之現況。2.探討一般護理之家採用全國性的品質指標監測系統的知識障礙為何。3.探討知識障礙如何影響一般護理之家對全國性的品質指標監測系統的採用意願。方法:對全台514家一般護理之家進行問卷調查,共回收125份有效問卷,有效回收率為25%。透過迴歸模型分析各變數對機構採用全國性的品質指標監測系統意願之影響。結果:「財務知識障礙」、「組織知識障礙」及「行為知識障礙」對全國性的品質指標監測採用意願有顯著負向影響,影響依序為「組織知識障礙」、「行為知識障礙」、「財務知識障礙」。表示財務的籌劃、機構內部工作流程的調整與人力規劃,以及人員的心理調適是影響全國性的品質指標監測系統成功導入機構的關鍵因素。結論:本研究結果顯示一般護理之家採用全國性的品質指標監測系統僅為20%,採用現況尚未普及。首先財務知識障礙問題,機構方與醫策會或醫務管理學會需共同訂定符合一般護理之家的收費標準。組織知識障礙問題,由高階主管帶領,組成推動全國性的品質指標監測系統小組,定期開會將工作流程及人力配置整合到最佳。最後,行為知識障礙問題,讓人員認識到需要改變,並進行培訓提高人員的技能。

LOF分數第二低的摘要為1.001758,共有696個字,內容如下:

隨著社會變遷與價值觀改變,現代女性必須外出工作,在職場上面對競爭的壓力,同時也背負著傳統女性照顧家庭的職責。女性面對多重角色形成的壓力,對健康造成負面影響,而女性化性別角色特質較強者,壓力也較大,影響健康。本研究主要目的為:(1)探討多重角色女性護理學生角色壓力、身心症狀、性別角色的相關性;(2)探討多重角色女性護理學生性別角色於角色壓力與身心症狀關係的影響。本研究為一橫斷性研究,以方便取樣法收集具有護理師/士職照之在職進修女學生,並兼具職業角色、配偶或/和父母與學生的角色者,共收案219人,以結構式問卷收集參與者性別角色、角色壓力與身心症狀的狀況,研究工具為女性角色壓力量表、身心適應問題量表與性別角色信念量表;女性傳統特質的題平均值與標準差為3.32 ± 1.20,以題平均值作為女性傳統特質的分類,在±1 SD之間歸類為對女性傳統特質沒意見,得分≧ 4.53歸類為認同傳統女性角色,得分≦ 2.12歸為不認同女性傳統角色;運用描述性統計與t-test、變異數分析(ANOVA)、複迴歸分析等推論性統計方式進行資料分析。研究結果為:(1)角色壓力與身心症狀有顯著相關(p < .001);(2)與公婆同住者,身心症狀較少;(3)女性傳統角色的態度不同,角色壓力與身心症狀的關係也不同,對傳統女性角色態度沒意見者,角色壓力與身心症狀呈現顯著正相關,而對傳統女性角色態度不認同或認同者,角色壓力與身心症狀的關係,則未呈現顯著性。本研究結果傳統女性角色態度為沒意見者,角色壓力越大則身心症狀越多。本研究可供在職進修之護理工作場所及護理學校參考,協助在職進修女性護理學生調適多重角色的生活。

4-3. LOF高分與低分之間的區別 / The difference between abstracts with high LOF and low LOF

LOW較低的兩份摘要都採用了問卷調查的研究方法,摘要大多內容都在報告研究分析的結果,而大部分問卷調查報告結果的方式則都很相似,因此它們代表著大部分研究摘要的常見寫法,反映在LOF,就是LOF非常接近1。

LOW較高的兩份摘要中,LOW最高的摘要採用了訪談法,除了敘述受訪者的背景之外,該摘要佔一半以上的篇幅都在撰寫該研究的結果。LOW第二高的摘要則採用了問卷調查研究方法,但是該摘要用了三分之一的篇幅講述研究背景,使得他的用詞有更多與其他摘要不同的地方。

有讀者可能會問:「LOF的分數是不是跟字的長度有關係啊?」讓我們拿字數來做皮爾森積差相關分析,結果可以發現兩者的確有顯著中度正相關。以這個例子來說,摘要字數越長,越有可能跟其他摘要使用不同的字。

abstract下u下1OF length 訛#2Wihiigfhhgihlhxdh 1.009587 314 U C 1.007696 314 E R /ihdl handle 1.006287 340 ABZEBLERE hitos:/indl handle 1.005925 442 B69 Brett] htos ind handle 1.004207 1081 由R人M # https /ihdl handle 1.003648 405, EHTS hitos hdl handle 1.003483 551 PTE BEA https /ind handle 1.003218 360 E https /ind handle 1.003205 s VESTS: hitos hdl handle 1.002027 782 WiZAREAN hitos hdl handle 1.001963 BE BE EERE https /ihd handle 1.001758 E 沙 M pgjndhaudk 1.000391 sg

不過這邊有個例子特別不符合LOF跟字數之間的關係,那就是LOF倒數第9名的摘要。它的LOF為1.004207,可說是相當接近1,但是它的字數為1051,是排行第四多的摘要。讓我們來看看該摘要的內容:

目的:探討使用居家式長期照顧服務對主要照顧者健康之影響及影響因子。方法:本研究屬橫斷性設計,納入2011年1月至2012年4月期間,於臺北市長期照顧管理中心登記且通過審核使用長照十年計畫服務之被照顧者及其主要照顧者。以電話聯繫被照顧者,同意參加者寄發兩份問卷(被照顧者與主要照顧者填寫)及知情同意書,填寫後寄回。結果:研究對象共納入525對主要照顧者與被照顧者。65歲以下的主要照顧者自覺健康狀況影響因子為與被照顧者的關係及曾經使用居家式服務、65歲以上的主要照顧者自覺健康狀況之影響因子為每月花費在照顧長者的費用佔全家總收入比例、被照顧者自覺健康狀況及曾經使用居家式服務。男性主要照顧者自覺健康狀況之影響因子為被照顧者與家人的相處情形、照顧長者時間、被照顧者自覺健康狀況及曾經使用居家式服務;女性主要照顧者自覺健康狀況之影響因子為每月花費在照顧長者的費用佔全家總收入比例。輕度失能者其主要照顧者自覺健康狀況之影響因子為目前有工作,以及每月花費在照顧長者的費用佔全家總收入比例;中度失能者其主要照顧者自覺健康狀況之影響因子為被照顧者的媳婦、被照顧者自覺健康狀況及曾經使用居家式服務。主要照顧者為配偶者其自覺健康狀況之影響因子為被照顧者自覺健康狀況,以及每月花費在照顧長者的費用佔全家總收入比例;主要照顧者為女兒者其自覺健康狀況之影響因子為被照顧者獨居,以及與家中長者關係不太好;主要照顧者為媳婦者其自覺健康狀況之影響因子為家中每月花費在照顧長者的費用佔全家總收入比例及曾經使用居家式服務;主要照顧者為其他關係者其自覺健康狀況之影響因子為被照顧者年齡65-74歲以及曾經使用居家式服務。非獨居被照顧者其主要照顧者自覺健康狀況之影響因子為每月花費在照顧長者的費用佔全家總收入比例與被照顧者自覺健康狀況;獨居被照顧者其主要照顧者自覺健康狀況之影響因子為全家一個月總收入與家中每月花費在照顧長者的費用佔全家總收入比例。結論:根據結果可知1.使用居家式長照服務對主要照顧者年齡≥65歲、男性及主要照顧者為其他關係者其自覺健康狀況有正面影響;對主要照顧者年齡<65歲、被照顧者中度失能、主要照顧者為媳婦者其自覺健康狀況有負面影響。2.主要照顧者家中每月花費在照顧長者的費用佔全家總收入比例、被照顧者與家人相處情形、與家中長者關係、曾經使用居家服務與被照顧者年齡等為影響主要照顧者自覺健康狀況之重要因子。未來制定長期照顧政策及提供服務時可考量主要照顧者健康相關特質,針對不同需求提供相對應服務,以提升主要照顧者健康。

仔細看一看這篇摘要,你會發現它用到了大量重複的字詞:「主要照顧者」,而它也採用了常見的問卷調查法,並以常見的問卷調查結果報告的形式來撰寫摘要。這跟前面的LOF較低的兩篇摘要相比,雖然它的字數較多,但寫法是不是看起來很像呢?

由此可知,如果要找出最特別的文本,光看字數可能會不太準。使用LOF來計算文本的異常程度,以此找出LOF最高,也就是最特別、所用字詞與眾不同的文本,可能是更好的作法。


結語 / Wrap up

本篇利用資料探勘中異常偵測的演算法局部異數因素(Local Outlier Factor, LOF),為大量文本計算LOF分數,從中找出用詞最為特別的文本。在大部分統計分析和資料探勘的研究中,異常偵測或離群值偵測大多是用來調整模型、刪除過於怪異的結果。但在文本探勘中,用詞最特別的文本則有其特別的價值。

從本文使用的30篇摘要中,我們可以用較高的LOF來找出最特別的摘要寫法,因此可以藉此找出獨特、與眾不同、別有用心的研究者。另一個可能的應用案例則是學生的報告或是考試的申論題。在同樣的報告題目或申論題題目之下,大部分學生寫的內容應該都大同小異,更可能會有多位學生上網抄襲,還抄到了同一份網頁的內容。這時候使用LOF來找出最為特別的回答,可能也可作為老師在評分上的參考依據來源之一。

即使文本探勘可以採用與傳統資料探勘類似的作法,但它們探勘出來的結果與意義,可能會有很大的不同。這篇使用LOF來做文件的異常值偵測,偵測出來的不是傳統意義中,讓研究者看起來十分礙眼、恨不得趕快刪掉的異常值,而可能是研究者中獨特的瑰寶喔。就讓我們繼續探索文本探勘的無限可能吧。

EARN le oT 3 j [1 ji利用寅料秋學 i ud Lier.絕a : I 釵i人 ﹒ ˊ巳、 F Q Data Saat Using Data S 0 K i 0 0

如果想要更深入瞭解異常偵測的計算方式,我推薦大家可以去閱讀「資料智慧化:利用資料科學,將資訊化為創建」一書。書目如下:

Foreman, J.W.(2017)。資料智慧化 利用資料科學, 將資訊化為創見(胡為君譯)。臺北市:碁峰資訊。

閒聊 / Off-topic

a巧亙口巨巧云H ˍ ˍ諳一三井 wa ca so AB ew we 21g rE ^ B亙宏于‧ am K i P 乙H T日巴 閘田HBR 2斷詞虧理/ Token﹒ ; BAY Re? 學生上網扶裁 還抄到了同一份網頁的內容 這跨俗使用LOF來找出最為STEP 3. WekadILOF-- 犀剎的回答 可能也可作為老師在評分上的參考依據來源之一 禾 E 3L讀取CSV檮案/L 閒聊/ OfFtopic 3刀類刪轉換成安串/ 33﹒從宇串建立文宇﹒﹒ 邢麼箏次使用LOF來找出冕特別文本的教學就到遇裡了 寫到恩後 314﹒計猛屄部巽數因 我有些閱題想閱閱大家 3﹒5﹒取得LOF計箋結 住有虧理基呂有雕群倫的資料嗎﹖ 你恣廊定義雒群倫 或是怎廣做善帶偵測的呢﹖ STEP4分析結果… o NREEEEREHERE ? HIRE 7 小1 LOMW最高的兩份 歙卻在下面的留言處眳現們分摹你的想法 大家的意見是哲蟹纈分享 的動力喔!如杯你覺得我遨篆敏學用的話 請爾我在AddThis分拿工具捻42, LOBES 50 581 33895 5 Facebook HBR ARIE 門

又來到我們的閒聊時間啦!寫到這裡根本就是抒壓活動。

這次寫這篇花了三個半小時,再加上事前準備資料、模擬操作,大概花了六個小時左右。不過字數的部分,怎麼看都不可能只有三千字,畢竟前面的摘要字數就已經接近三千了。好吧,再加一條issue

ost EE [R Elements Network Cons e Audits Sources Performance Memory Application Security NetBeans 1849 i 9 App 回 sp v Fiter K PS 3UImesan progress gstatus: initializing api”, progress: 0} Tesseractrelper. jsios 314userm. Cannot enlarge memory arrays. Either 1 compile with -s TOTAL MEMORY X tesseract-core.wasm.js:8 Nor. with X higher than the current value 263435456, 2 compile with -s ALLOW MEMORY GROWTH-1 which allows increasing the size at runtime, or 3 if you went malloc to return NULL 2 instead of this A Owamings 2bort, compile with -s ABORTING_WALLOC G iugme A Cannot enlarge memory arrays. Either 1 compile with -s TOTAL MEMORY-X fesseract-core wpsm.is: with X higher than the current value 268435456, 2 compile with -s ALLOW WEWORY GROMTH 1 which & GOverbose allows increasing the size at runtime, or 3 if you want malloc to return NULL 8 instead of this abort, compile with -s ABORTING MALLOC Uncaugnt in promise abort Cannot enlarge memory arrays. blob:http://localhos.ach-d207926654ca:1 Either 1 compile with -s TOTAL MEMORY X with X higher than the current value 268435436, 2 compile with -s ALLOW MEMORY GROWTH 1 which allows increasing the size at runtime, or 3 if you want malloc to return MULL 8 instead of this abort, compile with -s ABORTING_MALLOC 6 . Build with 1 btisticingicator.jsiles Jit o Debugging connection was closed. Reason: Render process gone... ci. i. 4 [ Reconnect when ready by reopening DevTo s. Tesseracttelper.js:184 oR is Tesseractielper. juss RCN [Reconnect DevTo Tesseractielper. jsilsa oR is Tesseractielper. juss 4 [RECT m on 2 27 E mm m Z OIE Tesseracttielper. jsi1s4 4 [memory usea”, 149855970, 2197815295, 0.06818405999482133] Tesseractelper. sis progress {status: Loaging tesseract core”, progress: 0} Tesseractielper. jsios 4 [memory usea”, 149867352, 2197815296, 0.06818924332393035] Tesseractelper. sis progress status: Loaging tesseract core”, progress: 1} E 4 [memory used”, 149867362, 2197815296, 0.06818924332393035] E progress {status: initializing tesseract”, progress: 0} Tesseractrelper. jsios 4 [memory usea”, 149889850, 2197815295, 0.06819947530295162] E progress {status: initialized tesseract”, progress: 1} Tesseracticlper. jsi08 4 [memory usea”, 149889850, 2197815295, 0.06819947530295162] E progress {status: Loading Language traineddata”, progress: 0} Tesseractielper. jsios

不過這次跟前幾次相比,這次的issue增加數量已經很少了。而且這一篇最大的改良,就是加入了記憶體使用量的限制。如果記憶體使用量超過6%,則將暫時停止OCR。一開始我設成50%,結果它在6.8%的時候當機。後來我將限制設為6%,之後寫下來一路順暢,再也沒有當機過了。看來這次確實克服了上一篇因為OCR記憶體耗掉過多的問題,真是可喜可賀。

園設定x 介面設定事件記錄備份管理關於 TH 1 天M的事件記錄下載清除 途蹦磕 如何取得塗蹣碼】 即時垮表網址 https://analytics.google.com/analytics/web/#/realtime/rt-event,開數 閣閉

此外,這篇也開始使用WebSQL來記錄事件,畢竟在Google分析上記錄的事件還要等幾天才能看到結果,實在是讓人心癢難耐啊。

csv - LibreOffce 2 回wwmuwedj2X0H519XOHgcv bpsofxeCac 妍 妒 婉 鑾 28 e 205﹒鯨閻 同”回‧ EO瞑‧ 災themewmm 四9囚恆ˇ三世井至7幸乎陷哉活A006 B ˇ Rh age ˇ Font ˇ日!日 一 ‧ amgh ES HEE Menu g四fv Z uggsga A Q c n Ll ug unix category action困 83cngLSuac4d133h3w 158SuH1SunmahgscgiadaxmiudgS9tup {\'keys\ 'ENTER\ _\'eventame\ VinsertParagraph\’}” [ 3 83ceSac4dL3u3w 1563650483 FieldPost {VwordCount\ : 184 VimageCount\ :10,\ fimeSpent\ \'5:07\'} [4 [353c2e5t-Sbac-4c13-8b3a 1563650487 SummerNoteHelper clickButton {amecra y 83cxgLSac4cL3hiy 15S8SQS7SunmahgscgliadaxniudgsSudum {\'keys\ \'CTRL S\ \'eventName\ \'DelayForceExect’}” [6 _ da2t4f79-4717-4b6-b002- 1563650686 SummerNoteCallbacks onHandleKeyMap rtasCVENTER rasmMangcXamEMamgM^ [7 da2t4f79-4717-41b8-b002- 1563650689 SummerNoteHelper clickButton {amgcra# da2idf70-4717-41bB-b002- 156365068 FieldPost {VwordCount\ : 184 VimageCount\ :10,\ fimeSpent\ \'5:07\'} [9 da2t4f79-4717-4fb6-b002- 1563650689 SummerNoteCallbacks onHandieKeyMap {\keys\ \'CTRL S\ \ eventName\ \'DelayForceExect’}” [10 d19€13c5-e4b9-4789-9300 1563650766 SummerNoteCallbacks onHandleKeyMap {\'keys\ VENTER\ \'eventame\ VinsertParagraph\'}” H d19e13c5-e4b9-4789-9300¢ 1563650768 SummerNoteHelper clickButton {amgcra# [12 d19e13c5-e49-4789-9300 1563650766 FieldPost {wordCount\ : 184 VimageCount\ :10,\ fimeSpent\ \'5:06} 3 d19e13c5-e4b9-4789-9300 1563650768 SummerNoteCallbacks onHandieKeyMap {\keys\ \'CTRL S\ \ eventName\ \'DelayForceExect’}” [14 d19€13c5-e4h9-4789-9300 1563650792 SummerNoteCallbacks onHandleKeyMap {\'keys\ VENTER\ _\'eventName\ VinsertParagraph\'}” [15 d19e13c5-e4b9-4789-9300¢ 1563650794 SummerNoteHelper clickButton {amgcra# ig d19e13c5-e49-4789-9300 1563650794 FieldPost {VwordCount\ : 189, imageCount\ :10,\ fimeSpent\ \'5:08'} D d19e13c5-e4b9-4789-9300 1563650794 SummerNoteCallbacks onHandieKeyMap {Vkeys\ \'CTRL S\ \'eventName\ \'DelayForceExec\’}” near manana vamacomianonnuxntnsusr ummawueae5ncYrvamsswet ﹒ X _event record-19700119-19700119 [3 [Fina回Fin All [Formatted Display [7 Match Case 周 Sheet1 of 1 Default English USA CHIE Average: 1563650864; Sum: 1563650864 一一4 一一﹢ 100%

打開之後的結果長這樣子...嗯...看來還有很多需要改進的問題...

我想想,用這個事件記錄可以做什麼東西呢?直覺想到的是字數跟圖片數量的變動,這樣我可以畫個折線圖,看到我從頭到尾的字數和圖片數量的增減。另一種圖是活動的強度,就是以我在同一個時間區段下操作事件的次數來判斷活動的強度。

不過目前這樣的資料,要靠LibreOffice Calc轉換,實在是太麻煩了。我還是加個issue,必須直接算出年、月、日、時、分、秒,這樣比較好分析。而且數值結果也還要重新呈現才行。

一個一個來吧。這篇就來把OCR做完,收個尾吧。


那麼這次使用LOF來找出最特別文本的教學就到這裡了。寫到最後,我有些問題想問問大家:

  • 你有處理過含有離群值的資料嗎?
  • 你怎麼定義離群值,或是怎麼做異常偵測的呢?
  • 你是怎麼處理離群值呢?直接刪掉嗎?

歡迎在下面的留言處跟我們分享你的想法。大家的意見是我繼續分享的動力喔!如果你覺得我這篇教學實用的話,請幫我在AddThis分享工具按讚、將這篇分享到Facebook等社群媒體吧!

感謝你的耐心閱讀,我是布丁,讓我們下一篇見。