老地方冰果室交流區

歡迎冰果室讀者在此交流
現在的時間是 08/25/2019 4:04 am

所有顯示的時間為 UTC + 8 小時




發表新文章 回覆主題  [ 12 篇文章 ] 
發表人 內容
文章發表於 : 04/27/2005 1:40 pm 
離線
留言破百

註冊時間: 04/30/2001 1:01 am
文章: 191
來自: 台灣
我因為研究需要,希望給我用Apache+PHP+MySQL做的內容管理系統加入中文斷詞的功能,於是我在網路上發現這個Perl程式下的中文自然語言處理模組:
Lingua::ZH::TaBEhttp://blog.autrijus.org/archives/000023.html
但是作者表示需要先安裝libtabe函式庫:
libtabeftp://xcin.linux.org.tw/pub/xcin/libtabe/devel/

libtabe這好像是一個Linux/X-Win下的中文詞庫(這兩個我都不熟),我在網路上爬文的結果,找到安裝libtabe0.2.6 for MacOX http://libtabe.darwinports.com/

依照指示先安裝DawrinPorts http://darwinports.com/
然後安裝了libtabe0.2.6。

然後依照Install Perl 5.8 on Jaguarhttp://developer.apple.com/internet/opensource/perl.html的指示,安裝了CPAN

接著使用CPAN安裝Lingua::ZH::TaBE模組時,卻還是出現:
"This modules needs libtabe version 0.2.5 or above installed; please
install it from ftp://xcin.linux.org.tw/pub/xcin/libtabe/devel/ before
running Makefile.PL."

請問各位先進,在MacOX 10.3.9下要如何安裝libtabec函式庫與Lingua::ZH::TaBE模組?或是各位有更好的中文自然語言處理工具介紹?最好是Shell程式,可以直接用PHP執行shell_exec呼叫的,謝謝。

另外,英文部份的Part of Speech處理我是用TreeTaggerhttp://www.ims.uni-stuttgart.de/projekte/corplex/TreeTagger/DecisionTreeTagger.html,有可以在MacOSX下執行的shell程式庫。


最後由 linjacky 於 04/30/2005 6:25 pm 編輯,總共編輯了 1 次。

回頂端
 個人資料  
 
文章發表於 : 04/28/2005 12:04 am 
離線
討論區管理員
頭像

註冊時間: 05/02/2001 1:01 am
文章: 1297
linjacky 寫:
我因為研究需要,希望給我用Apache+PHP+MySQL做的內容管理系統加入中文斷詞的功能,於是我在網路上發現這個Perl程式下的中文自然語言處理模組:
Lingua::ZH::TaBEhttp://blog.autrijus.org/archives/000023.html
但是作者表示需要先安裝libtabe函式庫:
libtabeftp://xcin.linux.org.tw/pub/xcin/libtabe/devel/

libtabe這好像是一個Linux/X-Win下的中文詞庫(這兩個我都不熟),我在網路上爬文的結果,找到安裝libtabe0.2.6 for MacOX http://libtabe.darwinports.com/

依照指示先安裝DawrinPorts http://darwinports.com/
然後安裝了libtabe0.2.6。


我剛仔細檢查過一次之後,發現你做到這邊應該是沒有問題,函示庫的版本號碼也沒錯(2.0.1)。但是,因為 dport 是將檔案安裝在 /opt/local 下面,你必須確定你下面的 perl 模組在編譯時會去搜尋 /opt/local 下面的函示庫,不然就會出現你遇到的這個問題。

先改看看你的 Makefile.PL 好了。

linjacky 寫:
然後依照Install Perl 5.8 on Jaguarhttp://developer.apple.com/internet/opensource/perl.html的指示,安裝了CPAN

接著使用CPAN安裝Lingua::ZH::TaBE模組時,卻還是出現:
"This modules needs libtabe version 0.2.5 or above installed; please
install it from ftp://xcin.linux.org.tw/pub/xcin/libtabe/devel/ before
running Makefile.PL."


Perl 的問題應該請謝大人回答才對...

_________________
[digdog dig];


回頂端
 個人資料  
 
文章發表於 : 04/28/2005 12:13 am 
離線
討論區管理員
頭像

