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

Collaboration at scale: emerging infrastructures for digital scholarship

Keynote lecture, Japanese Association for Digital Humanities (JADH 2017), Kyoto

Abstract

Modern technological society is possible only as a result of collaborations constantly taking place between countless individuals and groups working on tasks which at first glance may seem independent from one another yet are ultimately connected through complex interdependencies. Just as technological progress is not merely a story of ever more sophisticated technologies, but also of the evolution of increasingly efficient structures facilitating their development, so too scholarship moves forward not just by the creation of ever more nuanced ideas and theories, but also by increasingly powerful means of identifying, exchanging, and building upon these ideas.

The digital medium presents revolutionary opportunities for facilitating such tasks in humanities scholarship. Most obviously, it offers the ability to perform certain types of analyses on scales larger than would ever have been practical without use of computational methods – for example the examination of trends in word usage across millions of books, or visualizations of social interactions of tens of thousands of historical individuals. But it also presents opportunities for vastly more scalable methods of collaboration between individuals and groups working on distinct yet related projects. Simple examples are readily available: computer scientists develop and publish code through open source platforms, companies further adapt it for use in commercial systems, and humanities scholars to apply it to their own research; libraries digitize and share historical works from their collections, which are transcribed by volunteers, searched and read by researchers and cited in scholarly works.

Much of the infrastructure already in use in digital scholarship is infrastructure developed for more general-purpose use – a natural and desirable development given the obvious economies of scale which result from this. However, as the application of digital methods in humanities scholarship becomes increasingly mainstream, as digitized objects of study more numerous, and related digital techniques more specialized, the value of infrastructure designed specifically to support scholarship in particular fields of study becomes increasingly apparent. This paper will examine types of humanities infrastructure projects which are emerging, and the potential they have to facilitate scalable collaboration within and beyond distributed scholarly communities.

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

Digital humanities and the digital library

Subtitled “OCR, crowdsourcing, and text mining of Chinese historical texts”

Paper to be presented at the CADAL Project Work Conference on Digital Resources Sharing and Application, Zhejiang University, 16 June 2017.


数字人文与数字图书馆:中国历代文献的文字识别、群众外包及文本挖掘

本次演讲介绍中国哲学书电子化计划中的主要技术。中国哲学书电子化计划是全球最大规模的前现代中文传世文献电子图书馆之一,目前,每日有25,000多用户使用其公开操作界面。主要原创技术可归类为三种:(一)前现代中文资料的文字识别技术(OCR)、(二)借用大量用户劳力的群众外包界面、(三)既实现与其它线上工具之间的整合、又提供文本挖掘途径的开放式应用程式界面(API)。

第一个原创技术是专门为中国前现代文献设计的文字识别技术。此技术利用前现代文献常见的写作、印刷特征以及已数字化的大量文献来实现具有高精确性以及扩充性的文字识别系统。该系统已处理2,500多万页资料,其结果已在网络上公开。

第二,通过独特的群众外包界面,世界各地的用户可纠正文字识别错误,补充后设资料,从而能够及时参与数字化过程并积极协助内容的扩展。全球用户每日提供上百次的校勘,系统将此及时储存到具有版本控制功能的数据库。

第三,系统的应用程式界面可用于文本挖掘,亦可用于扩充一般使用界面的功能,
从而有效地借用日益增长的资料库文本内容来达到数字人文研究和教学的目的。通过此应用程式界面,为Python等程式语言所开发的专门组件可用于数字人文教学;JavaScript组件便于他人开发易用的线上工具,使他人所开发的应用工具能够直接读取和操作电子图书馆中的各种内容。

In this talk I present an overview of key technologies used in the Chinese Text Project, one of the largest digital libraries of pre-modern Chinese transmitted texts, the public user interface of which is currently used by over 25,000 people every day. Key technologies used fall into three main categories: Optical Character Recognition (OCR) for pre-modern Chinese texts, a practical and successful crowdsourcing interface taking advantage of a large base of users, and an open Application Programming Interface allowing both integration with other online tools and projects as well as open-ended use for text mining purposes.

Firstly, specialized OCR techniques have been developed for pre-modern Chinese texts. These techniques leverage aspects of common writing and printing styles, together with a large existing body of transcribed textual material, to implement an OCR pipeline with high accuracy and scalability. These techniques have so far been applied to over 25 million pages of pre-modern Chinese texts, and the results made freely available online.

Secondly, a unique crowdsourcing interface for editing texts created primarily via OCR enables users to correct mistakes and add additional information and metadata, allowing users around the world to meaningfully and immediately contribute to the project and to actively participate in the curation of its contents. Hundreds of corrections are received and immediately applied to the version controlled texts every day by users based around the world.

Thirdly, the creation of a specialized API for text mining use and extension of the primary user interface enables efficient access to the ever-growing data set for use in digital humanities research and teaching. Creation of specialized modules for programming languages such as Python allows for intuitive use in digital humanities teaching contexts, while simple access via JavaScript enables the creation of easy-to-use online tools which can directly access and operate on textual materials stored in the library.

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

Crowdsourcing a digital library of pre-modern Chinese

Seminar in the Digital Classicist London 2017 series at the Institute of Classical Studies, University of London, 9 June 2017.

Traditional digital libraries, including those in the field of pre-modern Chinese, have typically followed top-down, centralized, and static models of content creation and curation. This is a natural and well-grounded strategy for database design and implementation, with strong roots in traditional academic publishing models, and offering clear technical advantages over alternative approaches. This strategy, however, is unable to adequately meet the challenges of increasingly large-scale digitization and the resulting rapid growth in available corpus size.

In this talk I present a working example of a dynamic alternative to the conventional static model. This alternative leverages a large, distributed community of users, many of whom may not be affiliated with mainstream academia, to curate material in a way that is distributed, scalable, and does not rely upon centralized editing. In the particular case presented, initial transcriptions of scanned pre-modern works are created automatically using specially developed OCR techniques and immediately published in an online open access digital library platform called the Chinese Text Project. The online platform uses this data to implement full-text search, image search, full-text export and other features, while simultaneously facilitating correction of initial OCR results by a geographically distributed group of pseudonymous volunteer users. The online platform described is currently used by around 25,000 individual users each day. User-submitted corrections are immediately applied to the publicly available version-controlled transcriptions without prior review, but are easily validated visually by other users using simple semi-automated mechanisms. This approach allows immediate access to a “long tail” of less popular and less mainstream material which would otherwise likely be overlooked for inclusion in this type of full-text database system. To date the procedure described has been applied to over 25 million pages of historical texts, including 5 million pages from the Harvard-Yenching Library collection, and the complete results published online.

In addition to the online platform, the development of an open plugin system and API allowing customization of the user interface with user-defined extensions and immediate machine-readable access to full-text data and metadata have made possible many further use cases. These include efficient, distributed collaboration and integration with other online web platforms including projects based at Leiden University, Academia Sinica and elsewhere, as well as use in data mining, digital humanities research and teaching, and as a self-service tool for use in projects requiring the creation of proofread transcriptions of particular early texts. A Python library has also been created to further encourage use of the API; in the final part of the talk I explain how the API together with this Python library are currently being used to facilitate – and greatly simplify – digital humanities teaching at Harvard’s Department of East Asian Languages and Civilizations.

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