2018年12月16日 星期日

win10 上安裝 Flask-MongoAlchemy 的 "Subprocess output does not appear to be encoded as cp65001" 解決方法

參考討論串 https://bugs.python.org/issue27179

實際錯誤是發生在安裝 pymongo 時

總之執行 cmd /u 即可



2018年11月16日 星期五

Google新自然語言處理模型--BERT!!屌打微軟亞洲研究院,復旦+流利說團隊、國防科大團隊、阿里巴巴團隊,中國平安旗下金融壹賬通GAMMA LAB,韓國江原大學

BERT 的原始碼已釋出,參 https://github.com/google-research/bert

2小時前團隊剛更新程式碼,表示已經在 Stanford SQuAD 問答集上再推進 3.0%,根本上屌打其它對手


谷哥大神滿佛心的其實,第二、三名其實也是借了谷哥所釋出的 BERT 之力,否則正確來說 BERT 已經屌打非 BERT 技術達到 12% 之多!!

但是文意的理解是否是答題的基礎呢? 打個問號囉~~

2018年11月2日 星期五

"此環境變數太大"的原因和解法

原理詳 https://blog.miniasp.com/post/2015/09/07/Maximum-length-of-PATH-environment-variable.aspx

文中論及解法,感覺上 regedit 可以用用。

使用者環境變數:HKEY_CURRENT_USER\Environment

2018年10月24日 星期三

emacs 的 eshell 及 python 等各種 shell command 在 windows 10 無法正常輸出 utf-8 , 只要這樣作就OK…

這下標有內容農場的味道吧呵呵

開啟"控制台"中的"時鐘和區域"設定,"變更系統地區設定",勾選"Beta:..."選項,按"確定"


這樣就不用每次在那兒 chcp 65001了,而且 eshell 也可以正常執行並輸出 utf-8 囉

2018年10月21日 星期日

Stanford parser初探(3)--CoreNLP version 3.9.2(20181005)

相較於在 Stanford parser初探(2) 一文中,對於中文的處理略有增強


同時在4G記憶體的筆電上也能跑得動了,速度也大幅提升。

用英文測試一下,感覺也滿不錯。測試句為:

A 36-year-old pregnant woman was evaluated at 33 weeks of gestation because of newly diagnosed adenocarcinoma. One week earlier, severe pain in the lower back had developed; computed tomography revealed hypoattenuating hepatic lesions. Management decisions were made.


好 parser ,不 try 嗎?

2018年9月29日 星期六

以 email 送出 git diff (patch) 的方法

參 https://orgmode.org/worg/org-contribute.html#commit-messages

使用 git format-patch 產生 *.patch ,其中 * 會是個序號加上 commit 的註解訊息內容


2018年9月16日 星期日

github上有趣的專案

https://github.com/trending?since=monthly

來看我覺得比較有趣,有時會有些很無厘頭的專案,例如 "Windows 95 in Electron" 之類

https://github.com/trending?since=weekly

來看就有點 radical 了,看人囉

https://github.com/trending?since=daily

來看有時也滿好玩的,某些特定專案被衝高了讚數

其實比較正經點的做法,當然是搭配各種(自己拿手的)語言為條件來過濾。

像最近有個影片對影片翻譯(?!)的專案

改天再寫個介紹文。真的是很有趣




2018年8月31日 星期五

Install VS CODE on ubuntu 18.04 LTS

ref: https://qiita.com/shaching/items/69dfc000f13ff55dde99

to summarize:

  1. download *.deb from official site, for me it's "code_1.26.1-1534444688_amd64.deb"
  2. sudo apt install libgconf-2-4
  3. sudo apt --fix-broken install
  4. sudo dpkg -i code_1.26.1-1534444688_amd64.deb

2018年8月22日 星期三

windows 10 自動對時服務設定

參考這篇文章

不知為何預設值是手動

請執行 services.msc 來設定 windows time 為自動啟動,並執行之即可


2018年8月5日 星期日

windows上的無痛(?)caffe安裝

