ctext.org入門教程

此教程將會從使用者的角度簡單介紹中國哲學書電子化計劃資料庫和數位圖書館中的主要操作方法,並舉具體的操作實例以便示範系統的主要功能。

教程網址:
英文:https://dsturgeon.net/ctext
中文:https://dsturgeon.net/ctext-zh
日文:https://dsturgeon.net/ctext-ja

首次使用前的設置

  • 建立帳戶:在左手欄目中,往下捲動並點擊“登入”,然後在“若尚未建立本站的帳戶”的表格中輸入您的資料,再點“建立帳戶”。
  • 確認電腦字體是否已安裝:在左上角點“本站介紹”,再點“字體試驗頁”。

書目查詢

  • 使用左手欄目中的“書名檢索”功能。
  • 檢索結果中,“”圖標表示該文獻的內容可以直接連接到對應的掃描影印資料。
  • 此外,檢索結果中可能會看到以下圖標:
    文字版存放於原典資料庫(使用者不能直接編輯)。
    可以編輯的文字版,此文字版本是人工輸入的而不是OCR結果。
    可以編輯的文字版,此文字版本是OCR結果。
    版本的影印掃描資料。
  • 習題:
    • 找出《資暇集》的電子全文。
    • 在原典數據庫中找出先秦兩漢時代的一部經典(如:《莊子》、《荀子》等)。

全文檢索

  • 首先找出并打開想要檢索的文字版翻譯(章節或是卷),點擊 左手欄目下部的“檢索” 框。
  • 習題:
    • 找出《論語》中帶有孔子所說“君子不器”的段落。
    • 找出《莊子》中所有有提到“道”的段落。
  • 當你在文本資料庫中檢索本文得出多個結果時,可以點擊頁面右上部的“顯示統計”鏈接,打開檢索結果的互動摘要。

在主要的掃描資料中找出文本

  • 在ctext中,可以通過影印底本連結來檢索影印資料。當文字版中帶有影印連結時,書名檢索結果中會顯示“”的圖標。
  • 當文本跟掃描檔案有鏈接時,點擊左方文本中任何一個段落的“”圖標,打開對應的掃面版本。
  • 當你要在掃面文本中檢索特定的單詞或是片語,在文字版中檢索對應的單詞或是片語,點擊左方結果中的“”圖標。
  • 文字版中出現的錯誤(特別在OCR得出的文字版中)表示片語越長越不一致。如遇到這個情況,試圖檢索短一點的片語或是想要檢索的文本附近出現的單詞。
  • 習題:
    • 找出有掃描版鏈接的文本,檢索并檢視掃面版中的結果。
    • 在OCR得出的文字版中重複一次。
    • 你也可以從“圖書館”中找出掃描文本,這個檢索跟你檢索文字版鏈接會有完全一致的結果。
    • 或者,你也可以使用鏈接來讀出每一頁的掃描本。

找出與文本片語相似的文本

可以在先秦兩漢以及類書中的文本資料庫使用

  • 找出文本片語,點擊“”圖標,打開相似段落的概要。
  • 在結果一欄中,點擊標題附近的“”圖標,顯示每一個結果和它出現的文脈。
  • 習題:
    • 找出與《莊子》中“庖丁解牛”故事相似的段落。

找出兩段特定文本中的相似段落

可以在先秦兩漢以及類書中的文本資料庫使用

  • 點擊左邊一欄下部的“高級檢索”鏈接。
  • 在“1. 檢索範圍”部分中,選擇第一個種類,文本或是你想要檢索的文本單位。例如,在《莊子》中檢索時,你可以選擇“先秦和漢”,再選“道家”,再選“莊子” (第四個框中保持“[全部]”)。
  • 在“3. 檢索條件”部分中,打鉤“相似段落搜索”下面的框,然後以同樣的方法設定本文範圍(範圍亦可為文本類型、文本整體或文本部分)。
  • 點擊“Search”。結果會顯示所有包含相似段落的文本。
  • 習題:
    • 找出《論語》和“道家”類文獻中所有相似段落。
    • 當你有結果時,點擊“顯示統計”的鏈接。
    • 做同樣的檢索,這一次逆轉“檢索範圍” 和“檢索條件”,然後使用“顯示統計”。

以索引、引得編號檢索

適用於有索引、引得訊息的文本

  • 首先打開文本的頁面。頁面右手方有一個搜索框,對應著每一種支持文本的索引、引得編號。
  • 習題:
    • 在Eric Hutton的這篇論文中,作者使用了ICS系列和哈弗燕京系列中的索引、引得編號來表示文本的引用處,因而沒有直接引用中文文本,例如:


      使用索引、引得編號來找出上面所出《荀子》中對應腳註17的作者翻譯和相關資料的原檔中文。

找出文本中對應的索引、引得編號

適用於有索引、引得訊息的文本

  • 在帶有索引、引得數據的段落左手邊點擊“”圖標。
  • 在段落上移動鼠標會顯示所有對應到鼠標位置的索引、引得編號。
  • 如欲顯示與段落中特定一段的索引、引得編號時,使用鼠標點擊并將其移動到加亮為綠色的文本。所有與加亮文本有交叉的索引、引得編號會隨之顯示出來。
  • 習題:
    • 接著以上習題,找出對應於《荀子》中“人之性惡,其善者偽也。”這一段的索引、引得編號。

文本、翻譯平行檢視

對應帶有英文翻譯的文本。

  • 一般來說,當檢視帶有翻譯的文本時,緊接著中文的一個段落(可能很長),會顯示英語段落。如想讓文本和翻譯更接近地顯示(通常是一句一句),點擊文本片語左方的“”圖標。使用者也可以移動鼠標指針到中文文本來顯示字典信息。
  • 如所檢視的段落較長時,使用者可以先檢索中文句子,再點擊“”圖標如上,直接跳到對應特定中文文本的翻譯。
  • 習題:
    • 使用《莊子》的文本來做實驗。
    • 用這個功能檢視James Legge如何在同一個文本中翻譯“每至於族,吾見其難為,怵然為戒,視為止,行為遲”。

顯示注釋

對應於部分文本,例如《論語》、《孟子》、《墨子》、《道德經》等

  • 點擊文本左方的“”圖標。請注意,注釋本身也是獨立的文本,所以你可以點所顯示的注釋中的鏈接轉到注釋文本。
  • 習題:
    • 使用《論語》、《孟子》、《墨子》或是《道德經》做實驗。

找出或輸入罕見、異體字

  • 打開網站中“字典”的部分。
  • 根據所欲輸入的字的情況可用以可以選擇:
    • 直接輸入(打字)
    • 結構查詢:請參閱字典主頁上的簡要,
    • 部首查詢:先選擇部首,然後按照附加筆畫查看。你可以通過點擊“n strokes”標記來加大顯示中的文字。
  • 習題:
    • 䊫, 𥼺, 𧤴, …:在ctext.org的字典中檢索這些字(要使用上述說明的方法,不要直接從這個頁面複製粘貼)。
  • 小貼士:如果兩種組成部分都不容易輸入的話,你可以輸入包含其成分的任何其他字,通過分解,你可以找出成分,然後可以找出包含有那個特定成分的其他字。
  • ctext上的某些文本中有統一碼中不存在的漢字。這些漢字目前只能通過成分來檢索。
    • 你可以為了在ctext中使用,複製和粘貼在統一碼中不存在的漢字。當統一碼中不存在的漢字被複製時,將會變成“ctext:nnnn”識別符號(例如,ctext:1591)。在其他軟件中粘貼這類字時(例如,在Word等軟體),會粘貼識別符號,而不是字或是圖像。
    • 然而,您可以在ctext中點擊字體的右方並選擇“複製圖像”來複製字的圖像。這個可以粘貼在Word文檔(例如,通過參照“ctext:nnnn”識別符號或是提供網站鏈接)
    • 例子:ctext:4543 ctext:8668 ctext:3000 ctext:335