註冊時間: 05/01/2001 1:01 am
文章: 960
來自: 邪教組織 #osxchat
linjacky 寫:
接著使用CPAN安裝Lingua::ZH::TaBE模組時,卻還是出現:
"This modules needs libtabe version 0.2.5 or above installed; please
install it from ftp://xcin.linux.org.tw/pub/xcin/libtabe/devel/ before
running Makefile.PL."


連絡作者 autrijus 完畢 (據說有 mac 但是沒在用... LOL)。

09:19 <@autrijus> mjhsieh: ok... fixed
09:19 <@autrijus> will upload to CPAN soon

所以相信很快就會在 CPAN 上出現了。感謝 autrijus
如果急的話從這邊下載:
http://autrijus.org/dist/Lingua-ZH-TaBE-0.06.tar.gz

_________________
void
sched_init(void){
printf("standard timeslicing quantum is %d us\n", std_quantum_us);
}


回頂端
 個人資料  
 
文章發表於 : 04/28/2005 10:26 pm 
離線
留言破百

註冊時間: 04/30/2001 1:01 am
文章: 191
來自: 台灣
謝孟叡 寫:
linjacky 寫:
接著使用CPAN安裝Lingua::ZH::TaBE模組時,卻還是出現:
"This modules needs libtabe version 0.2.5 or above installed; please
install it from ftp://xcin.linux.org.tw/pub/xcin/libtabe/devel/ before
running Makefile.PL."


連絡作者 autrijus 完畢 (據說有 mac 但是沒在用... LOL)。

09:19 <@autrijus> mjhsieh: ok... fixed
09:19 <@autrijus> will upload to CPAN soon

所以相信很快就會在 CPAN 上出現了。感謝 autrijus
如果急的話從這邊下載:
http://autrijus.org/dist/Lingua-ZH-TaBE-0.06.tar.gz

感激感激,我稍後再試試。
之前我本來想嘗試直接編譯安裝libtabe,但發現這個模組要用到DB3, 又得先安裝DB3, 而Darwin Port已經有了,所以放棄改回使用Darwin Port。
我猜也是Perl沒捉到Darwin Port編譯好的模組,但我是UNIX白痴,只能照網路上的資料嘗試安裝。我有嚐試將 /opt/local/lib 與 /opt/local/include 下的檔案連結到 /usr/local/lib 與 /usr/local/include ,不過後來還是沒解決,檔案被我弄亂了,想要把之前硬碟備份的dmg檔案還原再重裝一次,Firewire外接盒卻掛了硬碟抓不到。真是屋漏偏逢連夜雨。
在一次感激。


回頂端
 個人資料  
 
 文章主題 : 還是不行?
文章發表於 : 04/30/2005 6:59 pm 
離線
留言破百

註冊時間: 04/30/2001 1:01 am
文章: 191
來自: 台灣
解決了外接硬碟問題,重新安裝好之前備份的磁碟影像,更新到10.3.9,安裝好X11, XCode 1.5, Darwin Port, CPAN之後,雖然CPAN已經可以抓到Lingua::ZH::TaBE 0.06,但是還是不能安裝:

Checking if your kit is complete...
Looks good
Note (probably harmless): No library found for -ldb3
Writing Makefile for Lingua::ZH::TaBE
cp lib/Lingua/ZH/TaBE.pm blib/lib/Lingua/ZH/TaBE.pm
/usr/bin/perl /System/Library/Perl/5.8.1/ExtUtils/xsubpp -typemap /System/Library/Perl/5.8.1/ExtUtils/typemap -typemap typemap TaBE.xs > TaBE.xsc && mv TaBE.xsc TaBE.c
Please specify prototyping behavior for TaBE.xs (see perlxs manual)
cc -c /usr/local/include -I/usr/include -I/usr/X11R6/include -I/usr/local/include/tabe -I/usr/local/tabe/include -I/usr/local/db/BerkeleyDB/include -I/opt/local/include -I/sw/local/include -I/Users/linjacky/.cpan/build/Lingua-ZH-TaBE-0.06 -g -pipe -pipe -fno-common -DPERL_DARWIN -no-cpp-precomp -fno-strict-aliasing -I/usr/local/include -Os -DVERSION=\"0.06\" -DXS_VERSION=\"0.06\" "-I/System/Library/Perl/5.8.1/darwin-thread-multi-2level/CORE" TaBE.c
cc: /usr/local/include: No such file or directory
make: *** [TaBE.o] Error 1
/usr/bin/make -- NOT OK
Running make test
Can't test without successful make
Running make install
make had returned bad status, install seems impossible

