Page 1 of 7812345678102030...Last »

『轉載』江蘇考生駢體文言高考作文

中文與漢字, 精華轉載 17 Comments »251 views

江浙之地真是人才輩出,今年江蘇理科生王雲飛用文言寫了一篇駢體散文《綠色生活》。其中有大量古字,用法得體,能在高考考場上寫出實屬不易。有專家評論稱此人文言造詣堪比古文獻學研究生,建議破格錄取。

看過此文之後,着實令我汗顏。暫且不論文章如何,能用這麼多古字,可見此人訓詁學水平非同一般。但另一方面說來,畢竟還是有賣弄之嫌,因爲就連古人也很少用這麼多古字、典故。無論如何,作爲我的同齡人,我還是倍感欽佩。

下面是全文轉載

呱呱小兒,但飲牛湩(dòng),至於弱冠,不明犍狀。佌佌(cǐ)之豚, 日食其羓(bā)。洎(jì)其成立,未識豜豭(jiān jiā)。每嚙毚(chán)臑(nào),然竟不知其夋兔(qun)之三窟也。方彼之時,窋(zhú)詫之態,非闠闠 (huánhuì)之中所得見也。

今北方久熰(ōu),瀵(fèn)氿(guǐ)甃(zhòu)眢(yuān),坌(bèn)坲坲(fó),燾天幠(hū)日。土地皴崩,罅可容人。南疆霶霈,洚水肆虐,當此之滈,茅舍盡走。欲苫(shàn)不能,啼口立(同泣)啾啾。

凡此異態,非天之咎。

君不見斵(zhuó)楩(pián)焚樟,岵(hù)之為屺(qǐ),睇眄(miàn)之下,萬山盡屼(wù),百尺篔(yún)簹,化為竹著。於彼幼蛇,匌(gé)不盈寸,巴蛇王虺(huǐ),盡化柈(pán)饈。玈(lu)氣烰烰,上格瑤池,貧地徠賈,以豐其貲(zī)。然千丈方圓,萊菔不生,九天之上,星河不見。

嗚呼!漫山設棙,遍地盡罘。此天災也?人禍也!河海黟(yī)然,濁水仍傾,此天災也?人禍也!斵木[算刂]竹,彍(guō)弮(juàn)待獸,以至鹿不得走,翬不得飛,蟻不得宭(qún),髬髵不見。此天災也?人禍也!

翕合沴(lì)氣,終日涽涽。天不復藍,水不復清。未有烏雲,天何暝暝?赤烏既出,焜耀無復。看天下,鳥飛不下,鮮見狉狉,當此之時,何處貣青天?

所幸者,人知之也,人更之也。然,上作網法,下偩幾何未可知也。

今天下多災。北國井冞(shēn),陣主復至,當與孔張俱歾(mò)。南域之霖,大禹洊存,只得扼腕而歎息。人不咎己而咎旱魃,不誚(qiào)己而諑共工。未之可也。闤闠所趨,不可恈恈。當思子孫後代,人己知之。然行之效,則體躆廟堂者思之,媕娿(ān ē)之徒,棄不婟(hù)嫪,國之大蠹,捐而必究。

吾所思者,河泮水墺,楊槐蓁蓁,町疃(tuǎn),柳榆其秝(lì)。苾葌柅柅遊屮(chè)葳蕤,見柳而人不攦,視草而眾不蹸,日駕雙軑(dai)之車,斐斐閭巷之間,目不復睺,鼻不再鼽(qiú),鳥不驚人,鮒遊沴然。

人者,天地孕育。今其反萬物,此獍也。今其不宜瞡瞡,遺禍搙孫,當修長遠之道以藾萬世。

今吾執筆於此,所思者,舍旁早蟠一株,今當唪唪,攲枝水上,當復駕舴艋,擅其落桃,投於苙。坐銀杏樹下,觀兒童嬉於樹下,延於磚祴(gāi),搤(è) 腕而惜水中未置菱藕幾株。燠(yù)熱之時,而可摘菱冣(zuì)菂,爇之為饘(zhān),以奉親房。

标签:, , , , , , ,

Open Chinese Convert 開源簡繁轉換