文本編輯

最有效編輯具有掃描版本的文本方式是通過簡單修改功能。請參閱以下步驟:

  • 找出掃描版中出現傳寫錯誤的掃描頁面。
  • 點擊“簡單修改模式”鏈接。
  • 系統會顯示可直接編輯文字內容的輸入方塊。一般來說,每一行文字對應著掃描圖像中的每一欄文字。
  • 細心修正文本保持與掃描版一致,結束後點擊“保存編輯”。
  • 如果需要輸入空格,請務必使用全角中文空格,而不是英文的半角空格。
  • 習題:
    • 選擇一件透過OCR打造的文本資料,糾正其錯誤。
  • 詳細紀錄文本中每一次的修改並提供換回到更早版本的方法,是任何一種維基系統的基礎–即所謂的“版本控制”。當您保存了修改之後:
    • 點擊“文字版” 鏈接來打開您修改的文本全文
    • 往上捲動,點擊“查看歷史”來顯示最近的歷史紀錄,您最近的修改會顯示在最上邊。
    • 每一行代表著一次修改之後的文本狀態。可以通過在表的左方選擇兩種單選按鈕,並點擊“顯示相差”來比較文本在兩個時刻的狀態。默認選擇會比較文本當前狀態和最新修改前的版本。點擊“顯示相差”來視覺化您剛剛做過的修改。

安裝和使用插件

插件可用以擴展讓網站的使用介面來支持新的功能。最常用的實例包括下載文本資料,連接到第三方提供的字典、工具等。為了使用插件,您必須先安裝插件到您的帳戶中(每一件插件只需做一次)。安裝步驟如下:

  • 打開“本站介紹” > “工具” > “插件”。
  • 找出您想要安裝的插件,點擊“安裝”。
  • 在確認頁面中再點擊“安裝”。

安裝插件之後,當您打開任何在ctext.org支持的對象時(例如, “book” 或是 “chapter”插件對應的是文本章節,“character”和“word”類插件對應的是字典中的漢字或中文單詞),對應的鏈接會顯示在屏幕上方附近的一欄中。
習題:

  • 安裝“全文輸出”插件並使用它輸出文本的一章內容。
  • 安裝“Frequencies”插件並使用它檢視文本章節中出現的漢字的頻率。
  • 安裝任何一個帶有“character” 或是“word”類的插件,在字典中找一個字,使用插件進入外部字典。

進階主題

以下將介紹比較進階的主題,這一些需要額外的努力以及(或是)超過這個教程範圍的附加專業技能。

創造新的插件

插件是為了把ctext.org的使用介面和外部資料(通常是其他網站)相鏈接的XML編碼。用戶可以通過自己的ctext.org帳戶來修改已存在的插件編碼來創造新的插件。如要檢視或修改當前所安裝插件的內容,點擊左邊欄目中的“個人設定”,然後點擊“直接修改個人插件XML檔案”鏈接。

您可以通過複製“<Plugin>…</Plugin>”代碼中的編碼,以及修改複製內容來創造新的插件。您需要從新的插件中移除“”代碼,不然,所輸入的內容將來會被舊插件的新版自動取代。您也可以創造獨立的XML文檔(參閱多數已有的例子),存放到您的服務器,然後安裝到您的ctext.org帳戶。

如果您創建的新插件或是代碼不被ctext介面接受的話,您可以使用W3C Markup Validator來確認您的插件文檔是否有效。一個有效的插件會有綠色的字體寫上“This document was successfully checked as CTPPlugin!”,看起來是這樣的頁面

程序存取

為了文本採礦和數字人文研究,網站中的文本資料可以直接通過Python等程序語言來存取。這需要一些額外的設置和時間來實行(特別對於沒有程序經驗的用戶),不過網路上也有供詳細的介紹

程序存取是通過ctext.org的應用程式介面(API)來實現的,您可以通過任何能夠發送HTTP請求的程式語言或環境實行。本網特別推薦Python,因為您可以通過已有的ctext Python module使用API,這樣可以降低程式開發上所需的時間。除了API的使用說明以外,您可以參考包括具體實例的API函數列單

Creative Commons License
Posted in Chinese, Digital Humanities | Comments Off

中國古代文獻的數位研究工具工作坊

活動時間:2017年12月21日(四) 13:00–17:00
活動地點:國立臺灣大學 集思會議中心尼采廳 台北市羅斯福路四段85號B1
活動說明:本工作坊為實作工作坊,請與會者攜帶個人筆記型電腦參加,以便於更快熟悉相關研究工具
報名網址:https://goo.gl/KBPMGG​ (名額有限,報名從速)​
主辦單位:臺灣大學數位人文研究中心 哈佛大學費正清中國研究中心
協辦單位:臺灣大學圖書館
​聯絡資訊​:臺灣大學數位人文研究中心 胡博士 TEL:02-33669847

工作坊摘要:
  隨著數位技術的日益增強,數位人文工具提供了研究者許多進行古代文獻研究與分析的新方法。這些工具不但具備探索文獻的技術,也讓研究者獲得更多以往未曾發現的文獻脈絡與相互關連,甚至透過電腦收集的資料來反駁或是證明特定的假設。

  但是,使用這些分析方法時,特別是在獲取數位文獻和能夠進行分析的數位工具方面,往往面臨著技術性的挑戰。在本次的實作工作坊中,主講人將詳細介紹如何透過研究工具以減少這些技術性的障礙。

  工作坊的第一部分將介紹全球最大規模的中國古籍文獻全文資料庫—「中國哲學書電子化計劃」。此系統不但提供全文檢索等較常用的功能外,也能使用更進階的方法來達到使用者自定的研究目的,並讓使用者能夠直接參與新文獻的數位化。

  第二部分介紹可用來分析「中國哲學書電子化計劃」中或其它來源文獻的創新分析研究工具。這些工具包括重建資料分析工具、正規表達式的全文檢索,以及各種分析結果的視覺化呈現技術。

Posted in Chinese, Digital Humanities | Comments Off

ctext.orgへの実践的ガイド

本チュートリアルは、 データベース・デジタルライブラリーChinese Text Project中国哲学書電子化計画)における一般的なタスク機能について、ユーザーの目線からまとめたものです。皆さんに参考となりそうなシステムの主要機能に関するタスク事例をご紹介します。

本チュートリアルのオンライン版はこちら:
英語:https://dsturgeon.net/ctext
中国語:https://dsturgeon.net/ctext-zh
日本語:https://dsturgeon.net/ctext-ja

初期設定

  • アカウントの登録:左側のペインを一番下までスクロールダウンしてください。「Log in」をクリックし、「If you do not have an account…」セクションにおいて必要事項を記入してください。
  • フォントサポートを確認:左上の隅に見える「About the site」の下にある「Font test page」をクリックしてください。

テキストを探す

  • 左側のペインにある「Title search」機能をお使いください。
  • 題目検索結果において、「」アイコンが表示されているテキストは、スキャンした資料とリンクしています。
  • 題目検索結果において使用される主なアイコン:
    テキストデータベースにおける複写版(ユーザーは編集不可)
    ユーザーが編集可能な複写版、OCRは使用されていません
    ユーザーが編集可能な複写版、OCRに対応しています
    特定の編集されたテキストのスキャン版
  • 実践:
    • 『資暇集』の複写版を検索してください
    • テキストデータベースにて、先秦もしくは漢のテキストを検索してください。

全文検索

  • まず、検索したいテキスト(もしくは章や巻)を検索し、開いてください。その後、左側のペイン下部にある「Search」というボックスを使用してください。
  • 実践:
    • 『論語』にて、孔子が「君子不器」と述べている節を検索してください。
    • 『莊子』の中で、「道」について書かれている節すべてを検索してください。
  • テキストデータベースにて、テキストを検索している際、数多くの検索結果が出る事があります。その場合、右上に表示されている「Show statistics」というリンクを使用することで検索結果がどこで表れているのか、インタラクティブな概要を見ることができます。

