2007年11月8日 星期四

本日進度

目前已經把pre-processing的部分做完, irrelevent blog filtering的部分也做的差不多了,
接下來要進到比較麻煩的部分:reason extraction,這邊我想要採用的方法是LODR,去計算include reason的強度,不過在計算上可能會比較麻煩,要記錄的東西也相當多,希望能夠順利寫完.

2007年10月21日 星期日

效能問題..

目前坤璋程式進度還算OK
不過有一個地方效能不是很好
就是一開始擷取網頁的部分

雖然說在坤璋的程式裡也是要跑很久,
不過php也是一樣,目前找了一些io的方法來看
不曉得能不能找到加速io的方法.

2007年10月13日 星期六

目前進度...

星期四meeting後,我有檢討一下
基本上坤璋的論文就如同老師講的,是我自己沒看懂,所以我連抓出來show在網頁上的檔案都不清楚是什麼

再來是程式的部分
老師說的地方大概都知道怎樣去加強
不過因為程式是用BCB所寫的
很多套件的地方要重寫,改起來也會相對的麻煩很多,不會比較快
這個部分可能要和老師溝通了
因為我也很苦惱,要改的話,時間上會不夠,用PHP改的話,因為有些地方可以直接改用套件部分
相對會比較快讓系統run起來
大致上應該這上次meeting之後的想法

2007年10月7日 星期日

Tags消除

因為所有的檔案都是從網頁上分析之後取出
現在因為要將資料output在browser中
透過php函式strip_tags可以將取出的段落中包含html以及php標籤都移除
且標籤若是非法,會在browser顯示.

另外,剛剛發現在三維陣列表示中
我把維度搞錯了 ...
結果印出的資料回圈跑太多次,速度也很慢
剛剛改好之後速度就快多了.

Regular expression(2)

這篇是對regular expression的解釋

$patterns = array("/((1920)\d{2})-(\d{1,2})-(\d{1,2})/", "/^\s*{(\w+)}\s*=/");

$replace = array("\\3/\\4/\\1", "$\\1=");print preg_replace($patterns, $replace, "{startDate} = 1969-6-19");

1./ 和 / 所夾的部分代表要比對的 pattern
2.^ 代表從字串開頭\s 代表 [\r\n\t\f\v] 換行、跳行、空白字串..

3.代表 0 or 1 or any\w 代表 [a-zA-Z0-9_]+ 代表 1 or any\d 代表 0-9 的數字
所以 " {startDate} =" 亦符合 /^\s*{(\w+)}\s*=/
4.((1920)\d{2}) 代表會搜尋 19 或 20 開頭、並且其後接有兩位數字的 pattern
像是: 1983、2006。

5.\d{2}代表數字需重複兩次,換個角度來說,可看成要尋找兩位數。

\d{1,2}則是至少出現一次、至多出現兩次,如:1、31、99..

6.\\3/\\4/\\1則表示將符合的模式的結果,取代為第三個set/第四個set/第一個set

\\1 表示符合 ((1920)\d{2}) \\2 表示符合 (1920) \\3 表示符合 (\d{1,2}) \\4 表示符合 (\d{1,2})
就本例而言: 1969-6-19 變成 6/19/1969

這篇範例可以讓我門了解到如何在php上表達以及使用regular expression和preg_replace

Regular exepression

對於分析文字檔中含有網頁tag,現在想到的是利用preg_replace()將所有的html標籤刪除

下面兩個網頁是針對這個function所有功能的表示
http://tw.php.net/manual/en/ref.pcre.php
http://tw.php.net/manual/en/ref.regex.php

這個function蠻好用的
希望今天能把這部分弄完.
接下來就可以改快來弄美工的部分...

2007年9月30日 星期日

php呼叫外部程式

星期五找到現在,大概找到三種方式可以call外部的程式執行,
不過都有一些奇怪的地方,不符合我想的方式...

網上查的有三種,exec(),system(),shell_exec(),
比方說我想要執行一個mp3的檔案,可以用這些function呼叫,不過都沒有開啟成功,
查了說是safe_mode和檔案權限的關係,不過我看了一下,設定是OK的.

真懷疑是那邊出問題,明天還要去圖書館查資料,晚上再把坤璋說的流程自己跑一次
這樣才不會搞混.