好像還是沒抓到/opt/locak/lib 與 /opt/local/include 底下的db3與libtabe
請問是要更改Lingua-ZH-TaBE-0.06/Makefile.PL 嗎?如何修改?
還是要手動建立/usr/local/lib與/usr/local/include, 然後把/opt/locak/lib 與 /opt/locak/include 連結過來?
謝謝。


回頂端
 個人資料  
 
文章發表於 : 05/01/2005 7:55 pm 
離線
討論區管理員
頭像

註冊時間: 05/02/2001 1:01 am
文章: 1297
代碼:
% perl Makefile.PL

應該會生出一個 Makefile,你把這個檔案刪掉,然後來這邊抓新的︰
代碼:
% curl -O http://removed

接著︰
代碼:
% make

應該就會開始編譯。

這是沒辦法的辦法,因為我也看不懂 Makefile.PL。

_________________
[digdog dig];


最後由 digdog 於 05/02/2005 12:51 am 編輯,總共編輯了 1 次。

回頂端
 個人資料  
 
文章發表於 : 05/01/2005 10:31 pm 
離線
留言破百

註冊時間: 04/30/2001 1:01 am
文章: 191
來自: 台灣
digdog 寫:
代碼:
% perl Makefile.PL

應該會生出一個 Makefile,你把這個檔案刪掉,然後來這邊抓新的︰
代碼:
% curl -O http://removed

接著︰
代碼:
% make

應該就會開始編譯。

這是沒辦法的辦法,因為我也看不懂 Makefile.PL。

我再試試看,謝謝。
結果,失敗:
CBAatCAADLab:~/.cpan/build/Lingua-ZH-TaBE-0.06 linjacky$ make
make: *** No rule to make target `/System/Library/Perl/5.8.6/darwin-thread-multi-2level/Config.pm', needed by `Makefile'. Stop.


回頂端
 個人資料  
 
文章發表於 : 05/02/2005 12:51 am 
離線
討論區管理員
頭像

註冊時間: 05/02/2001 1:01 am
文章: 1297
因為我用的是 10.4....

那你要自力救濟一下,我把我的 Makefile.diff 放在這裡,抓回去自己比對一下,修改你用 Makefile.PL 生出來的 Makefile 檔。



如果還不行的話,你乾脆換研究主題好了,這樣問題馬上解決。

_________________
[digdog dig];


回頂端
 個人資料  
 
 文章主題 :
文章發表於 : 05/02/2005 9:21 am 
離線
討論區管理員
頭像

註冊時間: 05/18/2001 1:01 am
文章: 2475
來自: Forgotten Realm
在下不懂 Perl,不過上面的 Make 記錄中,

引言回覆:
cc -c /usr/local/include -I/usr/include -I/usr/X11R6/include -I/usr/local/include/tabe -I/usr/local/tabe/include -I/usr/local/db/BerkeleyDB/include -I/opt/local/include -I/sw/local/include -I/Users/linjacky/.cpan/build/Lingua-ZH-TaBE-0.06 -g -pipe -pipe -fno-common -DPERL_DARWIN -no-cpp-precomp -fno-strict-aliasing -I/usr/local/include -Os -DVERSION=\"0.06\" -DXS_VERSION=\"0.06\" "-I/System/Library/Perl/5.8.1/darwin-thread-multi-2level/CORE" TaBE.c


這一行是不是怪怪的?變成要 cc 去 Compile /usr/local/include 這個檔案了。
理論上應該寫成

引言回覆:
cc -c -I/usr/local/include -I/usr/include -I/usr/X11R6/include -I/usr/local/include/tabe -I/usr/local/tabe/include -I/usr/local/db/BerkeleyDB/include -I/opt/local/include -I/sw/local/include -I/Users/linjacky/.cpan/build/Lingua-ZH-TaBE-0.06 -g -pipe -pipe -fno-common -DPERL_DARWIN -no-cpp-precomp -fno-strict-aliasing -I/usr/local/include -Os -DVERSION=\"0.06\" -DXS_VERSION=\"0.06\" "-I/System/Library/Perl/5.8.1/darwin-thread-multi-2level/CORE" TaBE.c