主要なスキャン資料の中でテキストを特定する

  • ctextにおいて、スキャンしたテキストは、linked transcriptionsといった方法で検索することができます。仮に、複写版にリンクしたテキストがある場合、題目検索結果にて「」アイコンが表示されます。
  • スキャン版にリンクしているテキストの場合、如何なるテキスト段落の左側に表示されている「」アイコンをクリックすることで、該当のスキャン版テキストを開くことができます。
  • スキャンされたテキストにおいて、特定の単語や語句を検索するには、対応する複写版にてその単語や語句を検索し、検索結果左側に表示されている「」アイコンをクリックしてください。
  • 特にOCRを使用して作成されている複写版において、複写のエラーは、長い語句であるほど、マッチしないという事を表していることがあります。その際、単語より短い語句を検索するか、検索しているテキストの近くに表示されている単語を使用してください。
  • 実践:
    • スキャンのリンクがあるテキストを探し、スキャン版の中で検索し、結果を考察してください。
    • OCRのある複写版で試してください。
    • テキストは、スキャンしたテキストを所蔵しているウェブサイトの「Library」セクションからも検索できます。この作業は、リンクした複写を検索するときと全く同じ結果となります。
    • もしくは、提供されたリンクを使用して、スキャン版をページごとに検索する事も出来ます。

テキストの節と類似するテキストを検索する

テキストデータベースでは、先秦及び漢テキスト、類書の検索ができます。

  • テキストの一節を選んで、「」アイコンをクリックし、類似した部分の概要を表示することができます。
  • 検索結果において、表題付近にある「」アイコンをクリックすることで、どの文脈で出現しているのか表示されます。
  • 実践:
    • 古典言語資料で著名な『莊子』の「庖丁解牛」と類似している箇所を検索してください。

2つの特定テキストにおいて類似した箇所を検索する

テキストデータベースでは、先秦及び漢テキスト、類書の検索ができます。

  • 左側のペイン下部にある「Advanced search」リンクをクリックしてください。
  • 「1. Scope」と表示されているセクションにおいて、検索したい1つ目のカテゴリー、テキストもしくはテキストユニットを選んでください。例えば、『莊子』において、「Pre-Qin and Han」、「Daoism」、「Zhuangzi」を選んでください(4つ目のボックスは、「All」としてください)。
  • 「3. Search parameters」のセクションでは、「Parallel passage search」の下にあるボックスにチェックを入れてください。先程と同様の手順で、類似を検索したいカテゴリー、テキストもしくはテキストユニットを選択してください。
  • 「Search」をクリックしてください。検索結果では、すべての類似した節が表示されます。
  • 実践:
    • 『論語』及び「Daoism」カテゴリー内のテキストの間でどのような類似があるのか、検索してください。
    • 検索結果が出た後、「Show statistics」リンクをクリックしてみてください。
    • 次に、同様の検索をしてください。ただし、この場合、「Scope」と「Search parameters」を逆転し、その後、「Show statistics」を使用してみてください。

コンコルダンス番号を使用して、テキストを検索する

コンコルダンス情報を含むテキストに対応できます。

  • まず、複写したテキストのコンテンツを開いてください。ページの右側に、検索ボックスが表示され、テキストに対応した一致の数がそれぞれ表示されます。
  • 実践:
    • Eric Huttonのこの論文にて、著者はICSとハーバード燕京に使用されている一致の数をもとに、中国語のテキストを引用することなく、テキストの引用箇所を表示しています。例えば:


      ctext.orgにおけるコンコルダンス検索機能を使用することで、参考資料17にて、著者が訳し、引用した「荀子」の箇所と対応する原文の中国語を特定することができます。

テキストにおいてコンコルダンス番号を検索するには

コンコルダンス情報を含むテキストに対応できます。

  • コンコルダンスに対応している節において、左側に表示されている「」アイコンをクリックしてください。
  • マウスを表示された節内で動かすことによって、そのテキストの一部においてコンコルダンス列全てが表示されます。
  • 一定の節に関係するコンコルダンス列のみを表示させるのは、マウスをハイライトされているテキスト(緑色)まで動かしクリックしてください。ハイライトされたテキストを含むすべてのコンコルダンス列が表示されます。
  • 実践:
    • 前述の例に従って、「荀子」における「人之性惡,其善者偽也」と対応するコンコルダンス列を特定してください。

テキストと翻訳を並べて検証する

英語の翻訳があるテキストに対応しています

  • 通常、テキストの翻訳を見る際、1つの中国語の段落が表示され(恐らくかなり長い)、次に対応した英語の段落が表示されます。テキストと翻訳をより近くに表示することも可能です(一般的には、語句ごとに)。この作業をするためには、テキスト節の左側にある「」アイコンをクリックしてください。この機能は、マウスのカーソルが中国語のテキストに移動した際、辞書情報を表示することもできます。
  • 長い節では、特定の中国語テキストに対応する翻訳の箇所に直接移動することをお勧めします。その作業を行うには、中国語語句のテキストを検索し、前述通り、「」アイコンをクリックしてください。
  • 実践:
    • 『莊子』のテキストで実験をしてください。
    • James Leggeが如何に「每至於族,吾見其難為,怵然為戒,視為止,行為遲」を翻訳しているのか調べてください。

注釈を見る

『論語』、『孟子』、『墨子』、『道德經』などといった特定のテキストに対応します。

  • テキスト節の左側にある「」アイコンをクリックしてください。注釈は、独立したテキストですので、表示された注釈のリンクを使用することで、注釈のないテキストの代わりに、注釈のあるテキストを読むことができます。
  • 実践:
    • 『論語』、『孟子』、『墨子』、もしくは『道德經』で実験してみてください。

稀な、異形の文字を検索、入力する

  • ウェブサイトにおいて、「Dictionary」セクションを開いてください。
  • 文字によっては、以下の作業が必要となるでしょう:
    • 直接入力(文字をタイプしてください)
    • 構成要素の検索:辞書のメイン画面における概要を参照してください
    • 語根の検索:まず語根を選び、付加の画数を使用してください。「n strokes」ラベルをクリックすることで、表示される文字のサイズを大きくすることができます。
  • 実践:
    • 䊫、𥼺、𧤴… 、これらの文字をctext.orgで検索してください(このページからコピーやペーストをしないでください!)
  • ヒント:構成要素のいずれかを容易に入力する事が出来ない場合、代わりにその構成要素を含むどの文字でも結構ですので入力してください。このように分解することで構成要素を特定できます。次に、その構成要素を含む他の文字を検索してください。
  • ユニコードに存在しない異形の文字へのサポートはctext.orgに書き加えられています。これらは、構成要素を通じてのみ検索することができます。
    • ユニコードに掲載されていない文字は、ctextで使用する際に、コピーペーストすることができます。ユニコードで掲載されていない文字がコピーされた場合、「ctext:nnnn」認識子となります(例えば、ctext:1591)。これを他のソフトウェア(Microsoft Wordなど)にペーストした場合、文字やイメージではなく、この認識子が貼り付けられます。
    • ただし、ctextにて文字を右クリックし、「Copy image」を選択することで、文字のイメージをワード書類にコピーすることができます。その際、ctext.orgからイメージを取得しているという事を引用してください(例えば、「ctext:nnnn」認識子を引用するか、そのURLを提供してください)。
    • 例えば:ctext:4543 ctext:8668 ctext:3000 ctext:335

複写版を編集する

