{
"cells": [
{
"cell_type": "markdown",
"metadata": {
"id": "tXis3tfFTNcG"
},
"source": [
"# Sample Inspector (Part II)\n",
"\n"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "NJJnti00TNcJ"
},
"source": [
"\n",
"\n",
"This notebook compares the Microsoft Digitised Books collection to the genre annotations. We'd like to know if the annotated sample deviates from the digital collection and look at aspects that _should_ remains stable across both datasets."
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"id": "eDMj08-5TNcK"
},
"outputs": [],
"source": [
"%matplotlib inline\n",
"import json\n",
"import pandas as pd\n",
"from collections import Counter"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "2gQ5Gj36djCZ"
},
"source": [
"## Data processing"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "TxyORvXGTNcL"
},
"source": [
"First, we load the metadata of the Microsoft Digitised Books collection. "
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 555
},
"id": "eLGGRMUPTNcM",
"outputId": "b2f91cdf-1c41-4568-af74-cd85fd3694de"
},
"outputs": [
{
"data": {
"text/html": [
"\n",
"
\n",
"
\n",
"
\n",
"\n",
"
\n",
" \n",
"
\n",
"
\n",
"
BL record ID
\n",
"
Type of resource
\n",
"
Name
\n",
"
Dates associated with name
\n",
"
Type of name
\n",
"
Role
\n",
"
All names
\n",
"
Title
\n",
"
Variant titles
\n",
"
Series title
\n",
"
Number within series
\n",
"
Country of publication
\n",
"
Place of publication
\n",
"
Publisher
\n",
"
Date of publication
\n",
"
Edition
\n",
"
Physical description
\n",
"
Dewey classification
\n",
"
BL shelfmark
\n",
"
Topics
\n",
"
Genre
\n",
"
Languages
\n",
"
Notes
\n",
"
BL record ID for physical resource
\n",
"
\n",
" \n",
" \n",
"
\n",
"
0
\n",
"
014602826
\n",
"
Monograph
\n",
"
Yearsley, Ann
\n",
"
1753-1806
\n",
"
person
\n",
"
NaN
\n",
"
More, Hannah, 1745-1833 [person] ; Yearsley, A...
\n",
"
Poems on several occasions [With a prefatory l...
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
England
\n",
"
London
\n",
"
NaN
\n",
"
1786
\n",
"
Fourth edition MANUSCRIPT note
\n",
"
NaN
\n",
"
NaN
\n",
"
Digital Store 11644.d.32
\n",
"
NaN
\n",
"
NaN
\n",
"
English
\n",
"
NaN
\n",
"
3996603
\n",
"
\n",
"
\n",
"
1
\n",
"
014602830
\n",
"
Monograph
\n",
"
A, T.
\n",
"
NaN
\n",
"
person
\n",
"
NaN
\n",
"
Oldham, John, 1653-1683 [person] ; A, T. [person]
\n",
"
A Satyr against Vertue. (A poem: supposed to b...
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
England
\n",
"
London
\n",
"
NaN
\n",
"
1679
\n",
"
NaN
\n",
"
15 pages (4°)
\n",
"
NaN
\n",
"
Digital Store 11602.ee.10. (2.)
\n",
"
NaN
\n",
"
NaN
\n",
"
English
\n",
"
NaN
\n",
"
1143
\n",
"
\n",
"
\n",
"
2
\n",
"
014602831
\n",
"
Monograph
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
The Aeronaut, a poem; founded almost entirely,...
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
Ireland
\n",
"
Dublin
\n",
"
Richard Milliken
\n",
"
1816
\n",
"
NaN
\n",
"
17 pages (8°)
\n",
"
NaN
\n",
"
Digital Store 992.i.12. (3.)
\n",
"
Dublin (Ireland)
\n",
"
NaN
\n",
"
English
\n",
"
NaN
\n",
"
22782
\n",
"
\n",
" \n",
"
\n",
"
\n",
" \n",
" \n",
" \n",
"\n",
" \n",
"
\n",
"
\n",
" "
],
"text/plain": [
" BL record ID Type of resource ... Notes BL record ID for physical resource\n",
"0 014602826 Monograph ... NaN 3996603\n",
"1 014602830 Monograph ... NaN 1143\n",
"2 014602831 Monograph ... NaN 22782\n",
"\n",
"[3 rows x 24 columns]"
]
},
"execution_count": null,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"metadata_blb = pd.read_csv(\n",
" \"https://bl.iro.bl.uk/downloads/e1be1324-8b1a-4712-96a7-783ac209ddef?locale=en\",\n",
" dtype={\"BL record ID\": \"string\"},\n",
" parse_dates=False,\n",
")\n",
"metadata_blb.head(3)"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "4aMzk5XheLr9"
},
"source": [
"## Computing the title's first character."
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "hJ8L_EXGTNcM"
},
"source": [
"A simple test for comparing the sample to the Microsoft Digitised Books metadata is computing the probabilities of the title's first character. This distribution should look similar for both datasets. Below we create a function `first_alpha_char` that returns the first character of a string. If none could be found, it returns a hashtag."
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"id": "CPLtjbSUTNcN"
},
"outputs": [],
"source": [
"def first_alpha_char(x):\n",
" \"\"\"returns the first lowercased alphatical character of a string\"\"\"\n",
" try:\n",
" x = x[0].lower()\n",
" x = \"\".join([c for c in x if c.isalpha()])\n",
" return x[0]\n",
" except:\n",
" return \"#\""
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "FZYJQODXTNcO"
},
"source": [
"With `.apply()` we can extract to first character from the `title` column."
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"id": "AoxWf4e9TNcP"
},
"outputs": [],
"source": [
"metadata_blb[\"first_alpha_char\"] = metadata_blb.Title.apply(first_alpha_char)"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "ISXwu6L-TNcP"
},
"source": [
"Next, we use `Counter()` to count all elements in the `first_alpha_char` column and turn the counts into probabilities."
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"id": "59konXvgTNcQ"
},
"outputs": [],
"source": [
"char_count = Counter(\n",
" metadata_blb[metadata_blb[\"first_alpha_char\"] != None].first_alpha_char\n",
")\n",
"char_probs = {k: v / sum(char_count.values()) for k, v in char_count.items()}"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "HKAGHnMQeUe_"
},
"source": [
"## Plotting distribution of first title character"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 283
},
"id": "SMfFfhNTTNcR",
"outputId": "f4b58450-0a7f-47dc-865d-5bc226bc338b"
},
"outputs": [
{
"data": {
"text/plain": [
""
]
},
"execution_count": null,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"
"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"pd.Series(char_probs, index=sorted(char_probs.keys()))[\"a\":\"z\"].plot()"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "uHRwDDmgTNcR"
},
"source": [
"Next, we apply the same procedure to the annotated sample. We'll start by loading the annotated sample."
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "NvIeNXJAeeB8"
},
"source": [
"## Comparing to the annotated data"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 355
},
"id": "Mlqog-T3Tdq1",
"outputId": "f73c425f-3f1f-47bc-e2f6-23609b0882fe"
},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"/usr/local/lib/python3.7/dist-packages/IPython/core/interactiveshell.py:2718: DtypeWarning: Columns (17,35,37) have mixed types.Specify dtype option on import or set low_memory=False.\n",
" interactivity=interactivity, compiler=compiler, result=result)\n"
]
},
{
"data": {
"text/html": [
"\n",
"
\n",
"
\n",
"
\n",
"\n",
"
\n",
" \n",
"
\n",
"
\n",
"
BL record ID
\n",
"
Type of resource
\n",
"
Name
\n",
"
Dates associated with name
\n",
"
Type of name
\n",
"
Role
\n",
"
All names
\n",
"
Title
\n",
"
Variant titles
\n",
"
Series title
\n",
"
Number within series
\n",
"
Country of publication
\n",
"
Place of publication
\n",
"
Publisher
\n",
"
Date of publication
\n",
"
Edition
\n",
"
Physical description
\n",
"
Dewey classification
\n",
"
BL shelfmark
\n",
"
Topics
\n",
"
Genre
\n",
"
Languages
\n",
"
Notes
\n",
"
BL record ID for physical resource
\n",
"
classification_id
\n",
"
user_id
\n",
"
created_at
\n",
"
subject_ids
\n",
"
annotator_date_pub
\n",
"
annotator_normalised_date_pub
\n",
"
annotator_edition_statement
\n",
"
annotator_genre
\n",
"
annotator_FAST_genre_terms
\n",
"
annotator_FAST_subject_terms
\n",
"
annotator_comments
\n",
"
annotator_main_language
\n",
"
annotator_other_languages_summaries
\n",
"
annotator_summaries_language
\n",
"
annotator_translation
\n",
"
annotator_original_language
\n",
"
annotator_publisher
\n",
"
annotator_place_pub
\n",
"
annotator_country
\n",
"
annotator_title
\n",
"
Link to digitised book
\n",
"
annotated
\n",
"
\n",
" \n",
" \n",
"
\n",
"
0
\n",
"
014602826
\n",
"
Monograph
\n",
"
Yearsley, Ann
\n",
"
1753-1806
\n",
"
person
\n",
"
NaN
\n",
"
More, Hannah, 1745-1833 [person] ; Yearsley, A...
\n",
"
Poems on several occasions [With a prefatory l...
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
England
\n",
"
London
\n",
"
NaN
\n",
"
1786
\n",
"
Fourth edition MANUSCRIPT note
\n",
"
NaN
\n",
"
NaN
\n",
"
Digital Store 11644.d.32
\n",
"
NaN
\n",
"
NaN
\n",
"
English
\n",
"
NaN
\n",
"
3996603
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
False
\n",
"
\n",
" \n",
"
\n",
"
\n",
" \n",
" \n",
" \n",
"\n",
" \n",
"
\n",
"
\n",
" "
],
"text/plain": [
" BL record ID Type of resource ... Link to digitised book annotated\n",
"0 014602826 Monograph ... NaN False\n",
"\n",
"[1 rows x 46 columns]"
]
},
"execution_count": null,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"annotations = pd.read_csv(\n",
" \"https://bl.iro.bl.uk/downloads/36c7cd20-c8a7-4495-acbe-469b9132c6b1?locale=en\",\n",
" dtype={\"BL record ID\": str},\n",
")\n",
"annotations.head(1)"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "fk5UuvpZXA1q"
},
"source": [
"This dataset includes both annotated data and non-annotated data. Since we only want the annotated data, we can filter these out using the `annotated` column which contains a flag to indicate if the data has been annotated. "
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"id": "07WVi70SW-w5"
},
"outputs": [],
"source": [
"annotations = annotations[annotations[\"annotated\"] == True]"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "zaIK-3w3XW7i"
},
"source": [
"Because of the way in which the annotations were collected we have some duplicates. There are different ways in which we can deal with these duplicates but here we will just drop the duplicates for the `Title` column. "
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"id": "cbwmG3KbYJ3Z"
},
"outputs": [],
"source": [
"annotations = annotations.drop_duplicates(subset=\"Title\")"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "lxqJUyUhTNcS",
"outputId": "e66d3f0d-29d7-4c9f-cd13-95952b5e3c39"
},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"/usr/local/lib/python3.7/dist-packages/ipykernel_launcher.py:1: SettingWithCopyWarning: \n",
"A value is trying to be set on a copy of a slice from a DataFrame.\n",
"Try using .loc[row_indexer,col_indexer] = value instead\n",
"\n",
"See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n",
" \"\"\"Entry point for launching an IPython kernel.\n"
]
}
],
"source": [
"annotations[\"first_alpha_char\"] = annotations.Title.apply(first_alpha_char)"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"id": "Z0Jj1_rZTNcT"
},
"outputs": [],
"source": [
"char_count_anno = Counter(\n",
" annotations[annotations[\"first_alpha_char\"] != None].first_alpha_char\n",
")\n",
"char_probs_anno = {\n",
" k: v / sum(char_count_anno.values()) for k, v in char_count_anno.items()\n",
"}"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "QbvjzIeMeh-g"
},
"source": [
"## Plotting a comparison between the annotated subset and full collection "
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 283
},
"id": "BHX17wkUTNcU",
"outputId": "b5c121d3-8edd-4935-cdc1-8bb91c560cc2"
},
"outputs": [
{
"data": {
"text/plain": [
""
]
},
"execution_count": null,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
""
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"pd.Series(char_probs, index=sorted(char_probs.keys())).plot()\n",
"pd.Series(char_probs_anno, index=sorted(char_probs_anno.keys())).plot()"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "Nr2r6u61TNcU",
"outputId": "b059861c-af6a-4e22-8506-64f7b46a830a"
},
"outputs": [
{
"data": {
"text/plain": [
"array([nan, 'lat\\nger', 'gmh\\nlat\\nger', 'ger', 'ger\\ngmh\\nlat',\n",
" 'ger\\nfre', 'eng', 'lat\\ngmh\\nger', 'ger\\neng', 'ger\\nlat',\n",
" 'lat\\nfre', 'dut\\nfre\\nspa', 'fre\\nger', 'ger\\nfrs\\nlat',\n",
" 'ger\\ngmh', 'lat\\ndut\\nfrm\\nfre', 'ger\\nspa', 'eng\\nfre'],\n",
" dtype=object)"
]
},
"execution_count": null,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"annotations[\"annotator_main_language\"].unique()"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"id": "EZyYLA4KTNcU"
},
"outputs": [],
"source": [
"annotations[\"english\"] = annotations[\"annotator_main_language\"].apply(\n",
" lambda x: str(x).lower().startswith(\"eng\")\n",
")"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "Pz-G_ALxeqDY"
},
"source": [
"## Compare distribution of publication date"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "hCyul5VqTNcV"
},
"source": [
"Lastly, we can compare the distribution over time to see if the sample is biased towards are certain period."
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"id": "8k_qgv4LY8pM"
},
"outputs": [],
"source": [
"metadata_blb = metadata_blb[metadata_blb[\"Date of publication\"].notna()].copy(deep=True)"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"id": "IcAm0xViZkHC"
},
"outputs": [],
"source": [
"metadata_blb[\"date\"] = metadata_blb[\"Date of publication\"].str.split(\"-\").str[0]"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 283
},
"id": "y5-MSel-TNcV",
"outputId": "ea4e123b-253a-4b8b-916e-266fc1988ab2"
},
"outputs": [
{
"data": {
"text/plain": [
""
]
},
"execution_count": null,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
""
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"year_counts = Counter(metadata_blb[\"date\"].values)\n",
"year_probs = {k: v / sum(year_counts.values()) for k, v in year_counts.items()}\n",
"pd.Series(year_probs, index=sorted(year_probs.keys()))[\"1800\":\"1900\"].plot()"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"id": "MltuiV8JTNcV"
},
"outputs": [],
"source": [
"year_counts_anno = Counter(annotations[\"annotator_normalised_date_pub\"].values)\n",
"year_probs_anno = {\n",
" k: v / sum(year_counts_anno.values()) for k, v in year_counts_anno.items()\n",
"}"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "zTR9jXILTNcW"
},
"source": [
"Below, we made a small function to manipulate the date of publication field by extracting the year (if available) and returning it as an integer."
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"id": "ozwvgAArTNcW"
},
"outputs": [],
"source": [
"def get_int(x):\n",
" \"\"\"return year is integer\"\"\"\n",
" try:\n",
" return int(x)\n",
" except:\n",
" pass\n",
" try:\n",
" return int(x.split(\"-\")[0])\n",
" except:\n",
" False\n",
"\n",
"\n",
"year_probs_anno = {str(k): v for k, v in year_probs_anno.items() if get_int(k)}"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "NhXWgWVgexcb"
},
"source": [
"## Comparing publication dates across the annotated and full collection "
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 283
},
"id": "bHguWCLqTNcW",
"outputId": "67e9bdfb-92e3-4527-baae-0b7094e303fc"
},
"outputs": [
{
"data": {
"text/plain": [
""
]
},
"execution_count": null,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
""
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"pd.Series(year_probs, index=sorted(year_probs.keys()))[\"1800\":\"1900\"].plot()\n",
"pd.Series(year_probs_anno, index=sorted(year_probs_anno.keys()))[\"1800\":\"1900\"].plot()"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "aSGEVQxXe3Ja"
},
"source": [
"## Conclusion \n",
"\n",
"Whilst this wasn't a super rigorous assessment of the potential differences and similarities between the collections, it does give us some sense of this. \n",
"\n",
"Because we are using our annotated data to train a model that we will then want to use on the whole collection (or at least a more significant part of the collection). We want to be careful about how both of these collections may differ. If there are substantial differences between the two, our model may perform well on our training data but badly on new data. This concept is something we'll return to frequently in the remaining sections. "
]
}
],
"metadata": {
"colab": {
"collapsed_sections": [],
"name": "sample_inspector_ii.ipynb",
"provenance": []
},
"kernelspec": {
"display_name": "Python 3",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.7.4"
}
},
"nbformat": 4,
"nbformat_minor": 0
}