這樣才對吧。digdog 給的 Makefile.diff 第 19 行也是一樣沒有在 /opt/local/include 前面加上 -I 參數。

_________________
ash nazg durbatuluk, ash nazg gimbatul,
ash nazg thrakatuluk agh burzum-ishi krimpatul.


回頂端
 個人資料  
 
 文章主題 :
文章發表於 : 05/03/2005 12:28 am 
離線
留言破百

註冊時間: 04/30/2001 1:01 am
文章: 191
來自: 台灣
我先把Darwin Port編譯的db3與libtabe目錄連到/usr/local/lib及/usr/local/include:

Lin-Jacky:/usr/local/Lingua-ZH-TaBE-0.06 linjacky$ sudo mkdir -p /usr/local/lib /usr/local/include
Lin-Jacky:/usr/local/Lingua-ZH-TaBE-0.06 linjacky$ sudo ln -s /opt/local/lib/libdb-3.3.a /usr/local/lib/libdb.aLin-Jacky:/usr/local/Lingua-ZH-TaBE-0.06 linjacky$ sudo ln -s /opt/local/include/db3/*.h /usr/local/include/


再先把Makefile.PL這個部份,加進Darwin Port編譯的db3與libtabe目錄
my @libs = grep defined, qw(
/usr/local/lib
/usr/lib
/usr/X11R6/lib
/usr/local/lib/tabe
/usr/local/tabe/lib
/usr/local/db/BerkeleyDB/lib
/opt/local/lib
/opt/local/lib/tabe
/opt/local/include
/opt/local/include/db3

/sw/local/lib
), Cwd::cwd(), $ENV{TABE_LIB};

然後產生Makefile

Lin-Jacky:/usr/local/Lingua-ZH-TaBE-0.06 linjacky$ perl Makefile.PL
Type "perl Makefile.PL DB=db2" if you want use DB2 (or DB=db4 for DB4),
Otherwise, TaBE.pm will be linked with DB3.

Checking if your kit is complete...
Looks good
Note (probably harmless): No library found for -ldb3
Writing Makefile for Lingua::ZH::TaBE

好像還是找不到db3,繼續make看看

Lin-Jacky:/usr/local/Lingua-ZH-TaBE-0.06 linjacky$ sudo make
Password:
cp lib/Lingua/ZH/TaBE.pm blib/lib/Lingua/ZH/TaBE.pm
/usr/bin/perl /System/Library/Perl/5.8.1/ExtUtils/xsubpp -typemap /System/Library/Perl/5.8.1/ExtUtils/typemap -typemap typemap TaBE.xs > TaBE.xsc && mv TaBE.xsc TaBE.c
Please specify prototyping behavior for TaBE.xs (see perlxs manual)
cc -c -I/usr/local/include -I/usr/include -I/usr/X11R6/include -I/usr/local/include/tabe -I/usr/local/tabe/include -I/usr/local/db/BerkeleyDB/include -I/opt/local/include -I/opt/local/include/tabe -I/opt/local/include -I/opt/local/include/db3 -I/sw/local/include -I/usr/local/Lingua-ZH-TaBE-0.06 -g -pipe -pipe -fno-common -DPERL_DARWIN -no-cpp-precomp -fno-strict-aliasing -I/usr/local/include -Os -DVERSION=\"0.06\" -DXS_VERSION=\"0.06\" "-I/System/Library/Perl/5.8.1/darwin-thread-multi-2level/CORE" TaBE.c
Running Mkbootstrap for Lingua::ZH::TaBE ()
chmod 644 TaBE.bs
rm -f blib/arch/auto/Lingua/ZH/TaBE/TaBE.bundle
LD_RUN_PATH="/opt/local/lib" env MACOSX_DEPLOYMENT_TARGET=10.3 cc -bundle -undefined dynamic_lookup -L/usr/local/lib TaBE.o -o blib/arch/auto/Lingua/ZH/TaBE/TaBE.bundle -L/usr/lib -L/usr/X11R6/lib -L/opt/local/lib -L/opt/local/lib/tabe -L/opt/local/include -L/opt/local/include/db3 -L/usr/local/Lingua-ZH-TaBE-0.06 -ltabe
ld: warning -L: directory name (/usr/local/lib) does not exist
chmod 755 blib/arch/auto/Lingua/ZH/TaBE/TaBE.bundle
cp TaBE.bs blib/arch/auto/Lingua/ZH/TaBE/TaBE.bs
chmod 644 blib/arch/auto/Lingua/ZH/TaBE/TaBE.bs
Manifying blib/man3/Lingua::ZH::TaBE.3pm
lib/Lingua/ZH/TaBE.pm:325: Unknown command paragraph "=encoding big5"

出現一個錯誤,所以make test也失敗

Lin-Jacky:/usr/local/Lingua-ZH-TaBE-0.06 linjacky$ sudo make test
PERL_DL_NONLAZY=1 /usr/bin/perl "-MExtUtils::Command::MM" "-e" "test_harness(0, 'blib/lib', 'blib/arch')" t/*.t
t/1-basic....dubious
Test returned status 0 (wstat 10, 0xa)
DIED. FAILED tests 4-14
Failed 11/14 tests, 21.43% okay
Failed Test Stat Wstat Total Fail Failed List of Failed
-------------------------------------------------------------------------------
t/1-basic.t 0 10 14 22 157.14% 4-14
Failed 1/1 test scripts, 0.00% okay. 11/14 subtests failed, 21.43% okay.
make: *** [test_dynamic] Error 2

還是試試看install

Lin-Jacky:/usr/local/Lingua-ZH-TaBE-0.06 linjacky$ sudo make install
Installing /Library/Perl/5.8.1/darwin-thread-multi-2level/auto/Lingua/ZH/TaBE/TaBE.bs
Installing /Library/Perl/5.8.1/darwin-thread-multi-2level/auto/Lingua/ZH/TaBE/TaBE.bundle
Files found in blib/arch: installing files in blib/lib into architecture dependent library tree
Installing /Library/Perl/5.8.1/darwin-thread-multi-2level/Lingua/ZH/TaBE.pm
Installing /man/man3/Lingua::ZH::TaBE.3pm
Writing ///Library/Perl/5.8.1/darwin-thread-multi-2level/auto/Lingua/ZH/TaBE/.packlist
Appending installation info to ///System/Library/Perl/5.8.1/darwin-thread-multi-2level/perllocal.pod

之後試著執行以下腳本
#! /usr/bin/perl

use Lingua::ZH::TaBE;

my $tabe = Lingua::ZH::TaBE->new;

print join(',', $tabe->split(
"可以輕易解決中文的斷詞問題"
));

結果出現錯誤:
Lin-Jacky:~/Desktop linjacky$ perl test.PL
Bus error


回頂端
 個人資料  
 
 文章主題 :
文章發表於 : 05/13/2005 6:55 pm 
離線
新生訓練中

註冊時間: 05/02/2005 2:32 pm
文章: 8
如果一直在這部分打轉走不出來的話,建議試試這個 web service: http://ckipsvr.iis.sinica.edu.tw/


回頂端
 個人資料  
 
 文章主題 :
文章發表於 : 05/13/2005 11:35 pm 
離線
留言破百

註冊時間: 04/30/2001 1:01 am
文章: 191
來自: 台灣
b6s 寫:
如果一直在這部分打轉走不出來的話,建議試試這個 web service: http://ckipsvr.iis.sinica.edu.tw/

謝謝,中研院的這個程式我知道,前幾週還抽空去參加他們的工作營。不過看來他們很保護自己的著作權與研究成果,不願意釋放出可以獨立執行的API,有點令人失望就是。幸運的是他們有提供TCP/Scoket的方式以XML形式連線處理,原則上可以線上處理,但還是得花時間去K如何用PHP來連線就是。

因為本來想online的方式處理,同時盡量用open source的資源。英文有Open Source的Tree Tagger可以在Unix/Linux/OSX下執行的API,中研院的研究好像只授權給付費的商業用途。


回頂端
 個人資料  
 
顯示文章 :  排序  
發表新文章 回覆主題  [ 12 篇文章 ] 

所有顯示的時間為 UTC + 8 小時


不能 在這個版面發表主題
不能 在這個版面回覆主題
不能 在這個版面編輯您的文章
不能 在這個版面刪除您的文章
不能 在這個版面上傳附加檔案

搜尋:
前往 :  
cron
POWERED_BY
正體中文語系由 竹貓星球 維護製作