最も簡単な方法で、スキャン版にリンクしているテキストを正す為には、「Quick edit」機能を使用してください。以下の作業をしてください:

  • 複写エラーが出ているスキャンしたページを特定してください。
  • 「Quick edit」リンクをクリックしてください。
  • 編集可能なページの複写が表示されます。通常、複写の各列は、スキャンしたテキストの列に該当しています。
  • スキャン版を照らし合わせ、慎重に複写版を修正してください。「Save changes」をクリックして終了してください。
  • スペースが必要な場合、英語で使用する半角スペースではなく、中国語で使用する全角を入力してください。
  • 実践:
    • OCRによって自動的に作成された複写版を選び、エラーを修正してください。
  • 「バージョニング(versioning)」:各テキストにおけるすべての変更を記録し、変更前の状態に戻すことが可能なオプションを維持するという機能です。この機能は、如何なるwikiシステムにおいても基本的なオペレーションです。修正を保存した後:
    • 「View」リンクをクリックし、修正したテキスト複写を開いてください。
    • ページの一番上までスクロールし、「History」をクリックすることで、最新の変更リストを表示してください。最も新しい編集は一番上に表示されます。
    • 各列は、特定の編集が行われた複写の状況を表示しています。2つの編集を比較したい場合、図の左側にあるラジオボタンで2つの項目を選び、「Compare」をクリックしてください。デフォルトの設定では、常に最新の編集、およびその前に行われた編集を比較します。「Compare」をクリックし、あなたが先程行った編集の可視化を行ってください。

プラグインのインストールと使用方法

プラグインは、ウェブサイトのユーザーインターフェイスをカスタマイズ化し、付加機能をサポートすることができます。一般的に、テキストデーターのダウンロード、第三の文字字典への接続が事例として挙げられます。プラグインを使用するには、必ずあなたのアカウントにそのプラグインをインストールしておく必要があります(1つのプラグインにつき、1回のみの作業です)。プラグインをインストールするには:

  • 「About the site」をクリックし、その後、「Tools」、「Plugins」を開いてください。
  • 追加したいプラグインを特定し、「Install」をクリックしてください。
  • その後表示される確定画面にて、「Install」をクリックしてください。

一旦インストールが完了すると、ctext.orgにてサポートされているオブジェクトのいずれかを開いた場合(例えば、「book」もしくは「chapter」プラグインにおけるテキストの章、「character」や「word」類のプラグインにおける辞書内の文字)、スクリーン上部付近のバーにて、該当するリンクが表示されます。
実践:

  • 「Plain text」プラグインをインストールし、それを使ってテキストの章をエクスポートしてください。
  • 「Frequencies」プラグインをインストールし、それを使ってテキストの章における文字の頻度を見てください。
  • 「character」や「word」類におけるプラグインのいずれかをインストールしてください。それを使って、辞書の中で文字を探したり、外部辞書にアクセスしたりしてください。

上級トピック

以下では、より上級なトピックを紹介します。これらは、本チュートリアルの範囲を超えており、皆さんの更なる試み、(もしくは)高度な技術的スキルが必要とされます。

新しいプラグインを作成する

プラグインは、ctext.orgのユーザーインターフェイスを外部のリソース(多くはその他ウェブサイト)と接続する為のXML形式のプログラミング言語です。新しいプラグインは、ctext.orgのアカウントにおいて、既存のプラグインのコードを修正することで、直接作成することができます。どのようなプラグインがインストールされているのか確認するには、左側のペインにある「Settings」をクリックし、「editing your XML plugin file」リンクをクリックしてください。

新しいプラグインを作成するには、<Plugin>…</Plugin>タグの間にコードを重複し、その重複を編集することが必要です。その際、<Update>タグを新しいプラグインから除外する必要があります。そうしなければ、将来上書きされる可能性があります。もしくは、XMLファイルのスタンドアローンを作成し(多くの既存事例を参照してください)、それをあなたのサーバーにホストし、ctext.orgのアカウントにインストールしてください。

仮に、新しいプラグインに何らかの問題があったり、コードがctextインターフェイスに受けいれられなかった場合、W3C Markup Validatorを使用して、プラグインファイルが有効であるかどうか確認することができます。有効なプラグインファイルは、緑色で「This document was successfully checked as CTPPlugin!」と、このように表示されます。

プログラミングによるアクセス

ウェブサイトのテキスト資料は、プログラミング言語のパイソン(Python)などから直接アクセスすることができます。特にプログラミングの経験がない方にとって、この作業には、より多くのセットアップに加え時間が必要とされますが、これについての作業説明もオンラインで取得可能です。

プログラミングのアクセスは、ctext.org のApplication Programming Interface (API)によって促進されており、如何なる言語、もしくはHTTPリクエストを送信できる環境でしたら、作業可能です。この作業には、特段パイソンをお勧めします。といいますのも、ctext Python moduleが存在することで、少ない労力でAPIにアクセスできるからです。APIの一般的な付随資料に加え、全てのAPI機能に関する付随資料が入手可能で、各種実例が含まれています。

Creative Commons License
Posted in Chinese, Digital Humanities | Comments Off

ctext.org テキスト・ツールズ

本チュートリアルは、 データベース・デジタルライブラリーChinese Text Project中国哲学書電子化計画)における「テキスト・ツールズ」プラグインの主な機能について、参考となるタスクやケースを提示し、紹介します。

