發表文章

目前顯示的是 12月, 2017的文章

common_table_expression-每天抓N筆資料

圖片
關於CTE介紹請看這: https://docs.microsoft.com/zh-tw/sql/t-sql/queries/with-common-table-expression-transact-sql 可能會覺得CTE跟temp table相似,都拿來暫存資料,但可以參考這個建議,視情況使用。 http://www.dotnettricks.com/learn/sqlserver/difference-between-cte-and-temp-table-and-table-variable 建議有sub-query可以使用CTE,寫起來比較直觀且易讀。 那今天就拿CTE拿抓每日前N筆資料來試試。 ;WITH cte AS (    SELECT *,          ROW_NUMBER() OVER (PARTITION BY convert(varchar(max), date, 111) order by XXX) AS rn    FROM Table ) SELECT * FROM cte WHERE rn < N+1 語法很簡單,是一個有子查詢的語法,可以用CTE來寫,把日期分割當成Row number,變成table,再來在抓row number小於N+1就可以抓到每日N筆資料了,記得你用甚麼當排序就是抓那種排序的前N筆(XXX那邊修改)。

錯別字檢查系統-模板模型(Error words with Template Module)

圖片
參考: Wu, Shih-Hung, et al. "Reducing the false alarm rate of Chinese character error detection and correction."  Proceedings of CIPS-SIGHAN joint conference on chinese language processing (CLP 2010) . 2010. 今天要介紹如何建立錯別字偵測系統的其中一種方法,另外還有統計的方法可以實作,下次再介紹,這篇內容相對上面學術文章簡單,但更易實作。 其偵錯邏輯如圖 這流程有幾個點要解決。 1.斷詞 2.偵測模板的建立 3.比對邏輯 以下依序說明 1.斷詞 斷詞可用open source的斷詞器,結巴等等都可以,但是需經過修改,要確保字典內的詞彙都是正字詞彙,也就是正確字,因此結巴可能就需要把簡體字拿掉,或者你要認為簡體字為正確字也可以XD,不過在產生偵測模板時,就會有大量的正字詞彙,因此用正字詞彙取代到斷詞字典即可。 2.偵測模板 偵測模板可把她想成比對的模板,最花工就在這步驟,因此有一些半自動的方法可以解決。 先做一些名詞解釋 正反面語料庫 正面詞彙:齊天大聖、 錄音機   反面詞彙:齊天大勝、路音機 即是包含正確字與大量錯字的詞庫,用來比對用,這邊表示用人工建立。 混淆字集 一個正確字他可能會寫成的別字集合,包含近音、近行 例如: "門"的混淆字 近音:們、捫 近行:悶、們、燜 偵測模板 概念與正反面語料庫相同,只是用電腦建立。 那就來講怎麼見偵測模板 1.輸入字典用字與常用字,與確保是正確用字 2.利用混淆字集來創造所有可能反字 3.加入混淆模板 例如 正字:門    正面用語:開門、門簾           混淆字集:們、悶       反面用語:開們、們簾; 開悶、悶簾 比對邏輯 斷詞後,同一句的句字若有完整的詞就拿掉,表示斷詞已認識他是正確的字,剩下的不認識字若相連就合併,再用bi-gram去切,一個一個去比對混淆模板,另外若字詞大於2個字元且有在模板比對到,要長詞優

2017年12月股票筆記

圖片
這周末閒來無事,稍微研究一下是否有好標的,順便紀錄一下最近績效。 12月大盤盤整,10800到10400左右,蘋概股大量回檔,手上持股分別是榮化、中鋼、台新金、中信金。(照圖片排序) 這一兩個月泰昇-KY與華孚出掉了,大概賺了三千,華孚說來可惜半年前一度很看好,但EPS都不是很漂亮,抱的不夠久,出掉沒多久,特斯拉的消息一出來又漲了一波,不過有賺就好,一個消息就可以漲成這樣,炒股性質偏高。 投資與尋找標的的理念還是沒變,中長期投資為主,分析主要還是注重EPS、本益比、歷年股利、年營收成長、財報內容與產業穩定性等基本面。 金融股本來就是眾人眼中的定存股,把部分水位放在金融股,從中挑認為CP值較高的,用本益比與股利分析;中鋼持股一年多了買在相對低點,近期不賣;榮化10月多澳洲回國注意到,基本面很好,股利也還可以,12月剛好有一些利多消息,賺了一波,暫時續抱,若本益比太高考慮獲利了解。 周末發現的標的,雖然說不是特好,但依我的標準可列入觀察,看這波大盤回檔是否有便宜可撿。 汽車工業 中華車2204 股價25.55 資產股,本益比低、股利也還不錯、獲利與去年持平。 主要產品為三菱、商用小貨車,國內商用小貨車幾乎被他吃掉,但汽車產業的未來難以預期,若再便宜一點可考慮買進。 資訊服務業 國眾5410 股價13.35 本益比低、股利不錯,但是上櫃,非市場前三。 精誠6214 股價57.7 資訊服務業龍頭,本益比有點高,但發放股利非常大方且穩定,需要研究為甚麼,但員工福利好像不是很好,不重視人才不知會不會影響未來發展,會續跌考慮可接。 點出這三檔,但都沒有比我當初注意到榮化時喜歡,列為觀察股。

搜尋引擎排名演算法介紹-Okapi BM25(Ranking Function of Search Engines)

圖片
BM25是一個可以計算詞彙與文章間關聯度的一個演算法,當下個keyword就可以用這個關鍵字與所有文章算關聯度,就可依關聯度來做排名。 應此相關可應用於文章排名、文件推薦系統等等,接下來就簡單介紹此演算法。 更詳細可參考wiki: https://en.wikipedia.org/wiki/Okapi_BM25 k _ 1,b : 調節參數 q _ i : 關鍵詞 D : 文章 f( q _ i ,D) : 此關鍵詞在此篇文章的出現次數 | D | : 此文章長度 avgdl : 所有文章平均長度 〖 IDF(q 〗_ i) : 此關鍵詞共在幾篇文章出現 之 倒數 用白話簡單翻譯就是 與關鍵詞在 此篇文章出現頻率 為 正相關 ,與關鍵字在其 他文章出現次數 為 負相關 ,這概念跟TF-IDF很像。 但比較不同他把文章長度加入為考量因素, 一樣關鍵字詞頻較長文章重要度會低於較短文章 ,另外他還加入兩個調節參數,詳細參數設定可參考wiki。