因為之前已經安裝過 tensorflow 了,所以變得很輕鬆,參 https://github.com/BVLC/caffe/tree/windows


  1. 先裝個 cmake (參 https://cmake.org/)
  2. git clone https://github.com/BVLC/caffe.git
  3. cd caffe
  4. git checkout windows
  5. 設定檔 build_win.cmd 中 set WITH_NINJA=0
  6. scripts\build_win.cmd
  7. pip install cmake ninja numpy scipy protobuf==3.1.0 six scikit-image pyyaml pydotplus graphviz
  8. copy the C:\Projects\caffe\python\caffe folder to your site_packages folder.(C:\Users\[你的名字]\AppData\Local\Programs\Python\Python35\Lib\site-packages)

2018年8月4日 星期六

ubuntu 下 edirect 中的 xtract 需手動下載

執行 xtract 時出現以下訊息

Unable to locate xtract executable. Please execute the following:

  ftp-cp ftp.ncbi.nlm.nih.gov /entrez/entrezdirect xtract.Linux.gz
  gunzip -f xtract.Linux.gz
  chmod +x xtract.Linux

這個 ftp-cp 還要先這樣安裝:

sudo apt install ncbi-entrez-direct


2018年7月19日 星期四

windows 上產生聚光燈效果的軟體


Mac 上有出名的 Mouseposé , win 平台上則有 pointerfocus 提供類似功能,請至以下連結下載

http://www.pointerfocus-for-presenters.com/index.html


win 10 上以 perl 抓取最新版 edirect

perl -MNet::FTP -e "$ftp = new Net::FTP('ftp.ncbi.nlm.nih.gov', Passive => 1); $ftp->login;$ftp->binary; $ftp->get('/entrez/entrezdirect/edirect.zip');"

沒想到 perl 還是這麼好用…


2018年7月14日 星期六

node.js 在 chrome 上的新(?)除錯方式

古有云:別人已經上太空了,我們還在殺豬公。

今人曰:別人已經 inspect 了,我們還在 console.log()。

請看這支2017的影片(還沒一年呢),使用 node --inspect-brk 竟然可以在 chrome 裏設中斷點來除錯啊大哥~~還可以檢視變數內容啊

這之前可是要裝插件、裝模組,搞半天才做得出來,一下子又變成公開技巧了

我論 node 的易學易用程度真的會逼死其它語言你說是不是



2018年5月8日 星期二

latex 在 org mode 中的預覽,平台為 windows 10 及 emacs 25.3 的情況

簡言之就是到 https://miktex.org/download 去抓個 MiKTeX 來裝

整個順暢得有點令人意外

另外要匯出為pdf 的話,要裝個 xecjk




2018年4月27日 星期五

PRML 的 python 實現安裝問題

就不說 Pattern Recognition and Machine Learning 是什麼神書了

另一位神人將書中程式轉成 jupyter notebook 放在 https://github.com/ctgk/PRML

要另外注意兩件事,一是 python 要 3.6 以上版本,二是安裝後(py setup.py install)才能正常執行,參 https://github.com/ctgk/PRML/issues/4

作者的頭像滿可愛的啊哈哈哈哈哈哈


2018年4月14日 星期六

使用 oauth2client 寄送 gmail 夾檔問題解決方法

使用程式經 gmail 寄送夾檔,官網是這麼說的

反正照作是不 work 的,問題出在 urlsafe_b64encode 這行,解法在此 , 同連結中有人附上完整的範例

(莫非是G社故意埋的彩蛋?)



另外要注意 SCOPES 參數的設置,免得跳出 403 "insufficient permission" 錯誤


2018年4月12日 星期四

Introduction to Machine Learning with Python 中範例的 numpy 版本問題

參 https://blog.csdn.net/dlhlsc/article/details/54772899 , https://stackoverflow.com/questions/37267399/importerror-cannot-import-name-numpy-mkl

總之在安裝了 scikit-learn 後,import sklearn 時若出現以下錯誤

from numpy._distributor_init import NUMPY_MKL  # requires numpy+mkl

則請到 https://www.lfd.uci.edu/~gohlke/pythonlibs/ 下載對應版本的 NumPy 並安裝即可

我的情況是先執行

pip install https://download.lfd.uci.edu/pythonlibs/u2yrk7ps/numpy-1.13.3+mkl-cp35-cp35m-win_amd64.whl

但未成功,故先下載

wget https://download.lfd.uci.edu/pythonlibs/u2yrk7ps/numpy-1.13.3+mkl-cp35-cp35m-win_amd64.whl

再安裝

pip install numpy-1.13.3+mkl-cp35-cp35m-win_amd64.whl

20200507 更新:建議使用 anaconda 來安裝,其版本較為一致


2018年3月27日 星期二

win10 上設定需登入認證的 proxy

參考這個討論串

要注意兩個地方,一是 Credential Manager 的中文是 "認證管理員" ,二是新增認證位置為 "windows認證" 下的 "新增一般認證"

2018年3月14日 星期三

win10 上安裝 emacs 25.3 新增套件的注意事項


  1. 要裝些非預設 dll ,參 https://gist.github.com/okorz001/7715b40104ed0446bd228b40d7876674
  2. M-x package-initialize 後才能執行 package-install (即在 *Packages* 視窗中按下 x ),參 https://github.com/hlissner/doom-emacs/issues/444

2018年2月23日 星期五

自然語言處理的另類選擇: spaCy 初探

安裝見 https://spacy.io/usage/ ,線上示範參 https://demos.explosion.ai/displacy/



速度上的確是比 Stanford coreNLP 快一點 ( 但也沒有到官方文件說的一個數量級那麼誇張 ) ,分析有時會比較合理,但 google scholar 上參考數很少

問題可能是出在安裝上,對 visual studio 和 c 的編譯不熟的話,安裝會有極大困難

( 我想這也是為何在 github 上, spaCy 的人氣反而超過 Stanford coreNLP 的原因 )

上圖是 spaCy 的分析結果,下圖是同一句子在 coreNLP 的分析,其中 calls 都被誤認為是名詞

一個句子/子句的中心就是動詞, spaCy 的分析結果很尊重這個原則。


在一些日常的英文中, "with" 這個單字的解析在 spaCy 也是比較正確的,而 spaCy 出錯時, coreNLP 也不見得正確。但是在一些很簡單的範例上, spaCy 會錯得很離譜,而 coreNLP 卻能得到正確結果。而且 spaCy 目前還不能處理中文。 只能說有一好就沒兩好吧?

2018年2月17日 星期六

使用 perl one liner 進行檔案搜尋取代的流程 ( SOP ) ( 三 )


(上圖是 kuso 快遞公司 FedEx)

承接 2013 年 使用perl one liner進行檔案搜尋取代的流程(SOP) 一文,如果要串接多個層次的處理也是沒有問題的。(沒辦法,RE 真的是太好用太強大啦!!)

| 這個重新導向算子可以把前面的結果傳給後面,所以可以這樣使用:

perl -pe /xxxxxxxx/ abc.txt | perl -ne /xxxxxxxxxxxxx/ > def.txt

另外還可以衍生出一種使用的情境,就是資料的過濾,這必需要 -ne 參數搭配上 print 函數,合於條件時才利用 print 輸出以進入下一層處理。以下這行簡單的 one-liner 可以證明, | 兩側的 perl instance 是同時執行,且輸出入是即時重導的:


github上python 套件的 fork 與修改、測試、上傳







  1. 按下 github 網頁上的 fork 圖示
  2. 在生成的專案頁面上,複製 clone 的專用網址 
  3. 解除安裝對應的套件,下達 pip uninstall XXX
  4. 修改程式碼
  5. 在 clone 生成的目錄,下達 python setup.py build 及 python setup.py install
  6. 測試確定結果無誤
  7. git add 剛修改到的檔案
  8. git commit -m "註解"
  9. git push ; 會要你輸入 github 上的登錄資訊,也就是帳密

2018年2月16日 星期五

python3 對 html 的高速剖析-- lxml



bs4 的速度在處理大家資料時有點令人不耐,此時 lxml 不失為一個好方案

參 http://lxml.de/

在處理文字時,如果有 tag 與文字混雜的情況,可參考 http://yshblog.com/blog/151

基本上就是會把文字放在 tag 的 tail 屬性當中,要花點工夫去找出來、串起來


2018年2月14日 星期三

Stanford coreNLP的非官方 python 介面 "stanford-corenlp" 初探

主頁在 https://github.com/Lynten/stanford-corenlp ,可以直接用 pip3 安裝

測試檔可以試試 https://github.com/Lynten/stanford-corenlp/blob/master/test.py

(已經改寫為 python3 的語法)