[本チュートリアルのオンライン版はこちら: https://dsturgeon.net/texttools-ja(日本語)、https://dsturgeon.net/texttools(英語)]

初期セットアップ

  • 過去にChinese Text Projectを使用した経験のない場合、チュートリアルの「ctext.orgへの実践的な説明」を参照し、ctext.orgにおけるアカウントの設定プラグインのインストールを行ってください。
  • あなたのアカウントを使用し、ログインしてください。
  • APIキーを取得している場合、ctext.orgアカウントの設定画面にて、APIキーを保存してください。もしくは、あなたの機関がctext.orgを購読している場合、大学の説明に従って、使用してください。その際、大学のローカルネットワークを使用するか、大学が提供しているVPNを経由してアクセスしてください。
  • 「テキスト・ツールズ」のプラグインをインストールしてください(インストールリンク)。この作業は1回のみです。
  • これらのステップを完了した後、ctext.orgにおけるテキストもしくはテキストの章を開くことで、テキスト・ツールズのプラグインにアクセスするリンクが現れます。

始めましょう

テキスト・ツールズプログラムは、数多くのページ(N-gramやRegexと呼ばれます)を含んでいます。これらのページは、各頁の上部にあるリンクを使うことで、切り替えることができます。各頁は、以下に記載するツールのどれかに該当しています。ただし、基本的な使用方法と各ツールのオプションを説明しているHelp pageは除きます。これらのツールは、テキスト分析及びデータの単純な可視化を可能とします。

テキスト分析のツールは、ctext.orgからAPI経由でテキストを直接読み取るか、他の場所からテキストをツールにコピーすることもできます。ctext.orgプラグインを使用してツールを開く場合、テキストは自動に読み込まれ、表示されます。追加のテキストをctextから読み込む場合、テキスト(もしくは章)のURNをテキスト・ツールズのウィンドウボックスにある「Fetch text by URN」という名のボックスにコピーし、Fetch(フェッチ)をクリックしてください。テキストが読み込まれた後、内容は、タイトルとともに表示されます。より多くのテキストを追加する場合、「Save/add another text」をクリックし、先ほどの手順を繰り返してください。現在選択されたテキストの一覧は、ウィンドウの上部に表示されます。

N-grams

N-gramは、一連の連続したnのテキスト項目(文字や単語)であり、nは固定小数点整数です(例えば、n=1, n=3など)。「テキスト項目」は、通常、用語(単語)や文字であり、特に、中国語において、文字は単語と比べ、より頻繁に使用されます。その背景には、中国のテキストを正確かつ自動的に、一連の独立した単語に分割することが難しいからです。例えば、「學而時習之不亦說乎」という一文には、以下3つの文字によるgramsが含まれています(すなわち、全く同じの3つの文字が特殊な順序で配置されています):「學而時」、「而時習」、「時習之」、「習之不」、「之不亦」、「不亦說」、「亦說乎」。

テキスト・ツールズのN-gramに関する機能は、n-gramsの文字という形式に基づいて、様々な中国テキストにおける単語の使用を概観することができます。

実践:
  • ctext から2〜3のテキストを選び、1 gramsの計算を試みてください。「Value of n」は、1で設定してください。よりよく傾向を可視化するため、Chartのリンクを使用し、生データの棒グラフを描いてください。この作業を正規化した場合と、しない場合、両方で試してください。
  • この作業を2及び3 gramsで繰り返してください。
  • 上記で選んだテキストの長さがおおよそ同じである場合、もう2つ、長さ、もしくはスタイルにおいて大いに異なるテキスト(『道德經』や『紅樓夢』)を選び、正規化する場合と、しない場合に分け、どのように結果が変化するのか、実演してみてください。

ワードクラウドは、もう一つの可視化の手段であり、その基になるデータは、ラベルの大きさがそれらの発生頻度に比例して異なるテキストによって描かれています(もしくは、より多い場合、それらの対数の頻度に比例します)。通常、ワードクラウドは、文字や単語を使用した単一のテキストや結合したコーパスによって構築されていますが、一般的に同じ原理は、自然とn-grams(および通常の表現)、複数のテキストにも広がるとされています。テキスト・ツールズでは、複数のテキストを可視化することで、データ内の一つ一つの確かなテキストを異なる色で表示します。これは、正規化においても同じ事がいえます:異なるテキストが長さによって正規化されていない場合、テキストが長くなることでラベルは自然と大きくなります。

実践:
  • 単一のテキストおよび2つもしくはより多くのテキストの為のワードクラウドを作成してください。ワードクラウドタブの設定の中にある「Use log scale」に基づいて実験してみてください。その作業によって、なぜ対数スケールがより頻繁にワードクラウドに使用されるか理解して頂けると思います。

テキストの相似性

本相似性ツール(Similarity tool)は、 n-gram shinglingを使用することで、テキストの再利用関係を認識し、可視化する事ができます。使用するには、まずは一つもしくは多くのテキストを読み込み、好みのオプションを選び、Runをクリックしてください。

本ツールによって、特定の部分的なテキスト間において共有されているn-gramsを認識することができます。全てのn-gramsを報告するのではなく(例えばN-gramツールの機能のような)、本ツールは、一つ以上の場所で繰り返されたn-gramsのみを報告し、一対の章において共有された全てのn-gramsを計算します。そのため、N-gramツールとは異なり(「最小カウントが1」の場合)、より大きいnの値が比較的少ない結果に現れるという現象が起きます。なぜなら、短いn-gramsは、比較的長いn-gramsに比べ、より複数の場所に出現することが多く、比較対象となっているアイテムの間において、再利用されたテキストの関係を表す傾向が大きいからです。

相似性ツールのアウトプット内には、2つのタブが有ります。一つは、「Matched text」と呼ばれるタブで、マッチしたn-gramsを表し、より大きい数の重複したn-gramsは、より明るい赤い色で表示されます。もう一つは、「Chapter summary」というタブで、全ての一対の章においてマッチするaggregateを集約しています。

実践:
  • 『論語』において、n=5という設定のうえで、相似性ツールを実行してください。
  • Constraintという機能で実験してみてください。まず、章のタイトルをクリックし、特定の章もしくは一対の章と平行している節のみを表示してください。
  • マッチするn-gramsを選択し、クリックしてください。この作業によって、異なる種類の制約を行い、マッチしたn-gramの場所を特定することができます。
  • テキストの再利用状況は、重み付きネットワークグラフとして可視化されます。あなた自身のn-gramに関する相似性の結果を表示するには、「Chapter summary」タブ内にある「Create graph」のリンクをクリックし、Drawをクリックしてください。
  • 本測定方法に基づいた場合、『論語』では、どの章において最もテキストの再利用関係が強いでしょうか?グラフから直接読み取ることが可能だと思いますが、Chapter summaryのタブに戻ることで、数値的を確認し、相似性に基づいて、図をソートすることができます。その作業をするには、まず、テキスト・ツールズ内の如何なる図においても、コラムのタイトルをクリックすることで、コラム内で図がソートされます(2回クリックすることで、ソートの順序を切り替えることができます)。
  • グラフに戻り(ページの上部にあるNetworkのリンクをクリックして切り替えてください)、グラフの辺には、認識した相似性に関する具体的な意味が定義されています。辺をダブルクリックすることで、相似性ツールを再度開くことができ、その中には、選択された辺の具体的な相似性がハイライトされています。本機能に基づいて、一番厚い、そして薄い辺を含むいくつかの辺を実証してください。
  • nの値を増加、現象して実験してみてください。どのように結果に影響しますか?
  • デフォルトでは、グラフには、全ての認識された相似性が辺に表されます。とりわけ比較的小さいnの値において、いくつかの関係はあまり重要ではなく、全ての一対したグラフのノードに辺が表示されることで、現象が複雑化され、有意義なパターンを覆い隠してしまいます。次に、グラフの単純化を試してみてください。「Skip edges with weight less than」にて、基準値(例えば、0.001)を設定することによって、再利用の数が比較的少ない辺を削除することができ、グラフを単純化することができます。この結果と、相似性ツールにおいて、nの値を増加した場合とで比較してみてください。この作業によって、辺の数を減らし、より自明な相似性を省くことができます。
  • 本相似性ツールは、複数のテキストにおいても使用することができます。仮に、複数のテキストが読み込まれ、グラフが作成された場合、異なる色によって章における相違したテキストを区別することができます。『荀子』および『莊子』においても試してみてください。これら2つのテキストは非常に異なりますが、互いに再利用の関係があります(この作業を実行するには数秒の時間がかかります。相似性ツールは、長いテキストほど、時間がかかります)。

正規表現(Regular expressions)

正規表現(通常regexと呼ばれます)とは、テキスト本文の中で検索されるパターンです。最も分かりやすいケースとしては、一つの正規表現は、検索する為の立て続けの文字です。しかし、このようなシンプルな考えを特別にデザインされた構文で補うことによって、より複雑な方法でデータ検索を行うことができます。

Regexツールは、一つもしくはより多くのテキストにおいて、一つもしくはそれ以上の正規表現を検索することができます。また、マッチしたテキストをリストアップし、テキスト、章もしくは段落ごとに結果を集約することができます。

実践:
  • もっともシンプルな正規表現は、文字列検索は一種の全文検索で、すなわち、特定の順序に基づいた文字にマッチする(唯一の)文字が整理されたリストです。『論語』で現れるようなテキストを検索してみてください(例えば、「君子」)。
  • 「Matched text」と「Summary」タブにおける内容を検証してください。
  • 2つ目の検索単語(例えば、「小人」)を検索し、もう一度regexを実行してください。
  • 今度は、同じ2つの正規表現に基づいた同様の検索を再度実行してください。ただし、「Group rows by」の部分をデフォルトのNoneからParagraphに変更してください。この作業を行う際、Summaryのタブは、『論語』の各段落に対応する1つの行を表示します。数字で表記された段落をクリック(してくださいこれらの数字は、自動的にテキストの最初から選択されています)。この作業により、行と対応する節がハイライトされます。

このような結果は、段落や章といったユニットによってグループ化された場合、相関的です。仮に、2つの用語が共に同じ段落(もしくは章)で現れた場合、両者には何らかの関係があります。仮に、繰り返し複数の段落で共に現れた場合、そのテキストにおいて、両者は比較的強い関係があるといえます。そのため、本情報はネットワークグラフを使用して可視化することができます。この作業は、テキスト・ツールズ内において、正規表現を実行し、「Group rows by」の設定をParagraphにすることで可能となります。

実践:
  • 『論語』において、「父母」、「君子」、「小人」、「禮」および「樂」を検索し、同じ段落におけるそれらの共起性に基づいたネットワークグラフを作成してください。
  • グラフの辺をダブルクリックすることで、Regexツールが再度開き、選択した辺と関連する項目がハイライトされます。この機能を使って、最も厚い辺から薄いものまで、いくつか選び、実際どのようなデータが表示されるのか分析してみてください。
  • 同じ方法を使って、「寶玉」、「黛玉」、「寶釵」など(参考:中国語ウィキペディア)といった人物名に特化し、如何に同じ登場人物の名前が『紅樓夢』の段落において、同時に表れているのか、明確にしてください。注:実際に、テキストで頻繁に出現している名前を選んでください(例えば、「寶玉」は、「賈寶玉」よりも頻繁に使われており、「賈寶玉」にもマッチします)。これは、社会ネットワーク分析の一例です。
  • 「Group rows by」をNoneと設定している場合、一時的に「Matched text view」に制約を加え、特定の文字列を検索した段落のみを表示することができます。制約の設定や解除は、「Matched text view」において対応した文字列をクリックすることで実行することができます。もしくは、「Summary」の画面において、アイテムのテキストラベルをクリックすることでそのアイテムに制約を加え、どの段落が特定の文字列を含んでいるか見ることができます。再度同じ単語で検索してください。ただし、この場合、「None」モードに設定してください。その結果、迅速にあなたの登場人物リストの中で最も使用頻度が低い段落を判別することができます。

[備注:このような検索をする場合、重要なことは、「非常に頻繁に」一致したテキストが出るのか、もしくは、他の要素を見逃していないか、検査することです。上記の『紅樓夢』では、例えば、賈寶玉を表す「寶玉」にマッチす文字列は非常に多くあるが、後程小説で登場する「甄寶玉」の場合も、「寶玉」にマッチする。このような現象を防ぐためには、正規表現の使用が必要です。例えば、regex「(?!甄)寶玉」と表記することで、「甄」を含まない「寶玉」の検索が可能となります。]

上記では、最も簡素な正規表現についてご紹介しました。正規表現は、より複雑なパターンを具体化することで、上記で説明した簡素な文字列検索と同じく、検索することができます。例えば、「以和為量」、「以生為本」もしくは「以我為隱」といった「以(何々)為(何々)」という文字列の具体化を事例としましょう。このような検索を可能とする為、決まった文字に検索するパターンを記述した「特殊な」文字を加えることで、正規表現を作ることが必要です。

正規表現を使用するにあたり、最も活用しやすい特定な構文は、以下の表にまとめています:

. 如何なる文字を対象に、一度のみマッチする
[abcdef] 如何なる文字a,b,c,d,e,fを対象に、一度のみマッチする
[^abcdef] a,b,c,d,e,f以外の如何なる文字にマッチする
(xyz) xyzにマッチし、結果はグループによって番号付けされる
? 文字やグループの後で、その文字やグループは任意とすること(すなわち、0もしくは1回マッチする)
? +, * もしくは {…}の後で、最短のマッチをする(つまり、最も長いのではなく、短いマッチを選択する)
* 文字やグループの後で、その文字やグループを0回もしくはそれ以上の回数マッチさせる
+ 文字やグループの後で、その文字やグループを1回もしくはそれ以上の回数マッチさせる
{2,5} 文字やグループの後で、その文字やグループを2、3、4もしくは5回マッチさせる
{2,} 文字やグループの後で、その文字やグループを2回もしくはそれ以上の回数マッチさせる
{2} 文字やグループの後で、その文字やグループを丁度2回マッチさせる
\3 3番目のグループの如何なる文字にもマッチする(一番左を1番とする)

構文は複雑に見えますが、比較的容易に始めることができます。例えば、上記表にある最初の特別な構文では、「ピリオド “.”」は、如何なる一つの文字にもマッチします。その為、上記で述べた事例の「以(何々)為(何々)」を正規表現にすると、「以.為.」となります。つまり、検索する文字列は、「 “以”、如何なる一つの文字、“為”、如何なる一つの文字」ということになります。

実践:
  • 「Group by None」に設定し、Regexの「以.為.」を『莊子』で調べてみてください。
  • このregexの検索結果の中には、検索対象として考えていなかった文字列もヒットすることが有ります。例えば、上記のregexでは、「以汝為?」もヒットします。なぜなら、正規表現マッチングの場合、句読点も「文字」として認識されるからです。この現象を避けるには、regexにおいて、如何なる文字にもマッチする「.」ではなく、「ネガティブ文字クラス(特定の文字を除外する)」を使用することです。この事例にあるregexの場合、「以[^。?]為[^。?]」となります。これを試し、上記の現象を回避してください。
  • 中国語の文章には、多くの異なる句読点があります。テキスト・ツールズでは、「\W(大文字)」をインプットすることによって、中国語における共通の句読点を表すことができ、「\w(小文字)」ではその他の句読点を表すことができます。仮に、「以\w為\w」と表記した場合、先程実験したregexと同じ結果が出るでしょう(しかし、これは英語のregexにとって一般的な慣習であり、「\w」と「\W」の結果は、異なるregexのインプットによって違い、中国語においては適応しないことが多々有ります)。
  • 『道德經(ctp:dao-de-jing)』における以下の文字列を正規表現を使ってテストしてください:
    • 如何なる4つの文字であり、中間に「之不」を含んでいる文字列。例えば、「視之不見」、「聽之不聞」など。

反復

反復は、上記図に表示している様々な反復オペレーターと修飾子を使うことで実行することができます。

  • {a,b}というオペレーターを使用することで、正規表現を数回反復することができます。この作業は、regexにおける直前のアイテムを修正し(文字やグループの明記)、少なくとも、a回からb回(もしくはbを空欄にすることで如何なる回数を表記)反復させることができます。仮に、コンマを無くし、{a}とすることで、直前のアイテムは、必ずa回反復させることができます。
  • 例えば、「仁.{0,10}義」は、文字としての「仁」にマッチし、その後には、0から10個のその他文字を含み、更に、その後には文字としての「義」が続きます。その為、「仁義」や「仁為之而無以為;上義」、「仁,託宿於義」といった検索がヒットします。
  • これは、グループにおいても同様の事が当てはまります。この場合、グループによって特定化されているパターンが(内容ではなく)特定回数反復するということになります。例えば、「(人.){2,}」は、「人來人往」、「人前人後」、及び「人做人配人疼」がマッチします。
  • 「+」、「*」及び「?」といったオペレーターが文字やグループの後に続いた場合、このような意味を持ちます:「+」は「{1,}」に値し、「*」は「{0,}」そして、「?」は「{0,1}」となります。
実践:
  • 上記に記した2つの具体例(例えば、「仁.{0,10}義」、「(人.){2,}」)を実験してください。
  • 『道德經(ctp:dao-de-jing)』における以下の項目について、正規表現を使ってテストしてください。
    • テキストにおける各「言い回し(句読点によって分けられた節)」。例えば、最初のマッチは、「道可道」であり、2つめは、「非常道」である、など。
    • 「之」を含む言い回しをマッチしてください。
    • 「之」を含む言い回しを選び、「之」が最初でもなく、最後でもない場合をマッチしてください。
  • 以下、『墨子』(ctp:mozi)における項目を正規表現とし、テストしてください:
    • 「君」の次に「父」が続く場合をマッチしてください(例えば、「君父」、「…君臣父…」、「君臣上下長幼之節,父…」、など)

グループ

反復意外に、正規表現の作用は、「グループ」と呼ばれる部分に区別し、これらのグループにマッチしたコンテンツに基づいて、更なる状況を表現することができます。それによって、より洗練されたパターンを表現することができます。

  • 仮に、「君不君」、「臣不臣」、「父不父」といった、とある文字の後に「不」が続き、更に同じ文字が続くという場合を事例としましょう(つまり、「人不知」といった検索は目的としていません)。
  • まず、最初の文字(如何なる文字でも)を「グループ」として「キャプチャー」し、その後、他の場所でそのグループのコンテンツにマッチングするか実験します。
  • 何かをグループでキャプチャーするということは、その対象を丸括弧で囲むことで実行できます(例えば、“(.)”は、如何なる文字にもマッチし、グループでキャプチャーされています)。
  • グループは、自動的に1から番号付され、左角括弧から始まり、regexは、左から右に動いていく。
  • 構文の「\1」を使用して、グループ1とマッチし、「\2」ではグループ2とマッチすることで、マッチングしたグループの内容を参照することができます。
  • 事例「(.).\1」では、如何なる文字とその文字との連続(どのような文字でも)をマッチすることができます。これを『論語』において試し、regexを句読点ではない文字にマッチするよう修正してください(「本,本」といった形でマッチングしない為に)。

もう一つの事例は、「禮云禮云」や「已乎已乎」といった一般的な反復のパターンです。このような例では、同じアプローチを使用することができます。一つの手段としては、「(..)\1」があります。これは、如何なる2つの文字にもマッチし、続けて2つの同じ文字にマッチします。もう一つの(相似した)例は、2つの異なるグループを使い、「(.)(.)\1\2」とすることです。これは、如何なる連続した文字X、Yにマッチし、更にXとYにマッチするという意味です。

実践:
  • 『詩経(ctp:book-of-poetry)』における「委委佗佗」や「戰戰兢兢」といった文字列にマッチするよう、正規表現を書き、テストしてください。
  • 『莊子』において、「XYZ,ZYX」といった複雑な反復スタイルにマッチする正規表現を作成し、テストしてください。X、YおよびZは、1〜5の文字を含むことができます。Regexは、「知者不言,言者不知」、「道無以興乎世,世無以興乎道」及び「安其所不安,不安其所安」といった項目にマッチングすべきです。

Regexの置き換え

置き換えの機能は、regexの検索機能と似たような方法です。この機能は、一つの具体的なテキストにおいて特定の正規表現を検索し、特定の値によって全ての場所において置き換えられます。置き換えは、シンプルな文字列でも可能ですし、正規表現の内容によって多様な形に設計することも可能です。特に、検索したregexにおいて、グープとしてマッチした項目については、構文の「$1」を使用することで、グループ1のテキストマッチングを含み、「$2」ではグループ2のマッチングをするという事が参照できます。一般的なregexの置き換え方法としては、外部から得たデータを「きれいに片付ける」、もしくは、他の特定の手段に使用するために準備をする、ということがあげられます。

例えば:

  • 「\W」を“”(文字列はなし)に置き換えることで、テキストにおける全ての句読点と改行を削除することができます。
  • 「^(\w{1,20})$」を「*$1」に置き換えることによって、1〜20の文字を含む如何なる行においてタイトルマーカーを加えることができます。検索結果に句読点は含まれず、ctext以外のテキストをインポートする際に有効的です。

バージョン間の違いを認識する

「Diff」ツールは、一字一字の2つの相似したテキストの「Diff」を実行するシンプルな方法です。相似性ツールと異なり、本ツールは、相似性の高い2つのテキスト(全く同じということでもない)をインプットする際に最も適しています。

Diffツールを使い、『正統道藏』における「太上靈寶天尊說禳災度厄經 (ctp:wb882781)」と『重刊道藏輯要』における同一のテキスト(ctp:wb524325)を比べてください。

ネットワークグラフ

正規表現Similarityツールを使用してグラフを作成する際、データは、ネットワークのタブにエクスポートとされています。ナビゲーションの説明に関しては、「Help」のタブを参照してください。ネットワークのタブにおけるグラフは、「GraphViz」フォーマットのサブセットに入力されます。一方、他のタブによって作成されたグラフの全ては、この同じフォーマットでダウンロードすることができます。より柔軟な方法で出版品質のグラフを作成したい場合、Gephiをダウンロード、インストールすることで、これらのファイルを開くことができます(https://gephi.org/)。

他のテキストを使用する場合

ctext.org以外のリソースから得た中国語のテキストは、テキスト・ツールズを経由して使用することができます。具体的な説明は、「Help」の「Loading texts」をご参照ください。

Creative Commons License
Posted in Chinese, Digital Humanities | Comments Off

University of Tokyo Hands-on ctext.org Workshop

Thanks to the help of Professor Nagasaki Kiyonori, I am thrilled to be holding this hands-on workshop covering usage of the Chinese Text Project and Text Tools in Tokyo this December. Details follow:

Digital Research Tools for Pre-modern Chinese Texts

講師:Donald Sturgeon 博士(ハーバード大学)

日時:2017年12月13日 17:00~20:00

場所:東京大学法文1号館第1階113教室

参加費無料

要参加申込(参加申込フォーム

主催:東京大学大学院人文社会系研究科人文情報学拠点

※無線LAN接続可能なノートパソコンをご持参ください。

※無線LANインターネット接続環境 をご用意しますが、接続可能台数に限りがありますので、できればご自分でインターネット接続環境もご用意いただけるとありがたいです。

中国古典テクストの世界最大のクラウドソーシング翻刻サイトChinese Text Project (ctext.org) の開発・運営者であるDonald Sturgeon先生をハーバード大学からお招きして、このサイトの基本をご紹介して頂くとともに、提供されているテクスト分析ツールを実際に操作しながら学んで頂きます。今回のツールは、基本的にWebブラウザ上で使えるようですので、特に新しいソフトウェアをインストールする必要はありません。

Posted in Chinese, Digital Humanities | Comments Off

Digital Research Tools for Pre-modern Chinese Texts

Interactive workshop 9:00am-12:00pm, November 18, 2017, held in B129, Northwest Building, 52 Oxford St., Cambridge, MA 02138
[Download slides]

Digital methods offer increasingly powerful tools to aid in the study and analysis of historical written works, both through exploratory techniques in which previously unnoticed trends and relationships are highlighted, as well as through computer-assisted assembly of data to refute or confirm particular hypotheses. Applying such techniques in practice often requires first overcoming technical challenges – in particular access to machine-readable editions of the desired texts, as well as to tools capable of performing such analyses.

This hands-on practical workshop introduces approaches intended to reduce the technical barriers to experimenting with these techniques and evaluating their utility for particular scholarly uses. The first part of this workshop introduces the Chinese Text Project, which has grown to become the largest full-text digital library of pre-modern Chinese. While on the one hand the website offers a simple means to access commonly used functions such as full-text search for a wide range of pre-modern Chinese sources, at the same time it also provides more sophisticated mechanisms allowing for more open-ended use of its contents, as well as the ability to contribute directly to the digitization of entirely new materials.

The second part of the workshop introduces tools for performing digital textual analysis of Chinese-language materials, which may be obtained from the Chinese Text Project or elsewhere. These include identification of text reuse within and between written materials, sophisticated pattern search using regular expressions, and visualization of the results of these and other types of analysis.

Posted in Chinese, Digital Humanities | Comments Off

Unsupervised identification of text reuse in early Chinese literature

Abstract

Text reuse in early Chinese transmitted texts is extensive and widespread, often reflecting complex textual histories involving repeated transcription, compilation, and editing spanning many centuries and involving the work of multiple authors and editors. In this study, a fully automated method of identifying and representing complex text reuse patterns is presented, and the results evaluated by comparison to a manually compiled reference work. The resultant data is integrated into a widely used and publicly available online database system with browse, search, and visualization functionality. These same results are then aggregated to create a model of text reuse relationships at a corpus level, revealing patterns of systematic reuse among groups of texts. Lastly, the large number of reuse instances identified make possible the analysis of frequently observed string substitutions, which are observed to be strongly indicative of partial synonymy between strings.

Download the full paperAccording to Oxford University Press, this link should give you access to the PDF even if not accessing from a subscribing institution.

Posted in Chinese, Digital Humanities | Comments Off

Linking, sharing, merging: sustainable digital infrastructure for complex biographical data

Paper to be presented at Biographical Data in a Digital World, 6 November 2017, Linz.

In modeling complex humanities data, projects working within a particular domain often have overlapping but distinct priorities and goals. One common result of this is that separate systems contain overlapping data: some of the objects modeled are common to more than one system, though how they are represented may be very different in each.

While within a particular domain it can be desirable for projects to standardize their data structures and formats in order to allow for more efficient linking and exchange of data between projects, for complex datasets this can be an ambitious task in itself. An alternative approach is to identify a core set of data which it would be most beneficial to be able to query in aggregate across systems, and provide mechanisms for sharing and maintaining this data as a means through which to link between projects.

For biographical data, the clearest example of this is information about the same individual appearing in multiple systems. Focusing on this particular case, this talk presents one approach to creating and sustaining with minimal maintenance a means for establishing machine-actionable links between datasets maintained and developed by different groups, while also promoting more ambitious data sharing.

This model consists of three components: 1) schema maintainers, who define and publish a format for sharing data; 2) data providers, who make data available according to a published schema; and 3) client systems, which aggregate the data from one or more data providers adhering to a common schema. This can be used to implement a sustainable union catalog of the data, in which the catalog provides a means to directly locate information in any of the connected systems, but is not itself responsible for maintenance of data. The model is designed to be general-purpose and to extend naturally to similar use cases.