中文與漢字, 設計開發 15 Comments »326 views

Open Chinese Convert(OpenCC)是一個中文簡繁轉換開源項目,提供簡繁轉換詞庫和可供程序調用的程序庫(libopencc)。現託管於Google Code

關於簡繁轉換

由於種種歷史問題,漢字系統被割裂爲「簡化字」和「繁體字」,然而「簡化字」並不能完全取代原有的繁體字,一方面是由於古籍、書法、文字學的研究需要,另一方面則是港澳臺日韓越及其他海外地區「簡化字」並不通行。隨着信息技術的發展,這方面的需求不斷突出,因此簡繁轉換便成了一個信息技術界和中文研究界需要共同解決的問題。

精確的簡繁轉換一直以來是一個難題,其原因主要是簡體和繁體互有一對多的現象,而具體用字對應規則需要聯繫上下文分析語義纔能確定。而廣義的「簡繁轉換」,還包括了不同地域習慣用字和用詞差異的轉換(如「软件」「軟體」等),甚至詞和詞之間也有「一對多」的關係,因而使轉換更加複雜。目前現有的簡繁轉換軟件,即使是專業的(收費),也不能完全解決這些問題,在開源界能接近其水平的更是寥寥無幾。因此OpenCC的誕生,就是爲了儘可能地解決這個難題。

一些概念

漢字(據不完全統計)有十萬之眾,「簡化字」非但沒有減少漢字數量,反而使漢字數量更加龐大。雖然日常用到的字祇有數千,且有着複雜的關係。要做好簡繁轉換,必須理解這之中的許多關係與微妙的差別

「異體字」

由於漢字造字年代久遠,且非一人一時之所造,通行時間又爲世界之最,流變眾多,許多字並非祇有一種寫法,如「為爲」「朵朶」「畫畵」「污汚汙」等等。這些字祇是寫法不同,而沒有任何表意的區別,因此被稱爲「異體字」。狹義的異體字是沒有任何表意的區別的一組字,而廣義的異體字還包含了表意範圍有交叉或所屬關係的字以及「通假字」。下文中的異體字全部是狹義的異體字

需要注意的是「通假字」祇是同音假借,本字和被假借字可能意義完全不同,因而不是異體字。而「訛字」和「俗字」(絕大多數)則屬於異體字。例如「繫」字在傳抄的時候,左上角被寫成了「車」,然後以訛傳訛,就產生了訛字「繋」。「俗字」或稱「俗體字」是民間通行的一種變體,許多俗字就是筆畫較爲減省的異體字,也有很多來自訛字。

「繁體字」「簡體字」「簡化字」

嚴格地說,「繁體字」和「簡體字」是異體字關係,「繁體字」是相對「簡體字」而創造的概念。「簡體字」這一名稱,始見於1935年民國教育部總結的一批「古已有之」、「歷代通行」的「筆劃較少的」異體字。這批簡體字主要蒐集自民間話本「述而不作」地整理出,沒有類推造字。

「簡化字」,顧名思義則是人工簡化的字,這個概念的產生與近代「漢字改革」思潮有關,最早見於錢玄同的文中。1964年,中國文字改革委員會出版了《簡化字總表》(不是「簡體字總表」),簡化字開始在中國大陸流行開來。1977年,中央又發佈《第二次漢字簡化方案》,1986年被廢除,史稱「二簡字」。慢慢「簡化字」這一概念就被固定下來,專指中國大陸推行的簡化字

可見「簡體字」並不等於「簡化字」,前者強調異體關係,後者強調簡化關係。而現在這兩個概念趨於混淆,乃至用「簡體字」表達「簡化字」的意義更常見,其主要原因是由於另一個詞彙「簡體中文」的出現。比起中文的混淆,英文解釋更加清楚:「簡化字」的英文翻譯是「simplified Chinese characters」(簡化過的漢字),simplified源自動詞simplify簡化。「簡體字」由於概念不常見,沒有公認的正式翻譯,有一種譯 作「simpler variants of Chinese characters」(較簡單的漢字變體)。

