*disclaimer
639383
[Corpus]
EFCAMDAT
https://philarion.mml.cam.ac.uk/
概要
規模
- 830万語
- 100万個の作文
- 174,000人
- CEFR A1-C2
付加情報
- エラー
- 品詞
- 文法依存関係
- 国籍
ユーザーマニュアル
https://corpus.mml.cam.ac.uk/faq/EFCamDat-Intro_release2.pdf
利用
- ユーザー登録をするだけ。無料。
データの選択
The current selection contains 1180309 scripts (±83543589 words) from: - 174743 learners - All nationalities - All unit(s) from level(s): all levels
- 「script」という単位
- Teaching levels and units
- 1から16のレベルを選んだあと
- そこに含まれるユニット(テーマ)を選ぶ
- Learner nationalities
- エリアで選んだあと、
- 国を選ぶ
検索パタンの指定(これをしなければ、データ全体をダウンロードすることになる)
- [word="単語"]
- [pos="品詞"]
- [lemma="レマ"]
- 連続して複数の項目を指定することもできる
- [word="the"][pos="N"][word="of"]
データのダウンロード
Segment of interest: Whole scripts matching your criteria Sentences matching your criteria Information included: Raw script text Syntactic annotations Error corrections Export format: XML compressed (zipped) XML uncompressed
例
- 日本人の書いたスクリプトは21,374個(1,602,328語)
- 3,441人
- すべてのレベルから126ユニット
- Raw script textのみXMLformatでダウンロード
- 圧縮状態で3.5MB
- 解凍して13MB
XMLフォーマット
<?xml version="1.0" encoding="UTF-8"?> <selection id="32の英数文字"> <meta> <title>Education First - Cambridge Open Language Database</title> <version>EFCamDat_2.0 (EF201403)</version> <url>https://philarion.mml.cam.ac.uk/efcamdat/</url> <nationalities>二文字</nationalities> <units>該当したユニット番号、二桁が、カンマ区切りで</units> </meta> <writings> <writing id="4桁数字" level="一桁数字" unit="一桁数字"> <learner id="6桁数字" nationality="二文字"/> <topic id="二桁数字">エッセイのトピック</topic> <date>日付 時間 ミリ秒まで</date> <grade>二桁数字</grade> <text> エッセイ本文 </text> </writing> 個々のエッセイは<writing>という単位になっている </writings> </selection>
データの修正
- <selection id="32の英数文字">の部分が、複数のselectionがなければ不要。
- 不要な要素が入ったままだとエラーになる
- <selection>タグの部分削除
属性と要素
- 項目の内容を、項目のタグ名と要素に分けて書けば話は単純
- しかし、「内容」をタグの属性(Attribute)として表記する方法もある
<learner>25</learner> <learner id="25"/> <learner id="25" age="22"/>
- EFCAMDATは両方の方式でデータが書かれている。
- xmlconvertで変換するときに手間がかかる
データフレームに変換するスクリプト: xml2dfcamdat()
library(xmlconvert) xml2dfcamdat <- function(a){ # 2021-10-26 copyleft sugiura@nagoya-u.jp writing.df <- xml_to_df(a, records.tag = "writing", fields="attributes") learner.df <- xml_to_df(a, records.tag = "learner", fields="attributes") topic.df <- xml_to_df(a, records.tag = "topic", fields="attributes") tags.df <- xml_to_df(a, records.tag = "writing", fields="tags") tmp.df <- cbind(writing.df, learner.df, topic.df, tags.df) colnames(tmp.df) <- c("writing_ID", "level", "unit", "learner_ID", "nationality", "topic_ID", "learner", "topic", "date", "grade", "text") (tmp.df[,-7]) }
出典
Huang, Y., Murakami, A., Alexopoulou, T., & Korhonen, A. (2018). Dependency parsing of learner English. International Journal of Corpus Linguistics, 23(1), 28-54.
Geertzen, J. , Alexopoulou, T., & Korhonen, A. (2013). Automatic linguistic annotation of large scale L2 databases: The EF-Cambridge Open Language Database (EFCAMDAT). Selected Proceedings of the 31st Second Language Research Forum (SLRF), Cascadilla Press, MA.
https://sugiura-ken.org/wiki/