Posted in Digital Humanities, Talks and conference papers | Comments Off

Pusan National University

I’m very excited to be visiting the Department of Korean Literature in Classical Chinese at Pusan National University next week to give two talks – abstracts follow:

Old Meets New: Digital Opportunities in the Humanities
28th September 2017, 10am-12pm

The application of digital methods has brought enormous benefits to many fields of study, not only by offering more efficient ways of conducting research and teaching along traditional lines, but also by opening up entirely new directions and research questions which would have been impractical or even impossible to pursue prior to the digital age. This digital revolution offers new and exciting opportunities for many humanities subjects – including Chinese studies. Through use of computer software, digital techniques make possible large-scale studies of volumes of material which would once have been entirely impractical to study in depth due to the time and manual effort required to assemble and process the source materials. Even more excitingly, they offer the opportunity to apply sophisticated statistical techniques to give new insight and understanding into important humanities questions. In this talk I introduce examples of how and why computational methods are making possible new types of studies in the humanities in general and the study of Chinese literature and history in particular.

Computational Approaches to Chinese Literature
28th September 2017, 4-6pm

Digital methods and the emerging field of digital humanities are revolutionizing the study of literature and history. In the first part of this talk, I present the results of a computational study of parallel passages in the pre-Qin and Han corpus and use it to demonstrate how digital methods can provide new insights in the field of pre-modern Chinese literature. This study begins by implementing an automated procedure for identifying pairs of parallel passages, which is demonstrated to be more effective than prior work by human experts. The procedure is used to identify hundreds of thousands of parallels within the classical Chinese corpus, and the resulting data aggregated in order to study broader trends. The results of this quantitative study not only enable far more precise evaluation of claims made by traditional scholarship, but also the investigation of patterns of text reuse at a corpus level.