由於「簡體字」和「繁體字」本身存在對立關係,繁體字也就慢慢變成專指港澳臺用字了。事實上港澳臺用字也不盡相同,如「裏」「裡」等,於是又有了「港澳繁體」「臺灣正體」等名字。

已有項目的缺陷

OpenCC的的誕生並不是輪子的重複發明,而是爲了實現一個更好的簡繁轉 換計劃,因爲目前已有的各種項目,或多或少地有着各種缺陷。

Wikipedia

毫無疑問最廣爲人知的簡繁轉換項目莫過於Wikipedia提供的簡繁轉換表。Wikipedia有效地利用了分散的人力,整理出了一個數量不小的表格,其優點在於*詳細地區分了簡繁轉換和地域轉換。但是也有許多不足:

  1. 異體字處理混亂,「一簡對多異」被當作「一簡對多繁」處理。如「为」對應「爲為」。
  2. 一簡對多繁有眾多爭議,處理不統一,時分時不分。如「卷烟」「烟卷」分別用了「煙」和「菸」。
  3. 有大量不成詞的「詞」,祇爲正向最大轉換優化,不兼容別的分詞算法。如「们斗了胆」「們斗了膽」。
  4. 專爲Wikipedia設計,依賴編輯的人工干預。
  5. 一般非地域轉換中「着」被併入「著」,不符合香港、海外等地用字習慣。

使Wikipedia做出改變較難,尤其是在這種民主的管理模式下,多數人(臺灣)可能會毫不顧及少數人(香港)。

cconv

cconv是另一個簡繁轉換的項目,較早開發,有一定的用戶。缺陷很明顯:

  1. 簡繁轉換和地域轉換混同一談。
  2. 完全沒有處理異體字。
  3. 功能雜糅了編碼轉換和簡繁轉換,不易剝離。
  4. 簡繁轉換數據被編譯到庫中,無法修改和擴展(除非重新編譯)。
  5. GPL協議發佈,對開發者限制較大。
  6. 目前長期無人維護。

OpenCC 的特點和方法

OpenCC特點

  • 嚴格區分「一簡對多繁」和「一簡對多異」。
  • 完全兼容異體字,可以實現動態替換。
  • 嚴格審校一簡對多繁詞條,原則爲「能分則不合」。
  • 使用歧義分割+最少分詞算法,儘可能從技術上優化轉換效果。
  • 詞庫和程序庫完全分離,可以自由修改、導入、擴展。
  • 以Apache開源協議發佈,使開發者真正可以自由使用。
  • 已經用於ibus-pinyin的繁體模式輸入,由ibus開發組長期協助維護。
  • 支持 C,C++,Python,PHP等多種語言調用,命令行直接調用,以及圖形界面(開發中)。

解釋

OpenCC有獨立的「一簡對多繁」表、「一繁對多簡」表和異體字表,保證沒有混雜着異體字。而且可以方便地自定義地區習慣使用的異體字,兼容臺灣、香港和海外地區不同的習慣。

簡繁轉換詞庫中數萬詞彙經過校對,最大可能地保證轉換準確性,用字原則爲「能分則不合」。舉例如「臺」「檯」「台」,在臺灣習慣中,有合流爲「台」的現象,但其意義界限明顯,故OpenCC從分,(具體見此列表)。根據不同的習慣,也可以設定爲合流。

簡繁轉換功能的核心算法爲歧義分割+最少分詞,簡單解釋爲首先掃描待轉換字符串,分割成若干個有歧義的區間(即每個區間內可以有多種分詞方案),然後對每個區間的字內構造圖論模型,使用最短路徑算法求出最優分割方案,然後對分詞的結果每部分進行轉換。這種算法不僅準確性高於直接正向掃描轉換,而且速度也很快,測試中每秒可以轉換8.4MB文本(UTF8編碼,內容爲小說,速度僅供參考)。

OpenCC把詞庫和程序庫完全分離,程序庫可以讀取兩種格式的詞庫,一種爲Tab分割的平面文本,一種爲OpenCC專門優化過的數據結構,ocd格式。平面文本數據庫格式方便閱讀和修改,ocd格式是OpenCC構造出的Double Array Trie數據結構,使用其可以大大提供轉換速度。OpenCC還提供了詞庫轉換程序,可以自由在兩種格式之間轉換。

OpenCC程序庫提供了C,C++,Python,PHP等語言的接口,便於在任何環境下使用,此外還提供了命令行直接調用的模式,圖形界面也在開發當中。

詞庫來源

OpenCC的繁體到簡體轉換的詞庫是由單字對應人工校對後生成的,單字對應數據來自Unicode數據庫以及人工的覈對和修改。簡體到繁體的詞庫由大量的繁體語料自動轉換到簡體然後校對而成。

參考資料

歡迎試用和加入

如果感興趣,可以先在綫試用一下, 然後安 裝到你的系統

開源非一人之力,有眾人的支持纔能做得更好。歡迎有意者加入開發,歡迎中文專業者和愛好者加入詞庫審校工作。

如有任何問題或建議,請到 http://code.google.com/p/open-chinese-convert/issues/entry 報告。或者可以直接與BYVoid取得聯繫

标签:, , , ,

分布式版本控制系统——Mercurial

Linux 7 Comments »197 views

最近惊喜的发现,Google Code的项目设置的“Version control system:”中多了一个名叫的“Mercurial”的选项,而不再仅仅是唯一的的一个选项:Subversion。心血来潮,于是决定试用一下。

Mercurial和Subversion简直是不能相提并论的,因为Mercurial是“分布式版本控制工具(DVSC)”,而Subversion是“集中式版本控制工具”。什么意思呢?用过Subversion的都知道,使用Subversion必须有一个中央服务器来存储代码,每个开发人员都要有一个客户端,从服务器上取得代码拷贝,本地修改后再提交到中央服务器。而Mercurial则不需要这么一个中央服务器的存在(也可以有),也就是说,每个开发者都在本地代码仓库中存取、修改,没有任何一个代码仓库更有权威性。这有什么好处?我觉得最大的一点是,使用分布式版本控制工具可以自由地修改代码,而不必担心会影响到别人,因为无论怎么改代码都是存储在本地的。同样原因的另一各好处就是可以自由地在不联网时控制版本库,而开发者之间的写作只需要在联网时进行即可。当然我只能简单说说了,更多的不同推荐阅读一下这篇为什么我们要放弃Subversion。当然Mercurial并不是唯一的一种分布式版本控制工具,还有强大的git。ibus和ibus-pinyin的开发,就是用的git作为版本控制工具。有过git使用经验的我感觉的Mercurial并不是很难,如果没有经验的话就不好说了,因为有很多概念和传统的SVN不同,需要一段时间适应。推荐一篇入门文章:分布式的,新一代版本控制系统Mercurial的介绍及简要入门。Mercurial命令行工具名字是hg,都是“汞”的意思。

很高兴能够看到Google Code开始支持分布式版本控制工具了,但至于Google为什么选择了Mercurial而不是Git,有一篇文章介绍Git 與 Mercurial 的分析。说了这么多,到底怎么在Google Code上用Mercurial呢?我的项目已经有SVN作为管理工具了,首先要解决的问题是把SVN上面原有的代码移植到Mercurial上,当然简单的方法是把最新的版本直接提交到Mercurial版本库,但我想要留下SVN上所有的版本提交记录,这里有一篇文章讲得很好 在Google Code上用 Mercurial 取代 Subversion 管理你的项目”

作为分布式版本控制工具,自然会有很多分支,而分支之间错综复杂的关系如果没有一个图形化的工具是很难阅览的。著名的git开源托管网站github.com提供了在线的分支网络阅览功能,因此可以一目了然(如下图),但Google Code就没有这么好的功能了,因此还依赖一个本地的图形化工具。

找来找去,找到了小乌龟TortoiseHg。TortoiseHg本身是一个面向Windows平台的工具,和TortoiseSVN,TortoiseGit一样。高兴地发现它是GTK+写的,因此也提供了Linux版本。我在Ubuntu下使用apt-get install tortoisehg就安装了,按照网上提供的方法,再安装一个python-nautilus,然后将集成tortoisehg到nautilus