The second part of the talk introduces the Chinese Text Project digital library and associated tools for textual analysis of Chinese literature. Taken together, these provide a uniquely flexible platform for digital textual analysis of pre-modern Chinese writing, which allows for rapid experimentation with a range of digital techniques without requiring specialized technical or programming skills. Methods introduced include automated identification of text reuse, pattern matching using regular expressions, and network visualization.

Posted in Chinese, Digital Humanities, Talks and conference papers | Comments Off

JADH Poster: DH research and teaching with digital library APIs

At this year’s Japanese Association for Digital Humanities conference, as well as giving a keynote on digital infrastructure, I also presented this poster on the specific example of full-text digital library APIs being used in ctext.org and for teaching at Harvard EALC.

Abstract

As digital libraries continue to grow in size and scope, their contents present ever increasing opportunities for use in data mining as well as digital humanities research and teaching. At the same time, the contents of the largest such libraries tend towards being dynamic rather than static collections of information, changing over time as new materials are added and existing materials augmented in various ways. Application Programming Interfaces (APIs) provide efficient mechanisms by which to access materials from digital libraries for data mining and digital humanities use, as well as by which to enable the distributed development of related tools. Here I present a working example of an API developed for the Chinese Text Project digital library being used to facilitate digital humanities research and teaching, while also enabling distributed development of related tools without requiring centralized administration or coordination.

Firstly, for data-mining, digital humanities teaching and research use, the API facilitates direct access to textual data and metadata in machine-readable format. In the implementation described, the API itself consists of a set of documented HTTP endpoints returning structured data in JSON format. Textual objects are identified and requested by means of stable identifiers, which can be obtained programmatically through the API itself, as well as manually through the digital library’s existing public user interface. To further facilitate use of the API by end users, native modules for several programming environments (currently including Python and JavaScript) are also provided, wrapping API calls in methods adapted to the specific environment. Though not required in order to make use of the API, these native modules greatly simplify the most common use cases, further abstract details of implementation, and make possible the creation of programs performing sophisticated operations on arbitrary textual objects using a few lines of easily understandable code. This has obvious applications in digital humanities teaching, where simple and efficient access to data in consistent formats is of considerable importance when covering complex subjects within a limited amount of classroom or lab time, and also facilitates research use in which the ability to rapidly experiment with different materials as well as prototype and reuse code with minimal effort is also of practical utility.

Secondly, along with the API itself, the provision of a plugin mechanism allowing the creation of user-definable extensions to the library’s online user interface makes possible augmentation of core library functionality through the use of external tools in ways that are transparent and intuitive to end users while also not requiring centralized coordination or approval to create or modify. Plugins consist of user-defined, sharable XML resource descriptions which can be installed into individual user accounts; the user interface uses information contained in these descriptions – such as link schemas – to send appropriate data such as textual object references to specified external resources, which can then request full-text data, metadata, and other relevant content via API and perform task-specific processing on the requested data. Any user can create a new plugin, share it with others, and take responsibility for future updates to their plugin code, without requiring central approval or coordination.

This technical framework enables a distributed web-based development model in which external projects can be loosely integrated with the digital library and its user interface, from an end user perspective being well integrated with the library, while from a technical standpoint being developed and maintained entirely independently. Currently available applications using this approach include simple plugins for basic functionality such as full-text export, the “Text Tools” plugin for textual analysis, and the “MARKUS” named entity markup interface for historical Chinese texts developed by Brent Ho and Hilde De Weerdt, as well as a large number of external online dictionaries. The “Text Tools” plugin provides a range of common text processing services and visualization methods, such as n-gram statistics, similarity comparisons of textual materials based on n-gram shingling, and regular expression search and replace, along with network graph, word cloud, and chart visualizations; “MARKUS” uses external databases of Chinese named entities together with a custom interface to mark-up texts for further analysis. Because of the standardization of format imposed by the API layer, such plugins have access not only to structured metadata about texts and editions, but also to structural information about the text itself, such as data on divisions of texts into individual chapters and paragraphs. For example, in the case of the “Text Tools” plugin this information can be used by the user to aggregate regular expression results and perform similarity comparisons by text, by chapter or by paragraph, in the latter two cases also making possible visualization of results using the integrated network graphing tool. As these tasks are facilitated by API, tools such as these can be developed and maintained without requiring knowledge of or access to the digital library’s code base or internal data structures; from an end user perspective, these plugins do not require technical knowledge to use, and can be accessed as direct extensions to the primary user interface. This distributed model of development has the potential to greatly expand the range of available features and use cases of this and other digital libraries, by providing a practical separation of concerns of data and metadata creation and curation on the one hand, and text mining, markup, visualization, and other tasks on the other, while simultaneously allowing this technical division to remain largely transparent to a user of these separately maintained and developed tools and platforms.

Posted in Chinese, Digital Humanities, Talks and conference papers | Comments Off