mkdir -p ~/.nautilus/tortoisehg/src/ 
cd ~/.nautilus/tortoisehg/src/
hg clone https://bitbucket.org/tortoisehg/stable tortoisehg
mkdir -p ~/.nautilus/python-extensions/
ln -s ~/.nautilus/tortoisehg/src/tortoisehg/contrib/nautilus-thg.py ~/.nautilus/python-extensions/

之后重新登录,或者使用nautilus -q重启nautilus引擎即可。但是我按照此方法安装后却发现不能正常使用,而且没有任何错误提示。于是又Google半天,终于找到了解决方法。在终端中使用tail -f ~/.xsession-errors,再次在文件浏览器中点击菜单中TortoiseHg的功能,这时终端中显示出了如下信息:

abort: This version of TortoiseHg requires Mercurial version 1.5.n to 1.6.n, but finds 1.4.3

原来是Ubuntu官方源中Mercurial版本太低了,因此我使用了ppa的源:

sudo add-apt-repository ppa:tortoisehg-ppa/releases
sudo add-apt-repository ppa:mercurial-ppa/releases
sudo apt-get update
sudo apt-get install mercurial python-nautilus tortoisehg

再次打开,已经安装成功。

标签:, , , , , , ,

ibus-pinyin注音模式新特性

Linux, 設計開發 4 Comments »285 views

前一段時間ibus-pinyin注音模式發布以後,得到了來自Ubuntu正體中文站Plurk的朋友們熱烈的關注,對此我感到非常榮幸。限於當時開發倉促,很多功能都沒有很好地實現,不過我還是得到了許多寶貴的意見反饋,基於此我公布了「注音模式用戶交互設計方案」,並依據其改善了用戶交互模式。在1.3.9穩定版發布前夕,我先向大家介紹一下ibus-pinyin注音模式的新特性。

本次更新最大的改動是加入了「引導鍵」選詞模式。什麼是「引導鍵」呢?「引導鍵」就是在輸入模式下的空格鍵(或曰「空白鍵」)。在輸入模式下,按下空格鍵,就會進入選詞模式,這時候按鍵響應會優先被處理爲選詞。選詞模式下可以直接按下候選詞標籤對應的按鍵進行選詞,也再次按下空格選擇光標所在位置的候選詞,按上下方向鍵可以移動光標位置。

在輸入模式中,候選詞前面的標籤是灰色的,而且不顯示光標位置。當按下空格鍵、上下方向鍵時,可以進入選詞模式。當然如果你想直接選詞,可以按Alt + 選詞鍵,或者可以使用「輔助選詞鍵」。「輔助選詞鍵」爲F1,F2,…F10,以及數字鍵盤上的數字,使用輔助選詞鍵可以在任何時候選詞。

當進入選詞模式後,候選詞標籤顏色變深,並且選詞光標也出現。此時可以直接按候選詞標籤對應的選詞鍵選詞。

應大家要求,我們還加入了選詞鍵設置的選項。如果你不喜歡用數字鍵選詞,可以設置爲其他的按鍵,這個設計承襲自大名鼎鼎的「新酷音」輸入法。

當然了,「引導鍵」選詞只是可選的,如果你喜歡原來那樣的模式(按空格鍵即時選詞),可以在「偏好設定」中關閉「啟用選詞引導鍵」選項。其他特性如「鍵盤映射」、「模糊音」、「自定義詞組」,都可以在偏好設定中找到。

趕快試用一下新版本吧,如果你是Ubuntu用戶,現在已經可以在ppa源中取得新版本,使用方法如下:

sudo add-apt-repository ppa:shawn-p-huang/ppa
sudo apt-get update
sudo apt-get install ibus-gtk ibus-qt4 ibus-pinyin ibus-pinyin-db-open-phrase

設置一次過後今後一旦有新版本就會自動更新,或者使用apt-get install ibus-pinyin強制更新即可。

歡迎大家提出意見或建議,期待您的反饋。

标签:, , , , , ,

Ubuntu下用wine玩魔兽世界

自娛自樂 14 Comments »319 views

不知道该说是Wine强大还是暴雪强大,Wine运行魔兽世界非常顺畅,和Windows下感觉无异。

下图是跨服副本(台服)

标签:, , , ,
25 queries. 0.611 seconds. Designed by NattyWP .
Images by desEXign.