mirror of
https://github.com/deepset-ai/haystack.git
synced 2025-07-25 09:50:14 +00:00

* change class names to bm25 * Update Documentation & Code Style * Update Documentation & Code Style * Update Documentation & Code Style * Add back all_terms_must_match * fix syntax * Update Documentation & Code Style * Update Documentation & Code Style * Creating a wrapper for old ES retriever with deprecated wrapper * Update Documentation & Code Style * New method for deprecating old ESRetriever * New attempt for deprecating the ESRetriever * Reverting to the simplest solution - warning logged * Update Documentation & Code Style Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: Sara Zan <sara.zanzottera@deepset.ai>
3242 lines
241 KiB
Plaintext
3242 lines
241 KiB
Plaintext
{
|
||
"cells": [
|
||
{
|
||
"cell_type": "markdown",
|
||
"metadata": {
|
||
"id": "DeAkZwDhufYA"
|
||
},
|
||
"source": [
|
||
"# Open-Domain QA on Tables\n",
|
||
"[](https://colab.research.google.com/github/deepset-ai/haystack/blob/master/tutorials/Tutorial15_TableQA.ipynb)\n",
|
||
"\n",
|
||
"This tutorial shows you how to perform question-answering on tables using the `TableTextRetriever` or `BM25Retriever` as retriever node and the `TableReader` as reader node."
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"metadata": {
|
||
"id": "vbR3bETlvi-3"
|
||
},
|
||
"source": [
|
||
"### Prepare environment\n",
|
||
"\n",
|
||
"#### Colab: Enable the GPU runtime\n",
|
||
"Make sure you enable the GPU runtime to experience decent speed in this tutorial.\n",
|
||
"**Runtime -> Change Runtime type -> Hardware accelerator -> GPU**\n",
|
||
"\n",
|
||
"<img src=\"https://raw.githubusercontent.com/deepset-ai/haystack/master/docs/img/colab_gpu_runtime.jpg\">"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": null,
|
||
"metadata": {
|
||
"id": "HW66x0rfujyO"
|
||
},
|
||
"outputs": [],
|
||
"source": [
|
||
"# Make sure you have a GPU running\n",
|
||
"!nvidia-smi"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": null,
|
||
"metadata": {
|
||
"id": "_ZXoyhOAvn7M"
|
||
},
|
||
"outputs": [],
|
||
"source": [
|
||
"# Install the latest release of Haystack in your own environment\n",
|
||
"#! pip install farm-haystack\n",
|
||
"\n",
|
||
"# Install the latest master of Haystack\n",
|
||
"!pip install --upgrade pip\n",
|
||
"!pip install git+https://github.com/deepset-ai/haystack.git#egg=farm-haystack[colab]\n",
|
||
"\n",
|
||
"# The TaPAs-based TableReader requires the torch-scatter library\n",
|
||
"!pip install torch-scatter -f https://data.pyg.org/whl/torch-1.10.0+cu113.html\n",
|
||
"\n",
|
||
"# Install pygraphviz for visualization of Pipelines\n",
|
||
"!apt install libgraphviz-dev\n",
|
||
"!pip install pygraphviz"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"metadata": {
|
||
"id": "K_XJhluXwF5_"
|
||
},
|
||
"source": [
|
||
"### Start an Elasticsearch server\n",
|
||
"You can start Elasticsearch on your local machine instance using Docker. If Docker is not readily available in your environment (e.g. in Colab notebooks), then you can manually download and execute Elasticsearch from source."
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": null,
|
||
"metadata": {
|
||
"id": "frDqgzK7v2i1"
|
||
},
|
||
"outputs": [],
|
||
"source": [
|
||
"# Recommended: Start Elasticsearch using Docker via the Haystack utility function\n",
|
||
"from haystack.utils import launch_es\n",
|
||
"\n",
|
||
"launch_es()"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": null,
|
||
"metadata": {
|
||
"id": "S4PGj1A6wKWu"
|
||
},
|
||
"outputs": [],
|
||
"source": [
|
||
"# In Colab / No Docker environments: Start Elasticsearch from source\n",
|
||
"! wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.9.2-linux-x86_64.tar.gz -q\n",
|
||
"! tar -xzf elasticsearch-7.9.2-linux-x86_64.tar.gz\n",
|
||
"! chown -R daemon:daemon elasticsearch-7.9.2\n",
|
||
"\n",
|
||
"import os\n",
|
||
"from subprocess import Popen, PIPE, STDOUT\n",
|
||
"\n",
|
||
"es_server = Popen(\n",
|
||
" [\"elasticsearch-7.9.2/bin/elasticsearch\"], stdout=PIPE, stderr=STDOUT, preexec_fn=lambda: os.setuid(1) # as daemon\n",
|
||
")\n",
|
||
"# wait until ES has started\n",
|
||
"! sleep 30"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": null,
|
||
"metadata": {
|
||
"id": "RmxepXZtwQ0E"
|
||
},
|
||
"outputs": [],
|
||
"source": [
|
||
"# Connect to Elasticsearch\n",
|
||
"from haystack.document_stores import ElasticsearchDocumentStore\n",
|
||
"\n",
|
||
"# We want to use a small model producing 512-dimensional embeddings, so we need to set embedding_dim to 512\n",
|
||
"document_index = \"document\"\n",
|
||
"document_store = ElasticsearchDocumentStore(\n",
|
||
" host=\"localhost\", username=\"\", password=\"\", index=document_index, embedding_dim=512\n",
|
||
")"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"metadata": {
|
||
"id": "fFh26LIlxldw"
|
||
},
|
||
"source": [
|
||
"## Add Tables to DocumentStore\n",
|
||
"To quickly demonstrate the capabilities of the `TableTextRetriever` and the `TableReader` we use a subset of 1000 tables and text documents from a dataset we have published in [this paper](https://arxiv.org/abs/2108.04049).\n",
|
||
"\n",
|
||
"Just as text passages, tables are represented as `Document` objects in Haystack. The content field, though, is a pandas DataFrame instead of a string."
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": null,
|
||
"metadata": {
|
||
"id": "nM63uwbd8zd6"
|
||
},
|
||
"outputs": [],
|
||
"source": [
|
||
"# Let's first fetch some tables that we want to query\n",
|
||
"# Here: 1000 tables from OTT-QA\n",
|
||
"from haystack.utils import fetch_archive_from_http\n",
|
||
"\n",
|
||
"doc_dir = \"data/tutorial15\"\n",
|
||
"s3_url = \"https://s3.eu-central-1.amazonaws.com/deepset.ai-farm-qa/datasets/documents/table_text_dataset.zip\"\n",
|
||
"fetch_archive_from_http(url=s3_url, output_dir=doc_dir)"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 4,
|
||
"metadata": {
|
||
"colab": {
|
||
"base_uri": "https://localhost:8080/"
|
||
},
|
||
"id": "SKjw2LuXxlGh",
|
||
"outputId": "92c67d24-d6fb-413e-8dd7-53075141d508"
|
||
},
|
||
"outputs": [
|
||
{
|
||
"name": "stdout",
|
||
"output_type": "stream",
|
||
"text": [
|
||
" Opponent M W L T NR Win% First Last\n",
|
||
"0 Afghanistan 2 2 0 0 0 100.0 2012 2014\n",
|
||
"1 Australia 98 32 62 1 3 34.21 1975 2017\n",
|
||
"2 Bangladesh 35 31 4 0 0 88.57 1986 2015\n",
|
||
"3 Canada 2 2 0 0 0 100.0 1979 2011\n",
|
||
"4 England 82 31 49 0 2 38.75 1974 2017\n",
|
||
"5 Hong Kong 2 2 0 0 0 100.0 2004 2008\n",
|
||
"6 India 129 73 52 0 4 58.4 1978 2017\n",
|
||
"7 Ireland 7 5 1 1 0 78.57 2007 2016\n",
|
||
"8 Kenya 6 6 0 0 0 100.0 1996 2011\n",
|
||
"9 Namibia 1 1 0 0 0 100.0 2003 2003\n",
|
||
"10 Netherlands 3 3 0 0 0 100.0 1996 2003\n",
|
||
"11 New Zealand 103 53 47 1 2 52.97 1973 2018\n",
|
||
"12 Scotland 3 3 0 0 0 100.0 1999 2013\n",
|
||
"13 South Africa 73 25 47 0 1 34.72 1992 2017\n",
|
||
"14 Sri Lanka 153 90 58 1 4 60.73 1975 2017\n",
|
||
"15 United Arab Emirates 3 3 0 0 0 100.0 1994 2015\n",
|
||
"16 West Indies 133 60 70 3 0 46.24 1975 2017\n",
|
||
"17 Zimbabwe 59 52 4 1 2 92.1 1992 2018\n",
|
||
"18 Total[12] 894 474 394 8 18 54.56 1973 2018\n",
|
||
"{}\n"
|
||
]
|
||
}
|
||
],
|
||
"source": [
|
||
"# Add the tables to the DocumentStore\n",
|
||
"\n",
|
||
"import json\n",
|
||
"from haystack import Document\n",
|
||
"import pandas as pd\n",
|
||
"\n",
|
||
"\n",
|
||
"def read_tables(filename):\n",
|
||
" processed_tables = []\n",
|
||
" with open(filename) as tables:\n",
|
||
" tables = json.load(tables)\n",
|
||
" for key, table in tables.items():\n",
|
||
" current_columns = table[\"header\"]\n",
|
||
" current_rows = table[\"data\"]\n",
|
||
" current_df = pd.DataFrame(columns=current_columns, data=current_rows)\n",
|
||
" document = Document(content=current_df, content_type=\"table\", id=key)\n",
|
||
" processed_tables.append(document)\n",
|
||
"\n",
|
||
" return processed_tables\n",
|
||
"\n",
|
||
"\n",
|
||
"tables = read_tables(f\"{doc_dir}/tables.json\")\n",
|
||
"document_store.write_documents(tables, index=document_index)\n",
|
||
"\n",
|
||
"# Showing content field and meta field of one of the Documents of content_type 'table'\n",
|
||
"print(tables[0].content)\n",
|
||
"print(tables[0].meta)"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"metadata": {
|
||
"id": "hmQC1sDmw3d7"
|
||
},
|
||
"source": [
|
||
"## Initalize Retriever, Reader, & Pipeline\n",
|
||
"\n",
|
||
"### Retriever\n",
|
||
"\n",
|
||
"Retrievers help narrowing down the scope for the Reader to a subset of tables where a given question could be answered.\n",
|
||
"They use some simple but fast algorithm.\n",
|
||
"\n",
|
||
"**Here:** We use the `TableTextRetriever` capable of retrieving relevant content among a database\n",
|
||
"of texts and tables using dense embeddings. It is an extension of the `DensePassageRetriever` and consists of three encoders (one query encoder, one text passage encoder and one table encoder) that create embeddings in the same vector space. More details on the `TableTextRetriever` and how it is trained can be found in [this paper](https://arxiv.org/abs/2108.04049).\n",
|
||
"\n",
|
||
"**Alternatives:**\n",
|
||
"\n",
|
||
"- `BM25Retriever` that uses BM25 algorithm\n"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": null,
|
||
"metadata": {
|
||
"id": "EY_qvdV6wyK5"
|
||
},
|
||
"outputs": [],
|
||
"source": [
|
||
"from haystack.nodes.retriever import TableTextRetriever\n",
|
||
"\n",
|
||
"retriever = TableTextRetriever(\n",
|
||
" document_store=document_store,\n",
|
||
" query_embedding_model=\"deepset/bert-small-mm_retrieval-question_encoder\",\n",
|
||
" passage_embedding_model=\"deepset/bert-small-mm_retrieval-passage_encoder\",\n",
|
||
" table_embedding_model=\"deepset/bert-small-mm_retrieval-table_encoder\",\n",
|
||
")"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": null,
|
||
"metadata": {
|
||
"id": "jasi1RM2zIJ7"
|
||
},
|
||
"outputs": [],
|
||
"source": [
|
||
"# Add table embeddings to the tables in DocumentStore\n",
|
||
"document_store.update_embeddings(retriever=retriever)"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": null,
|
||
"metadata": {
|
||
"id": "XM-ijy6Zz11L"
|
||
},
|
||
"outputs": [],
|
||
"source": [
|
||
"## Alternative: BM25Retriever\n",
|
||
"# from haystack.nodes.retriever import BM25Retriever\n",
|
||
"# retriever = BM25Retriever(document_store=document_store)"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 7,
|
||
"metadata": {
|
||
"colab": {
|
||
"base_uri": "https://localhost:8080/"
|
||
},
|
||
"id": "YHfQWxVI0N2e",
|
||
"outputId": "1d8dc4d2-a184-489e-defa-d445d76c458f"
|
||
},
|
||
"outputs": [
|
||
{
|
||
"name": "stdout",
|
||
"output_type": "stream",
|
||
"text": [
|
||
" Year Coach Super Bowl \\\n",
|
||
"0 1966 Vince Lombardi I \n",
|
||
"1 1967 Vince Lombardi II \n",
|
||
"2 1996 Mike Holmgren XXXI \n",
|
||
"3 2010 Mike McCarthy XLV \n",
|
||
"4 Total Super Bowls won: Total Super Bowls won: Total Super Bowls won: \n",
|
||
"\n",
|
||
" Location Opponent Score Record \n",
|
||
"0 Los Angeles, California Kansas City Chiefs 35–10 12–2 \n",
|
||
"1 Miami, Florida Oakland Raiders 33–14 9–4–1 \n",
|
||
"2 New Orleans, Louisiana New England Patriots 35–21 13–3 \n",
|
||
"3 Arlington, Texas Pittsburgh Steelers 31–25 10–6 \n",
|
||
"4 Total Super Bowls won: Total Super Bowls won: 4 4 \n"
|
||
]
|
||
}
|
||
],
|
||
"source": [
|
||
"# Try the Retriever\n",
|
||
"from haystack.utils import print_documents\n",
|
||
"\n",
|
||
"retrieved_tables = retriever.retrieve(\"Who won the Super Bowl?\", top_k=5)\n",
|
||
"# Get highest scored table\n",
|
||
"print(retrieved_tables[0].content)"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"metadata": {
|
||
"id": "zbwkXScm2-gy"
|
||
},
|
||
"source": [
|
||
"### Reader\n",
|
||
"The `TableReader` is based on TaPas, a transformer-based language model capable of grasping the two-dimensional structure of a table. It scans the tables returned by the retriever and extracts the anser. The available TableReader models can be found [here](https://huggingface.co/models?pipeline_tag=table-question-answering&sort=downloads).\n",
|
||
"\n",
|
||
"**Notice**: The `TableReader` will return an answer for each table, even if the query cannot be answered by the table. Furthermore, the confidence scores are not useful as of now, given that they will *always* be very high (i.e. 1 or close to 1)."
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": null,
|
||
"metadata": {
|
||
"id": "4APcRoio2RxG"
|
||
},
|
||
"outputs": [],
|
||
"source": [
|
||
"from haystack.nodes import TableReader\n",
|
||
"\n",
|
||
"reader = TableReader(model_name_or_path=\"google/tapas-base-finetuned-wtq\", max_seq_len=512)"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 9,
|
||
"metadata": {
|
||
"colab": {
|
||
"base_uri": "https://localhost:8080/"
|
||
},
|
||
"id": "ILuAXkyN4F7x",
|
||
"outputId": "4bd19dcb-df8e-4a4d-b9d2-d34650e9e5c2"
|
||
},
|
||
"outputs": [
|
||
{
|
||
"name": "stdout",
|
||
"output_type": "stream",
|
||
"text": [
|
||
" Name Program Role Salary Year \\\n",
|
||
"0 Simon Cowell The X Factor Judge $75 million 2012–13 \n",
|
||
"1 Britney Spears American Idol $25 million 2017–18 [15] \n",
|
||
"2 Jennifer Lopez $20 million 2011–12 [16] nan \n",
|
||
"3 Mariah Carey $18 million 2012–13 [17] nan \n",
|
||
"4 Hugh Laurie House Gregory House $15 million 2013 \n",
|
||
"5 Ryan Seacrest American Idol Host 2013–16 [14] \n",
|
||
"6 Katy Perry The X Factor Judge 2012 [17] \n",
|
||
"7 Miley Cyrus The Voice Coach $13 million 2016–17 \n",
|
||
"8 Adam Levine 2016–18 [18] nan nan \n",
|
||
"9 Blake Shelton 2016–18 [18] nan nan \n",
|
||
"10 Christina Aguilera $12.5 million 2013 [19] nan \n",
|
||
"11 Kelly Clarkson $12 million 2018 [20] nan \n",
|
||
"12 Shakira 2013 [19] nan nan \n",
|
||
"13 Gwen Stefani 2017 [21] nan nan \n",
|
||
"14 Nicki Minaj American Idol Judge 2012–13 [19] \n",
|
||
"\n",
|
||
" Ref. \n",
|
||
"0 [14] \n",
|
||
"1 nan \n",
|
||
"2 nan \n",
|
||
"3 nan \n",
|
||
"4 [14] \n",
|
||
"5 nan \n",
|
||
"6 nan \n",
|
||
"7 [18] \n",
|
||
"8 nan \n",
|
||
"9 nan \n",
|
||
"10 nan \n",
|
||
"11 nan \n",
|
||
"12 nan \n",
|
||
"13 nan \n",
|
||
"14 nan \n"
|
||
]
|
||
}
|
||
],
|
||
"source": [
|
||
"# Try the TableReader on one Table\n",
|
||
"\n",
|
||
"table_doc = document_store.get_document_by_id(\"36964e90-3735-4ba1-8e6a-bec236e88bb2\")\n",
|
||
"print(table_doc.content)"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 10,
|
||
"metadata": {
|
||
"colab": {
|
||
"base_uri": "https://localhost:8080/"
|
||
},
|
||
"id": "ilbsecgA4vfN",
|
||
"outputId": "f845f43e-43e8-48fe-d0ef-91b17a5eff0e"
|
||
},
|
||
"outputs": [
|
||
{
|
||
"name": "stdout",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"\n",
|
||
"Query: Who played Gregory House in the series House?\n",
|
||
"Answers:\n",
|
||
"[ <Answer {'answer': 'Hugh Laurie', 'type': 'extractive', 'score': 1.0, 'context': Name Program Role Salary Year \\\n",
|
||
"0 Simon Cowell The X Factor Judge $75 million 2012–13 \n",
|
||
"1 Britney Spears American Idol $25 million 2017–18 [15] \n",
|
||
"2 Jennifer Lopez $20 million 2011–12 [16] nan \n",
|
||
"3 Mariah Carey $18 million 2012–13 [17] nan \n",
|
||
"4 Hugh Laurie House Gregory House $15 million 2013 \n",
|
||
"5 Ryan Seacrest American Idol Host 2013–16 [14] \n",
|
||
"6 Katy Perry The X Factor Judge 2012 [17] \n",
|
||
"7 Miley Cyrus The Voice Coach $13 million 2016–17 \n",
|
||
"8 Adam Levine 2016–18 [18] nan nan \n",
|
||
"9 Blake Shelton 2016–18 [18] nan nan \n",
|
||
"10 Christina Aguilera $12.5 million 2013 [19] nan \n",
|
||
"11 Kelly Clarkson $12 million 2018 [20] nan \n",
|
||
"12 Shakira 2013 [19] nan nan \n",
|
||
"13 Gwen Stefani 2017 [21] nan nan \n",
|
||
"14 Nicki Minaj American Idol Judge 2012–13 [19] \n",
|
||
"\n",
|
||
" Ref. \n",
|
||
"0 [14] \n",
|
||
"1 nan \n",
|
||
"2 nan \n",
|
||
"3 nan \n",
|
||
"4 [14] \n",
|
||
"5 nan \n",
|
||
"6 nan \n",
|
||
"7 [18] \n",
|
||
"8 nan \n",
|
||
"9 nan \n",
|
||
"10 nan \n",
|
||
"11 nan \n",
|
||
"12 nan \n",
|
||
"13 nan \n",
|
||
"14 nan , 'offsets_in_document': [{'start': 24, 'end': 25}], 'offsets_in_context': [{'start': 24, 'end': 25}], 'document_id': '36964e90-3735-4ba1-8e6a-bec236e88bb2', 'meta': {'aggregation_operator': 'NONE', 'answer_cells': ['Hugh Laurie']}}>]\n"
|
||
]
|
||
}
|
||
],
|
||
"source": [
|
||
"from haystack.utils import print_answers\n",
|
||
"\n",
|
||
"prediction = reader.predict(query=\"Who played Gregory House in the series House?\", documents=[table_doc])\n",
|
||
"print_answers(prediction, details=\"all\")"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"metadata": {
|
||
"id": "jkAYNMb7R9qu"
|
||
},
|
||
"source": [
|
||
"The offsets in the `offsets_in_document` and `offsets_in_context` field indicate the table cells that the model predicts to be part of the answer. They need to be interpreted on the linearized table, i.e., a flat list containing all of the table cells."
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 11,
|
||
"metadata": {
|
||
"colab": {
|
||
"base_uri": "https://localhost:8080/"
|
||
},
|
||
"id": "It8XYT2ZTVJs",
|
||
"outputId": "7d31af60-e04a-485d-f0ee-f29592b03928"
|
||
},
|
||
"outputs": [
|
||
{
|
||
"name": "stdout",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"Predicted answer: Hugh Laurie\n",
|
||
"Meta field: {'aggregation_operator': 'NONE', 'answer_cells': ['Hugh Laurie']}\n"
|
||
]
|
||
}
|
||
],
|
||
"source": [
|
||
"print(f\"Predicted answer: {prediction['answers'][0].answer}\")\n",
|
||
"print(f\"Meta field: {prediction['answers'][0].meta}\")"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"metadata": {
|
||
"id": "pgmG7pzL5ceh"
|
||
},
|
||
"source": [
|
||
"### Pipeline\n",
|
||
"The Retriever and the Reader can be sticked together to a pipeline in order to first retrieve relevant tables and then extract the answer.\n",
|
||
"\n",
|
||
"**Notice**: Given that the `TableReader` does not provide useful confidence scores and returns an answer for each of the tables, the sorting of the answers might be not helpful."
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 12,
|
||
"metadata": {
|
||
"id": "G-aZZvyv4-Mf"
|
||
},
|
||
"outputs": [],
|
||
"source": [
|
||
"# Initialize pipeline\n",
|
||
"from haystack import Pipeline\n",
|
||
"\n",
|
||
"table_qa_pipeline = Pipeline()\n",
|
||
"table_qa_pipeline.add_node(component=retriever, name=\"TableTextRetriever\", inputs=[\"Query\"])\n",
|
||
"table_qa_pipeline.add_node(component=reader, name=\"TableReader\", inputs=[\"TableTextRetriever\"])"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 13,
|
||
"metadata": {
|
||
"colab": {
|
||
"base_uri": "https://localhost:8080/"
|
||
},
|
||
"id": "m8evexnW6dev",
|
||
"outputId": "40514084-f516-4f13-fb48-6a55cb578366"
|
||
},
|
||
"outputs": [
|
||
{
|
||
"name": "stderr",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"/opt/homebrew/lib/python3.9/site-packages/numpy/core/fromnumeric.py:3440: RuntimeWarning: Mean of empty slice.\n",
|
||
" return _methods._mean(a, axis=axis, dtype=dtype,\n",
|
||
"/opt/homebrew/lib/python3.9/site-packages/numpy/core/_methods.py:189: RuntimeWarning: invalid value encountered in double_scalars\n",
|
||
" ret = ret.dtype.type(ret / rcount)\n"
|
||
]
|
||
},
|
||
{
|
||
"name": "stdout",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"\n",
|
||
"Query: When was Guilty Gear Xrd : Sign released?\n",
|
||
"Answers:\n",
|
||
"[ { 'answer': 'December 16 , 2014',\n",
|
||
" 'context': Title First release \\\n",
|
||
"0 Guilty Gear Xrd : Sign December 16 , 2014 \n",
|
||
"1 BlazBlue : Chrono Phantasma Extend June 30 , 2015 \n",
|
||
"2 Aegis of Earth : Protonovus Assault March 15 , 2016 \n",
|
||
"3 BlazBlue : Central Fiction October 6 , 2016 \n",
|
||
"4 Chronicles of Teddy : Harmony of Exidus March 29 , 2016 \n",
|
||
"5 Guilty Gear Xrd : Revelator June 7 , 2016 \n",
|
||
"6 Exist Archive : The Other Side of the Sky October 18 , 2016 \n",
|
||
"7 Guilty Gear Xrd : Rev 2 May 25 , 2017 \n",
|
||
"8 Under Night In-Birth Exe : Late [ st ] Late 2017 \n",
|
||
"9 School Girl/Zombie Hunter Late 2017 \n",
|
||
"10 Tokyo Xanadu eX+ 2017 \n",
|
||
"11 Code : Realize ~Bouquet of Rainbows~ 2018 \n",
|
||
"12 Death Mark 2018 \n",
|
||
"13 NG ( Visual Novel ) 2019 \n",
|
||
"\n",
|
||
" Developer ( s ) Platform ( s ) \n",
|
||
"0 Arc System Works PlayStation 4 \n",
|
||
"1 Arc System Works PlayStation 4 \n",
|
||
"2 Acquire PlayStation 4 \n",
|
||
"3 Arc System Works PlayStation 4 \n",
|
||
"4 LookAtMyGame PlayStation 4 ( PSN ) \n",
|
||
"5 Arc System Works PlayStation 4 \n",
|
||
"6 Spike Chunsoft , tri-Ace PlayStation 4 \n",
|
||
"7 Arc System Works PlayStation 4 \n",
|
||
"8 Ecole Software , French Bread PlayStation 4 \n",
|
||
"9 Tamsoft PlayStation 4 \n",
|
||
"10 Falcom PlayStation 4 \n",
|
||
"11 Otomate PlayStation 4 \n",
|
||
"12 Experience Inc PlayStation 4 \n",
|
||
"13 Experience Inc PlayStation 4 },\n",
|
||
" { 'answer': 'October 7 , 2008',\n",
|
||
" 'context': Title \\\n",
|
||
"0 Battle Fantasia \n",
|
||
"1 Guilty Gear 2 : Overture \n",
|
||
"2 BlazBlue : Calamity Trigger \n",
|
||
"3 0-D Beat Drop \n",
|
||
"4 Record of Agarest War \n",
|
||
"5 DeathSmiles \n",
|
||
"6 BlazBlue : Continuum Shift \n",
|
||
"7 Record of Agarest War Zero \n",
|
||
"8 Bit.Trip Presents ... Runner2 : Future Legend of Rhythm Alien \n",
|
||
"9 A.R.E.S : Extinction Agenda EX \n",
|
||
"\n",
|
||
" First release Developer ( s ) Platform ( s ) \n",
|
||
"0 September 16 , 2008 Arc System Works Xbox 360 \n",
|
||
"1 October 7 , 2008 Arc System Works Xbox 360 \n",
|
||
"2 June 30 , 2009 Arc System Works Xbox 360 \n",
|
||
"3 November 11 , 2009 Cyclone Zero Xbox 360 ( XBLA ) \n",
|
||
"4 April 27 , 2010 Compile Heart , Red Entertainment Xbox 360 \n",
|
||
"5 June 28 , 2010 Cave Xbox 360 \n",
|
||
"6 July 27 , 2010 Arc System Works Xbox 360 \n",
|
||
"7 June 14 , 2011 Compile Heart , Red Entertainment Xbox 360 \n",
|
||
"8 February 27 , 2013 Gaijin Games Xbox 360 ( XBLA ) \n",
|
||
"9 October 2 , 2013 Extend Studio Xbox 360 ( XBLA ) },\n",
|
||
" { 'answer': 'April 7 , 2009',\n",
|
||
" 'context': Title First release \\\n",
|
||
"0 Guilty Gear XX Accent Core Plus April 7 , 2009 \n",
|
||
"1 BlazBlue : Calamity Trigger Portable February 25 , 2010 \n",
|
||
"2 Cho Aniki Zero March 25 , 2010 \n",
|
||
"3 Mimana Iyar Chronicle March 30 , 2010 \n",
|
||
"4 Gladiator Begins September 14 , 2010 \n",
|
||
"5 Blazing Souls Accelate October 19 , 2010 \n",
|
||
"6 Jikandia : The Timeless Land March 15 , 2011 \n",
|
||
"7 BlazBlue : Continuum Shift II May 31 , 2011 \n",
|
||
"8 Fate/Extra November 1 , 2011 \n",
|
||
"9 Hakuoki : Demon of the Fleeting Blossom February 14 , 2012 \n",
|
||
"10 Hakuoki : Warriors of the Shinsengumi November 6 , 2012 \n",
|
||
"11 Ragnarok Tactics February 19 , 2013 \n",
|
||
"12 Sweet Fuse : At Your Side August 27 , 2013 \n",
|
||
"\n",
|
||
" Developer ( s ) \\\n",
|
||
"0 Arc System Works \n",
|
||
"1 Arc System Works \n",
|
||
"2 extreme Co. , Ltd \n",
|
||
"3 Kogado Studio , Premium Agency \n",
|
||
"4 Goshow \n",
|
||
"5 Neverland \n",
|
||
"6 Opus Studio Inc \n",
|
||
"7 Arc System Works \n",
|
||
"8 Type-Moon \n",
|
||
"9 Idea Factory , Otomate \n",
|
||
"10 Idea Factory \n",
|
||
"11 GungHo Online Entertainment , Apollosoft , Chime \n",
|
||
"12 Idea Factory , Otomate , Comcept \n",
|
||
"\n",
|
||
" Platform ( s ) \n",
|
||
"0 PlayStation Portable \n",
|
||
"1 PlayStation Portable \n",
|
||
"2 PlayStation Portable ( PSN ) \n",
|
||
"3 PlayStation Portable \n",
|
||
"4 PlayStation Portable \n",
|
||
"5 PlayStation Portable \n",
|
||
"6 PlayStation Portable \n",
|
||
"7 PlayStation Portable \n",
|
||
"8 PlayStation Portable \n",
|
||
"9 PlayStation Portable \n",
|
||
"10 PlayStation Portable \n",
|
||
"11 PlayStation Portable \n",
|
||
"12 PlayStation Portable },\n",
|
||
" { 'answer': 'April 7 , 2009',\n",
|
||
" 'context': Title First release \\\n",
|
||
"0 Guilty Gear XX Accent Core Plus April 7 , 2009 \n",
|
||
"1 BlazBlue : Calamity Trigger Portable February 25 , 2010 \n",
|
||
"2 Cho Aniki Zero March 25 , 2010 \n",
|
||
"3 Mimana Iyar Chronicle March 30 , 2010 \n",
|
||
"4 Gladiator Begins September 14 , 2010 \n",
|
||
"5 Blazing Souls Accelate October 19 , 2010 \n",
|
||
"6 Jikandia : The Timeless Land March 15 , 2011 \n",
|
||
"7 BlazBlue : Continuum Shift II May 31 , 2011 \n",
|
||
"8 Fate/Extra November 1 , 2011 \n",
|
||
"9 Hakuoki : Demon of the Fleeting Blossom February 14 , 2012 \n",
|
||
"10 Hakuoki : Warriors of the Shinsengumi November 6 , 2012 \n",
|
||
"11 Ragnarok Tactics February 19 , 2013 \n",
|
||
"12 Sweet Fuse : At Your Side August 27 , 2013 \n",
|
||
"\n",
|
||
" Developer ( s ) \\\n",
|
||
"0 Arc System Works \n",
|
||
"1 Arc System Works \n",
|
||
"2 extreme Co. , Ltd \n",
|
||
"3 Kogado Studio , Premium Agency \n",
|
||
"4 Goshow \n",
|
||
"5 Neverland \n",
|
||
"6 Opus Studio Inc \n",
|
||
"7 Arc System Works \n",
|
||
"8 Type-Moon \n",
|
||
"9 Idea Factory , Otomate \n",
|
||
"10 Idea Factory \n",
|
||
"11 GungHo Online Entertainment , Apollosoft , Chime \n",
|
||
"12 Idea Factory , Otomate , Comcept \n",
|
||
"\n",
|
||
" Platform ( s ) \n",
|
||
"0 PlayStation Portable \n",
|
||
"1 PlayStation Portable \n",
|
||
"2 PlayStation Portable ( PSN ) \n",
|
||
"3 PlayStation Portable \n",
|
||
"4 PlayStation Portable \n",
|
||
"5 PlayStation Portable \n",
|
||
"6 PlayStation Portable \n",
|
||
"7 PlayStation Portable \n",
|
||
"8 PlayStation Portable \n",
|
||
"9 PlayStation Portable \n",
|
||
"10 PlayStation Portable \n",
|
||
"11 PlayStation Portable \n",
|
||
"12 PlayStation Portable },\n",
|
||
" { 'answer': '2010',\n",
|
||
" 'context': Title Year Other artist ( s ) \\\n",
|
||
"0 Count on You 2010 Big Time Rush \n",
|
||
"1 You Got ta Want It 2011 nan \n",
|
||
"2 Chocolate Brown Eyes 2013 Salaam Remi \n",
|
||
"3 Vertigo 2013 Jason Derulo \n",
|
||
"4 Vertigo 2014 Jason Derulo \n",
|
||
"5 Playing With Fire 2015 Thomas Rhett \n",
|
||
"6 Too Late for Love 2016 DJ Antoine \n",
|
||
"7 Water Guns 2016 Todrick Hall \n",
|
||
"8 Chasing 2017 Danny Gokey \n",
|
||
"\n",
|
||
" Album \n",
|
||
"0 BTR \n",
|
||
"1 Official Gameday Music of the NFL \n",
|
||
"2 One in the Chamber \n",
|
||
"3 Tattoos \n",
|
||
"4 Talk Dirty \n",
|
||
"5 Tangled Up \n",
|
||
"6 Provocateur \n",
|
||
"7 Straight Outta Oz \n",
|
||
"8 Rise },\n",
|
||
" { 'answer': '2012',\n",
|
||
" 'context': Title Year \\\n",
|
||
"0 The American Scream 2012 \n",
|
||
"1 Dead Souls 2012 \n",
|
||
"2 Ghoul 2012 \n",
|
||
"3 Beneath 2013 \n",
|
||
"4 Chilling Visions : 5 Senses of Fear 2013 \n",
|
||
"5 The Monkey 's Paw 2013 \n",
|
||
"6 Animal 2014 \n",
|
||
"7 Deep in the Darkness 2014 \n",
|
||
"8 The Boy 2015 \n",
|
||
"9 SiREN 2016 \n",
|
||
"10 Camera Obscura 2017 \n",
|
||
"11 Dementia 13 2017 \n",
|
||
"\n",
|
||
" Production Co \n",
|
||
"0 Chiller Films Brainstorm Media \n",
|
||
"1 Chiller Films Synthetic Productions \n",
|
||
"2 Chiller Films Modernciné \n",
|
||
"3 Glass Eye Pix \n",
|
||
"4 Chiller Films Synthetic Cinema International \n",
|
||
"5 TMP Films \n",
|
||
"6 Flower Films Synthetic Cinema International \n",
|
||
"7 Chiller Films Synthetic Cinema International \n",
|
||
"8 SpectreVision \n",
|
||
"9 Studio71 \n",
|
||
"10 Chiller Films Hood River Entertainment Paper Street Pictures \n",
|
||
"11 Pipeline Entertainment Haloran LLC },\n",
|
||
" { 'answer': 'November 15 , 2007',\n",
|
||
" 'context': Title First release \\\n",
|
||
"0 Hooked ! Real Motion Fishing October 30 , 2007 \n",
|
||
"1 Guilty Gear XX Accent Core November 15 , 2007 \n",
|
||
"2 MiniCopter : Adventure Flight April 11 , 2008 \n",
|
||
"3 River City Ransom April 21 , 2008 \n",
|
||
"4 Double Dragon April 28 , 2008 \n",
|
||
"5 Renegade May 5 , 2008 \n",
|
||
"6 Castle of Shikigami III May 13 , 2008 \n",
|
||
"7 Family Table Tennis May 26 , 2008 \n",
|
||
"8 Super Dodge Ball September 22 , 2008 \n",
|
||
"9 Family Glide Hockey January 19 , 2009 \n",
|
||
"10 Bit.Trip Beat March 16 , 2009 \n",
|
||
"11 Family Pirate Party May 11 , 2009 \n",
|
||
"12 Guilty Gear XX Accent Core Plus May 12 , 2009 \n",
|
||
"13 Family Mini Golf June 22 , 2009 \n",
|
||
"14 Bit.Trip Core July 6 , 2009 \n",
|
||
"15 Family Slot Car Racing August 17 , 2009 \n",
|
||
"16 Crash ' n the Boys : Street Challenge September 14 , 2009 \n",
|
||
"17 Family Tennis September 21 , 2009 \n",
|
||
"18 Family Card Games November 2 , 2009 \n",
|
||
"19 Hooked ! Again : Real Motion Fishing November 3 , 2009 \n",
|
||
"\n",
|
||
" Developer ( s ) Platform ( s ) \n",
|
||
"0 SIMS Wii \n",
|
||
"1 Arc System Works Wii \n",
|
||
"2 Sonic Powered Wii \n",
|
||
"3 Technos Wii ( Virtual Console ) \n",
|
||
"4 Technos Wii ( Virtual Console ) \n",
|
||
"5 Technos Wii ( Virtual Console ) \n",
|
||
"6 Alfa System Wii \n",
|
||
"7 Arc System Works Wii ( WiiWare ) \n",
|
||
"8 Technos Wii ( Virtual Console ) \n",
|
||
"9 Arc System Works Wii ( WiiWare ) \n",
|
||
"10 Gaijin Games Wii ( WiiWare ) \n",
|
||
"11 Arc System Works Wii ( WiiWare ) \n",
|
||
"12 Arc System Works Wii \n",
|
||
"13 Arc System Works Wii ( WiiWare ) \n",
|
||
"14 Gaijin Games Wii ( WiiWare ) \n",
|
||
"15 Arc System Works Wii ( WiiWare ) \n",
|
||
"16 Technos Wii ( Virtual Console ) \n",
|
||
"17 Arc System Works Wii ( WiiWare ) \n",
|
||
"18 Arc System Works Wii ( WiiWare ) \n",
|
||
"19 SIMS Co. , Ltd Wii },\n",
|
||
" { 'answer': '',\n",
|
||
" 'context': Game Publisher Release Date \\\n",
|
||
"0 Super Mario 64 Nintendo September 26 , 1996 \n",
|
||
"1 Wipeout XL/2097 Psygnosis September 30 , 1996 \n",
|
||
"2 Quake GT Interactive June 22 , 1996 \n",
|
||
"3 Civilization II MicroProse February 29 , 1996 \n",
|
||
"4 Tekken 2 Namco August 25 , 1996 \n",
|
||
"5 Wave Race 64 Nintendo November 1 , 1996 \n",
|
||
"6 Realms of the Haunting Interplay December 31 , 1996 \n",
|
||
"7 Tomb Raider Eidos Interactive October 25 , 1996 \n",
|
||
"8 Resident Evil Capcom March 30 , 1996 \n",
|
||
"9 Command & Conquer : Red Alert Virgin November 22 , 1996 \n",
|
||
"10 Dragon Force Sega November 30 , 1996 \n",
|
||
"11 Guardian Heroes Sega January 25 , 1996 \n",
|
||
"12 Super Mario RPG Nintendo March 9 , 1996 \n",
|
||
"13 Duke Nukem 3D GT Interactive January 29 , 1996 \n",
|
||
"14 NiGHTS into Dreams Sega July 5 , 1996 \n",
|
||
"15 Pilotwings 64 Nintendo September 26 , 1996 \n",
|
||
"16 Panzer Dragoon II Zwei Sega March 22 , 1996 \n",
|
||
"\n",
|
||
" Platform ( s ) MC score GR score \n",
|
||
"0 Nintendo 64 94/100 96.41% \n",
|
||
"1 PlayStation 93/100 94.75% \n",
|
||
"2 DOS 94/100 93.22% \n",
|
||
"3 Microsoft Windows 94/100 91.29% \n",
|
||
"4 PlayStation 89/100 92.50% \n",
|
||
"5 Nintendo 64 92/100 90.67% \n",
|
||
"6 Microsoft Windows nan 91.86% \n",
|
||
"7 PlayStation 91/100 90.02% \n",
|
||
"8 PlayStation 91/100 87.23% \n",
|
||
"9 DOS 90/100 90.91% \n",
|
||
"10 Sega Saturn nan 89.64% \n",
|
||
"11 Sega Saturn nan 89.20% \n",
|
||
"12 SNES nan 89.12% \n",
|
||
"13 DOS 89/100 88.50% \n",
|
||
"14 Sega Saturn nan 88.56% \n",
|
||
"15 Nintendo 64 80/100 87.52% \n",
|
||
"16 Sega Saturn nan 87.50% },\n",
|
||
" { 'answer': '',\n",
|
||
" 'context': Game Publisher Release Date \\\n",
|
||
"0 Super Mario 64 Nintendo September 26 , 1996 \n",
|
||
"1 Wipeout XL/2097 Psygnosis September 30 , 1996 \n",
|
||
"2 Quake GT Interactive June 22 , 1996 \n",
|
||
"3 Civilization II MicroProse February 29 , 1996 \n",
|
||
"4 Tekken 2 Namco August 25 , 1996 \n",
|
||
"5 Wave Race 64 Nintendo November 1 , 1996 \n",
|
||
"6 Realms of the Haunting Interplay December 31 , 1996 \n",
|
||
"7 Tomb Raider Eidos Interactive October 25 , 1996 \n",
|
||
"8 Resident Evil Capcom March 30 , 1996 \n",
|
||
"9 Command & Conquer : Red Alert Virgin November 22 , 1996 \n",
|
||
"10 Dragon Force Sega November 30 , 1996 \n",
|
||
"11 Guardian Heroes Sega January 25 , 1996 \n",
|
||
"12 Super Mario RPG Nintendo March 9 , 1996 \n",
|
||
"13 Duke Nukem 3D GT Interactive January 29 , 1996 \n",
|
||
"14 NiGHTS into Dreams Sega July 5 , 1996 \n",
|
||
"15 Pilotwings 64 Nintendo September 26 , 1996 \n",
|
||
"16 Panzer Dragoon II Zwei Sega March 22 , 1996 \n",
|
||
"\n",
|
||
" Platform ( s ) MC score GR score \n",
|
||
"0 Nintendo 64 94/100 96.41% \n",
|
||
"1 PlayStation 93/100 94.75% \n",
|
||
"2 DOS 94/100 93.22% \n",
|
||
"3 Microsoft Windows 94/100 91.29% \n",
|
||
"4 PlayStation 89/100 92.50% \n",
|
||
"5 Nintendo 64 92/100 90.67% \n",
|
||
"6 Microsoft Windows nan 91.86% \n",
|
||
"7 PlayStation 91/100 90.02% \n",
|
||
"8 PlayStation 91/100 87.23% \n",
|
||
"9 DOS 90/100 90.91% \n",
|
||
"10 Sega Saturn nan 89.64% \n",
|
||
"11 Sega Saturn nan 89.20% \n",
|
||
"12 SNES nan 89.12% \n",
|
||
"13 DOS 89/100 88.50% \n",
|
||
"14 Sega Saturn nan 88.56% \n",
|
||
"15 Nintendo 64 80/100 87.52% \n",
|
||
"16 Sega Saturn nan 87.50% },\n",
|
||
" { 'answer': 'April\\xa026,\\xa02018',\n",
|
||
" 'context': No. overall No. in season Title Directed by \\\n",
|
||
"0 45 1 The Conscience Code\"\" Russell Lee Fine \n",
|
||
"1 46 2 Fear and Flesh\"\" Alexandra Kalymnios \n",
|
||
"2 47 3 Hell's Gate\"\" Constantine Makris \n",
|
||
"3 48 4 Spy Games\"\" Kevin Sullivan \n",
|
||
"4 49 5 The Blood of Romeo\"\" David McWhirter \n",
|
||
"5 50 6 The Heavens Fall\"\" Russell Lee Fine \n",
|
||
"6 51 7 Bullet Train\"[10]\" Rob Bowman \n",
|
||
"7 52 8 Deep Cover\"[10]\" Jim McKay \n",
|
||
"8 53 9 Fear Feargach\"[10]\" P. J. Pesce \n",
|
||
"9 54 10 No Place Is Home\"[10]\" Kenneth Fink \n",
|
||
"10 55 11 The Art of War\"[10]\" Jennifer Phang \n",
|
||
"11 56 12 Ghosts\"[10]\" Russell Lee Fine \n",
|
||
"12 57 13 Who Are You?\"[10]\" Russell Lee Fine \n",
|
||
"\n",
|
||
" Written by Original air date [3] \\\n",
|
||
"0 Michael Seitzman April 26, 2018 \n",
|
||
"1 Dave Kalstein May 3, 2018 \n",
|
||
"2 Tom Mularz May 10, 2018 \n",
|
||
"3 Julia Cohen May 25, 2018 \n",
|
||
"4 Adam Armus June 1, 2018 \n",
|
||
"5 Michael Brandon Guercio June 15, 2018 \n",
|
||
"6 Tom Mularz & Gideon Yago June 22, 2018 \n",
|
||
"7 Cole Maliska & Joe Webb June 29, 2018 \n",
|
||
"8 Dave Kalstein & Matthew Klam July 6, 2018 \n",
|
||
"9 Gisselle Legere & Julia Cohen July 13, 2018 \n",
|
||
"10 Adam Armus & Tom Mularz July 20, 2018 \n",
|
||
"11 Julia Cohen & Matthew Klam July 27, 2018 \n",
|
||
"12 Dave Kalstein & Michael Seitzman August 3, 2018 \n",
|
||
"\n",
|
||
" U.S. viewers (millions) \n",
|
||
"0 2.66[4] \n",
|
||
"1 2.15[5] \n",
|
||
"2 1.97[6] \n",
|
||
"3 2.62[7] \n",
|
||
"4 2.99[8] \n",
|
||
"5 2.56[9] \n",
|
||
"6 TBD \n",
|
||
"7 TBD \n",
|
||
"8 TBD \n",
|
||
"9 TBD \n",
|
||
"10 TBD \n",
|
||
"11 TBD \n",
|
||
"12 TBD },\n",
|
||
" { 'answer': \"Don't Push It\",\n",
|
||
" 'context': Position Name Rider Age Weight Starting price \\\n",
|
||
"0 1st Don't Push It Tony McCoy 10 11-05 10/1 JF \n",
|
||
"1 2nd Black Apalachi Denis O'Regan 11 11-06 14/1 \n",
|
||
"2 3rd State of Play Paul Moloney 10 10-11 16/1 \n",
|
||
"3 4th Big Fella Thanks Barry Geraghty 8 10-12 10/1 JF \n",
|
||
"4 5th Hello Bud Sam Twiston-Davies 12 10-06 20/1 \n",
|
||
"5 6th Snowy Morning David Casey 10 10-13 14/1 \n",
|
||
"6 7th Character Building Nina Carberry 10 10-11 16/1 \n",
|
||
"7 8th Cloudy Lane Jason Maguire 10 11-03 25/1 \n",
|
||
"8 9th Tricky Trickster Richard Johnson 7 11-04 16/1 \n",
|
||
"9 10th Joe Lively Joe Tizzard 11 11-06 33/1 \n",
|
||
"10 11th Cerium Davy Russell 9 10-06 50/1 \n",
|
||
"11 12th Comply or Die Timmy Murphy 11 10-05 12/1 \n",
|
||
"12 13th Piraya Johnny Farrelly 7 10-07 100/1 \n",
|
||
"\n",
|
||
" Distance Prize money \n",
|
||
"0 Winner by 5 lengths £521,052 \n",
|
||
"1 5 lengths £196,285 \n",
|
||
"2 20 lengths £98,235 \n",
|
||
"3 3 lengths £49,117 \n",
|
||
"4 7 lengths £24,605 \n",
|
||
"5 1½ lengths £12,302 \n",
|
||
"6 Neck £6,105 \n",
|
||
"7 12 lengths £3,145 \n",
|
||
"8 ¾ length Nil \n",
|
||
"9 Short head Nil \n",
|
||
"10 A distance Nil \n",
|
||
"11 8 lengths Nil \n",
|
||
"12 A distance Nil },\n",
|
||
" { 'answer': '5 June 2009',\n",
|
||
" 'context': Episode First broadcast Seans team \\\n",
|
||
"0 8x01 5 June 2009 Johnny Vegas and Alex Zane \n",
|
||
"1 8x02 12 June 2009 Jeremy Clarkson and James McQuillan \n",
|
||
"2 8x03 19 June 2009 Josie Long and Jamelia \n",
|
||
"3 8x04 26 June 2009 Tom Felton and Richard E. Grant \n",
|
||
"4 8x05 3 July 2009 Yvette Fielding and David Walliams \n",
|
||
"5 8x06 10 July 2009 Reginald D. Hunter and Kelly Osbourne \n",
|
||
"6 8x07 17 July 2009 Kevin Bridges and Patrick Kielty \n",
|
||
"\n",
|
||
" Jasons team Scores \n",
|
||
"0 Ulrika Jonsson and Jack Whitehall 5–5 \n",
|
||
"1 David Walliams and Holly Walsh 2–7 \n",
|
||
"2 Mark Watson and Claudia Winkleman 4–4 \n",
|
||
"3 Alan Cumming and Lauren Laverne 4–2 \n",
|
||
"4 Reginald D. Hunter and Phil Spencer 5–4 \n",
|
||
"5 Terry Christian and Isy Suttie 4–6 \n",
|
||
"6 Rhod Gilbert and Shappi Khorsandi 3–7 },\n",
|
||
" { 'answer': '2017',\n",
|
||
" 'context': Year Title Role \\\n",
|
||
"0 2017 Mass Effect : Andromeda Various \n",
|
||
"1 2017 Lone Echo Hera \n",
|
||
"2 2017 Madden NFL 18 : Longshot Various \n",
|
||
"3 2017 FIFA 18 Beatriz Villanova \n",
|
||
"4 2017 Puzzle Fighter Additional Voices \n",
|
||
"5 2017 Need for Speed Payback Additional Voices \n",
|
||
"6 2018 Dragalia Lost Corsaint Phoenix / Kristy \n",
|
||
"7 2018 FIFA 19 Beatriz Villanova \n",
|
||
"8 2019 Crackdown 3 Additional Voices \n",
|
||
"9 2019 Anthem Princess Zhim \n",
|
||
"10 2019 FIFA 20 Beatriz Villanova \n",
|
||
"\n",
|
||
" Notes \n",
|
||
"0 Performance Capture Actor \n",
|
||
"1 Voice acting \n",
|
||
"2 Motion capture actor \n",
|
||
"3 Voice acting \n",
|
||
"4 nan \n",
|
||
"5 nan \n",
|
||
"6 Voice acting \n",
|
||
"7 Voice acting \n",
|
||
"8 nan \n",
|
||
"9 Voice acting \n",
|
||
"10 Voice acting },\n",
|
||
" { 'answer': '2017',\n",
|
||
" 'context': Year Title Role \\\n",
|
||
"0 2017 Mass Effect : Andromeda Various \n",
|
||
"1 2017 Lone Echo Hera \n",
|
||
"2 2017 Madden NFL 18 : Longshot Various \n",
|
||
"3 2017 FIFA 18 Beatriz Villanova \n",
|
||
"4 2017 Puzzle Fighter Additional Voices \n",
|
||
"5 2017 Need for Speed Payback Additional Voices \n",
|
||
"6 2018 Dragalia Lost Corsaint Phoenix / Kristy \n",
|
||
"7 2018 FIFA 19 Beatriz Villanova \n",
|
||
"8 2019 Crackdown 3 Additional Voices \n",
|
||
"9 2019 Anthem Princess Zhim \n",
|
||
"10 2019 FIFA 20 Beatriz Villanova \n",
|
||
"\n",
|
||
" Notes \n",
|
||
"0 Performance Capture Actor \n",
|
||
"1 Voice acting \n",
|
||
"2 Motion capture actor \n",
|
||
"3 Voice acting \n",
|
||
"4 nan \n",
|
||
"5 nan \n",
|
||
"6 Voice acting \n",
|
||
"7 Voice acting \n",
|
||
"8 nan \n",
|
||
"9 Voice acting \n",
|
||
"10 Voice acting },\n",
|
||
" { 'answer': '7 May 2013 (hardcover)',\n",
|
||
" 'context': # Title Publisher \\\n",
|
||
"0 1 Dead Until Dark Ace Books \n",
|
||
"1 2 Living Dead in Dallas Ace Books \n",
|
||
"2 3 Club Dead Ace Books \n",
|
||
"3 4 Dead to the World Ace Hardcover \n",
|
||
"4 5 Dead as a Doornail Ace Hardcover \n",
|
||
"5 6 Definitely Dead Ace Hardcover \n",
|
||
"6 7 All Together Dead Ace Hardcover \n",
|
||
"7 8 From Dead to Worse Ace Hardcover \n",
|
||
"8 9 Dead and Gone Ace Hardcover \n",
|
||
"9 10 Dead in the Family Ace Hardcover \n",
|
||
"10 11 Dead Reckoning Ace Hardcover \n",
|
||
"11 12 Deadlocked Ace Hardcover \n",
|
||
"12 13 Dead Ever After Ace Hardcover \n",
|
||
"\n",
|
||
" Release Length \\\n",
|
||
"0 May 2001 (paperback) January 2008 (hardcover) 291 pp \n",
|
||
"1 April 2002 (paperback) January 2009 (hardcover) 291 pp \n",
|
||
"2 May 2003 (paperback) March 2010 (hardcover) 292 pp \n",
|
||
"3 May 2004 (hardcover) May 2005 (paperback) 291 pp \n",
|
||
"4 May 2005 (hardcover) April 2006 (paperback) 295 pp \n",
|
||
"5 May 2006 (hardcover) March 2007 (paperback) 324 pp \n",
|
||
"6 May 2007 (hardcover) March 2008 (paperback) 336 pp \n",
|
||
"7 May 2008 (hardcover) March 2009 (paperback) 359 pp \n",
|
||
"8 May 2009 (hardcover) April 2010 (paperback) 312 pp \n",
|
||
"9 May 2010 (hardcover) March 2011 (paperback) 311 pp \n",
|
||
"10 May 2011 (hardcover) March 2012 (paperback) 325 pp \n",
|
||
"11 May 2012 (hardcover) March 2013 (paperback) 336 pp \n",
|
||
"12 7 May 2013 (hardcover) 352 pp \n",
|
||
"\n",
|
||
" Hardcover Paperback \n",
|
||
"0 ISBN 0-441-01597-2 ISBN 0-441-00853-4 \n",
|
||
"1 ISBN 0-441-01673-1 ISBN 0-441-00923-9 \n",
|
||
"2 ISBN 0-441-01910-2 ISBN 0-441-01051-2 \n",
|
||
"3 ISBN 0-441-01167-5 ISBN 0-441-01218-3 \n",
|
||
"4 ISBN 0-441-01279-5 ISBN 0-441-01333-3 \n",
|
||
"5 ISBN 0-441-01400-3 ISBN 0-441-01491-7 \n",
|
||
"6 ISBN 0-441-01494-1 ISBN 0-441-01581-6 \n",
|
||
"7 ISBN 0-441-01589-1 ISBN 0-441-01701-0 \n",
|
||
"8 ISBN 0-441-01715-0 ISBN 0-441-01851-3 \n",
|
||
"9 ISBN 0-441-01864-5 ISBN 0-441-02015-1 \n",
|
||
"10 ISBN 0-441-02031-3 ISBN 0-441-02060-7 \n",
|
||
"11 ISBN 1-937007-44-8 ISBN 0-425-25638-3 \n",
|
||
"12 ISBN 193700788X ISBN n/a },\n",
|
||
" { 'answer': '2',\n",
|
||
" 'context': Pos Artist \\\n",
|
||
"0 1 Daniel Lavoie , Patrick Fiori & Garou \n",
|
||
"1 2 Manau \n",
|
||
"2 3 Céline Dion \n",
|
||
"3 4 Lââm \n",
|
||
"4 5 Nomads \n",
|
||
"5 6 Hermes House Band \n",
|
||
"6 7 Brandy & Monica \n",
|
||
"7 8 Ménélik & Imane D \n",
|
||
"8 9 Ricky Martin \n",
|
||
"9 10 Des'ree \n",
|
||
"\n",
|
||
" Title Sales* \n",
|
||
"0 Belle 2,221,000 \n",
|
||
"1 La Tribu de Dana 1,415,000 \n",
|
||
"2 My Heart Will Go On 1,197,000 \n",
|
||
"3 Chanter pour ceux qui sont loin de chez eux 963,000 \n",
|
||
"4 Yakalelo 846,000 \n",
|
||
"5 I Will Survive 812,000 \n",
|
||
"6 The Boy Is Mine 662,000 \n",
|
||
"7 Bye bye 613,000 \n",
|
||
"8 La Copa De La Vida 563,000 \n",
|
||
"9 Life 555,000 },\n",
|
||
" { 'answer': '2005',\n",
|
||
" 'context': Year Title \\\n",
|
||
"0 2005 Kiss Kiss Bang Bang \n",
|
||
"1 2006 Bambi II \n",
|
||
"2 2006 Curious George \n",
|
||
"3 2006 Ice Age: The Meltdown \n",
|
||
"4 2006 Over the Hedge \n",
|
||
"5 2006 Grilled \n",
|
||
"6 2008 One Missed Call \n",
|
||
"7 2008 Horton Hears a Who! \n",
|
||
"8 2008 Speed Racer \n",
|
||
"9 2009 Tales from the Catholic Church of Elvis! \n",
|
||
"10 2009 Final Fantasy VII: Advent Children Complete \n",
|
||
"11 2009 Life Is Hot in Cracktown \n",
|
||
"12 2009 Duress \n",
|
||
"13 2009 Opposite Day \n",
|
||
"14 2009 Cloudy with a Chance of Meatballs \n",
|
||
"15 2009 Afro Samurai: Resurrection \n",
|
||
"16 2010 Killers \n",
|
||
"17 2010 Nic & Tristan Go Mega Dega \n",
|
||
"18 2010 DC Showcase: Green Arrow \n",
|
||
"19 2011 Chaperone, TheThe Chaperone \n",
|
||
"20 2011 Phineas and Ferb: Across the 2nd Dimension \n",
|
||
"21 2011 Fred 2: Night of the Living Fred \n",
|
||
"22 2012 Excision \n",
|
||
"23 2012 ParaNorman \n",
|
||
"24 2012/13 Batman: The Dark Knight Returns – Parts 1 & 2 \n",
|
||
"25 2012 Sofia the First: Once Upon a Princess \n",
|
||
"26 2013 Dora the Explorer and the Destiny Medallion \n",
|
||
"27 2013 Scooby-Doo! Stage Fright \n",
|
||
"28 2013 Sofia the First: The Floating Palace \n",
|
||
"29 2013 Tad, The Lost Explorer \n",
|
||
"30 2014 Mr. Peabody & Sherman \n",
|
||
"31 2015 Safelight \n",
|
||
"32 2016 Elena and the Secret of Avalor \n",
|
||
"33 2017 Smurfs: The Lost Village \n",
|
||
"34 2017 The Last Movie Star \n",
|
||
"\n",
|
||
" Role \\\n",
|
||
"0 Young Harmony Faith Lane \n",
|
||
"1 Thumper's sister \n",
|
||
"2 Kid \n",
|
||
"3 Various characters \n",
|
||
"4 Additional voices \n",
|
||
"5 Dolly \n",
|
||
"6 Ellie Layton \n",
|
||
"7 Various characters \n",
|
||
"8 Young Trixie Shimura \n",
|
||
"9 Little girl \n",
|
||
"10 Marlene Wallace \n",
|
||
"11 Suzie \n",
|
||
"12 Sarah Barnett \n",
|
||
"13 Carla Benson \n",
|
||
"14 Various characters \n",
|
||
"15 Young Sio \n",
|
||
"16 Sadie \n",
|
||
"17 Lisa \n",
|
||
"18 Princess Perdita \n",
|
||
"19 Sally \n",
|
||
"20 Gretchen / Various characters \n",
|
||
"21 Talia \n",
|
||
"22 Grace \n",
|
||
"23 Blithe Hollow – kid \n",
|
||
"24 Carrie Kelley/Robin (voice) \n",
|
||
"25 Sofia \n",
|
||
"26 Dora \n",
|
||
"27 Chrissy Damon \n",
|
||
"28 Sofia \n",
|
||
"29 Sara Lavrof \n",
|
||
"30 Penny Peterson \n",
|
||
"31 Kate \n",
|
||
"32 Sofia \n",
|
||
"33 Smurf Lily \n",
|
||
"34 Lil \n",
|
||
"\n",
|
||
" Notes \n",
|
||
"0 nan \n",
|
||
"1 Voice role \n",
|
||
"2 Voice role \n",
|
||
"3 Voice role \n",
|
||
"4 Voice role \n",
|
||
"5 nan \n",
|
||
"6 nan \n",
|
||
"7 Voice role \n",
|
||
"8 nan \n",
|
||
"9 nan \n",
|
||
"10 Voice role \n",
|
||
"11 nan \n",
|
||
"12 nan \n",
|
||
"13 nan \n",
|
||
"14 Voice role \n",
|
||
"15 Voice role \n",
|
||
"16 nan \n",
|
||
"17 nan \n",
|
||
"18 Voice role \n",
|
||
"19 nan \n",
|
||
"20 Voice role \n",
|
||
"21 nan \n",
|
||
"22 nan \n",
|
||
"23 Voice role \n",
|
||
"24 Direct-to-video; originally released separately \n",
|
||
"25 Voice role \n",
|
||
"26 YouTube short film series by CollegeHumor \n",
|
||
"27 Voice role \n",
|
||
"28 Voice role \n",
|
||
"29 Voice role \n",
|
||
"30 Voice role \n",
|
||
"31 nan \n",
|
||
"32 Voice role \n",
|
||
"33 Voice role \n",
|
||
"34 nan },\n",
|
||
" { 'answer': '2',\n",
|
||
" 'context': Number Album Artist \\\n",
|
||
"0 1 Tha Carter IV Lil Wayne \n",
|
||
"1 2 Take Care Drake \n",
|
||
"2 3 Watch the Throne Jay-Z & Kanye West \n",
|
||
"3 4 Thug Motivation 103 : Hustlerz Ambition Young Jeezy \n",
|
||
"4 5 Cole World : The Sideline Story J. Cole \n",
|
||
"5 6 Lasers Lupe Fiasco \n",
|
||
"6 7 Rolling Papers Wiz Khalifa \n",
|
||
"7 8 Hell : The Sequel Bad Meets Evil \n",
|
||
"8 9 Ambition Wale \n",
|
||
"9 10 Blue Slide Park Mac Miller \n",
|
||
"\n",
|
||
" 1st-week sales 1st-week position \n",
|
||
"0 964,000 1 \n",
|
||
"1 631,000 1 \n",
|
||
"2 436,000 1 \n",
|
||
"3 233,000 3 \n",
|
||
"4 217,000 1 \n",
|
||
"5 204,000 1 \n",
|
||
"6 197,000 2 \n",
|
||
"7 171,000 1 \n",
|
||
"8 164,000 2 \n",
|
||
"9 144,000 1 },\n",
|
||
" { 'answer': '15 April 2005',\n",
|
||
" 'context': Release date Release title Country Publisher \\\n",
|
||
"0 1 January 2000 Martial Law: Shanghai Express Hong Kong Deltamac (HK) \n",
|
||
"1 15 April 2005 Martial Law: Diamond Fever Hong Kong Deltamac (HK) \n",
|
||
"2 15 April 2005 Martial Law: Dead Ringers Hong Kong Deltamac (HK) \n",
|
||
"3 15 April 2005 Martial Law: Funny Money Hong Kong Deltamac (HK) \n",
|
||
"4 15 April 2005 Martial Law: Extreme Mesures Hong Kong Deltamac (HK) \n",
|
||
"5 15 April 2005 Martial Law: Trackdown Hong Kong Deltamac (HK) \n",
|
||
"6 15 April 2005 Martial Law: Take Out Hong Kong Deltamac (HK) \n",
|
||
"7 15 April 2005 Martial Law: Lock-Up Hong Kong Deltamac (HK) \n",
|
||
"8 15 April 2005 Martial Law: Substitutes Hong Kong Deltamac (HK) \n",
|
||
"9 15 April 2005 Martial Law: Trifecta Hong Kong Deltamac (HK) \n",
|
||
"10 15 April 2005 Martial Law Collection Hong Kong Deltamac (HK) \n",
|
||
"\n",
|
||
" Format Language Subtitles Notes \n",
|
||
"0 NTSC English Traditional Chinese 1 VCD \n",
|
||
"1 NTSC English Traditional Chinese 1 VCD \n",
|
||
"2 NTSC English Traditional Chinese 1 VCD \n",
|
||
"3 NTSC English Traditional Chinese 1 VCD \n",
|
||
"4 NTSC English Traditional Chinese 1 VCD \n",
|
||
"5 NTSC English Traditional Chinese 1 VCD \n",
|
||
"6 NTSC English Traditional Chinese 1 VCD \n",
|
||
"7 NTSC English Traditional Chinese 1 VCD \n",
|
||
"8 NTSC English Traditional Chinese 1 VCD \n",
|
||
"9 NTSC English Traditional Chinese 1 VCD \n",
|
||
"10 NTSC English Traditional Chinese 10 VCD's },\n",
|
||
" { 'answer': '15 April 2005',\n",
|
||
" 'context': Release date Release title Country Publisher \\\n",
|
||
"0 1 January 2000 Martial Law: Shanghai Express Hong Kong Deltamac (HK) \n",
|
||
"1 15 April 2005 Martial Law: Diamond Fever Hong Kong Deltamac (HK) \n",
|
||
"2 15 April 2005 Martial Law: Dead Ringers Hong Kong Deltamac (HK) \n",
|
||
"3 15 April 2005 Martial Law: Funny Money Hong Kong Deltamac (HK) \n",
|
||
"4 15 April 2005 Martial Law: Extreme Mesures Hong Kong Deltamac (HK) \n",
|
||
"5 15 April 2005 Martial Law: Trackdown Hong Kong Deltamac (HK) \n",
|
||
"6 15 April 2005 Martial Law: Take Out Hong Kong Deltamac (HK) \n",
|
||
"7 15 April 2005 Martial Law: Lock-Up Hong Kong Deltamac (HK) \n",
|
||
"8 15 April 2005 Martial Law: Substitutes Hong Kong Deltamac (HK) \n",
|
||
"9 15 April 2005 Martial Law: Trifecta Hong Kong Deltamac (HK) \n",
|
||
"10 15 April 2005 Martial Law Collection Hong Kong Deltamac (HK) \n",
|
||
"\n",
|
||
" Format Language Subtitles Notes \n",
|
||
"0 NTSC English Traditional Chinese 1 VCD \n",
|
||
"1 NTSC English Traditional Chinese 1 VCD \n",
|
||
"2 NTSC English Traditional Chinese 1 VCD \n",
|
||
"3 NTSC English Traditional Chinese 1 VCD \n",
|
||
"4 NTSC English Traditional Chinese 1 VCD \n",
|
||
"5 NTSC English Traditional Chinese 1 VCD \n",
|
||
"6 NTSC English Traditional Chinese 1 VCD \n",
|
||
"7 NTSC English Traditional Chinese 1 VCD \n",
|
||
"8 NTSC English Traditional Chinese 1 VCD \n",
|
||
"9 NTSC English Traditional Chinese 1 VCD \n",
|
||
"10 NTSC English Traditional Chinese 10 VCD's },\n",
|
||
" { 'answer': '1991',\n",
|
||
" 'context': Year Film Song \\\n",
|
||
"0 1991 House Party 2 Ai n't Gon na Hurt Nobody \n",
|
||
"1 1991 Nothing But Trouble Same Song \n",
|
||
"2 1994 Above the Rim Regulate \n",
|
||
"3 1994 Street Fighter Something Kinda Funky \n",
|
||
"4 1995 Friday Keep Their Heads Ringin \n",
|
||
"5 1999 Office Space Shove This Jay-Oh-Bee \n",
|
||
"6 2001 The Wash Bad Intentions \n",
|
||
"7 2002 8 Mile Lose Yourself \n",
|
||
"8 2002 Like Mike Basketball \n",
|
||
"9 2002 Like Mike Take Ya Home \n",
|
||
"10 2003 2 Fast 2 Furious Act a Fool \n",
|
||
"\n",
|
||
" Artist \n",
|
||
"0 Kid ' n Play \n",
|
||
"1 Digital Underground ft. 2Pac \n",
|
||
"2 Warren G ft. Nate Dogg \n",
|
||
"3 Rally Ral \n",
|
||
"4 Dr. Dre \n",
|
||
"5 Canibus and Biz Markie \n",
|
||
"6 Dr. Dre ft. Knoc-turn'al \n",
|
||
"7 Eminem \n",
|
||
"8 Lil ' Bow Wow ft. Fundisha , Jermaine Dupri , and Fabolous \n",
|
||
"9 Lil ' Bow Wow \n",
|
||
"10 Ludacris },\n",
|
||
" { 'answer': '1987 1988 1989',\n",
|
||
" 'context': Title Year \\\n",
|
||
"0 Bomber King / RoboWarrior 1987 1988 1989 \n",
|
||
"1 Bomber King : Scenario 2 / Blaster Master Boy/Jr 1991 1992 \n",
|
||
"2 Bomberman : Panic Bomber 1994 1995 \n",
|
||
"3 Bomberman B-Daman 1996 \n",
|
||
"4 Atomic Bomberman 1997 \n",
|
||
"5 Bomberman Wars 1998 \n",
|
||
"6 Bomberman Fantasy Race 1998 1999 2000 \n",
|
||
"7 Bomberman B-Daman Bakugaiden : The Road to Victory 1999 \n",
|
||
"8 Bomberman B-Daman Bakugaiden V : Final Mega Tune 2000 \n",
|
||
"9 Bomberman Kart 2001 2003 \n",
|
||
"10 Bomberman Jetters : The Legendary Bomberman 2002 \n",
|
||
"11 Bomberman Jetters 2002 2004 \n",
|
||
"12 Bomberman Jetters Game Collection 2003 \n",
|
||
"13 DreamMix TV World Fighters 2003 \n",
|
||
"14 BoBomberman 2004 \n",
|
||
"15 Bomberman Battles / Bomberman Hardball 2004 2005 \n",
|
||
"16 Bomberman : Bakufuu Sentai Bombermen 2006 \n",
|
||
"17 Bomberman : Act Zero 2006 \n",
|
||
"18 Bomberman : Disney Stitch Edition 2010 \n",
|
||
"19 Bomberman : Chains 2011 \n",
|
||
"\n",
|
||
" Platforms \\\n",
|
||
"0 Famicom / NES , MSX \n",
|
||
"1 Game Boy \n",
|
||
"2 PC Engine CD , Neo Geo , Super Famicom , NEC PC-9821 , FM Towns , Sharp X680... \n",
|
||
"3 Super Famicom \n",
|
||
"4 PC ( Windows ) \n",
|
||
"5 PlayStation , Sega Saturn \n",
|
||
"6 PlayStation \n",
|
||
"7 Game Boy Color \n",
|
||
"8 Game Boy Color \n",
|
||
"9 PlayStation 2 \n",
|
||
"10 Game Boy Advance \n",
|
||
"11 GameCube , PlayStation 2 \n",
|
||
"12 Game Boy Advance \n",
|
||
"13 GameCube , PlayStation 2 \n",
|
||
"14 Game Boy Advance \n",
|
||
"15 PlayStation 2 \n",
|
||
"16 PlayStation Portable \n",
|
||
"17 Xbox 360 \n",
|
||
"18 Mobile Phone \n",
|
||
"19 iOS \n",
|
||
"\n",
|
||
" Notes \n",
|
||
"0 Released outside Japan under the name RoboWarrior ; Bomberman-like progressi... \n",
|
||
"1 Sequel to Bomber King ; slightly altered and released by Sunsoft in America ... \n",
|
||
"2 Puzzle game , similar to Puyo Puyo and Tetris ; all versions except for Neo ... \n",
|
||
"3 Japan-only , part of the B-Daman series \n",
|
||
"4 10-player support through IPX networking ; first Bomberman title for Windows... \n",
|
||
"5 Japan-only release ; tactical role-playing game ( TRPG ) \n",
|
||
"6 Racing game \n",
|
||
"7 Japan-only release ; based on the anime series , Bomberman B-Daman Bakugaide... \n",
|
||
"8 Japan-only release ; based on the anime series , Bomberman B-Daman Bakugaide... \n",
|
||
"9 Released in Japan and PAL regions only ; kart racing game \n",
|
||
"10 Japan-only release ; based on the anime series , Bomberman Jetters \n",
|
||
"11 PS2 release was Japan-only ; based on the Bomberman Jetters anime series \n",
|
||
"12 Japan-only release ; based on the anime series , Bomberman Jetters \n",
|
||
"13 Released in Japan only ; crossover fighting game featuring Bomberman as a pl... \n",
|
||
"14 Minigame based on the NES version of Bomberman , but using characters from t... \n",
|
||
"15 Released in Japan and PAL regions only ; sports and party game \n",
|
||
"16 Japan-only release \n",
|
||
"17 Realistic re-envisioning of the character \n",
|
||
"18 A Bomberman Game based on the anime Stitch ! \n",
|
||
"19 Puzzle game , similar to Bejeweled },\n",
|
||
" { 'answer': '2010',\n",
|
||
" 'context': Year Journalists \\\n",
|
||
"0 2010 Dwayne Grant ( Gold Coast Publications ) \n",
|
||
"1 2011 Leanne West ( Network Ten ) \n",
|
||
"2 2012 Stathi Paxinos ( Fairfax Media ) \n",
|
||
"3 2013 Mike Dalton ( Nine Network ) \n",
|
||
"4 2014 Emma Greenwood ( Gold Coast Bulletin ) \n",
|
||
"5 2015 Amanda Shalala ( ABC Radio Grandstand ) \n",
|
||
"6 2016 Seven Network \n",
|
||
"7 2017 Jim Callinan ( Sky News Australia ) \n",
|
||
"8 2018 Matt Carmichael ( Seven Network ) \n",
|
||
"9 2019 Australian Broadcasting Corporation \n",
|
||
"\n",
|
||
" Story Title \n",
|
||
"0 Never Say Never \n",
|
||
"1 David and Michelle \n",
|
||
"2 London Paralympic Games \n",
|
||
"3 Special Olympics Junior Games \n",
|
||
"4 He who dares lives \n",
|
||
"5 Grandstand para-sport profiles \n",
|
||
"6 ' Rio 2016 Paralympic Games ' \n",
|
||
"7 Oz Day 10K Wheelchair Road Race ' \n",
|
||
"8 2018 Winter Paralympics and 2018 Commonwealth Games \n",
|
||
"9 2018 Invictus Games },\n",
|
||
" { 'answer': 'January 31',\n",
|
||
" 'context': Release Title System \\\n",
|
||
"0 January 25 Guardian Heroes Sat \n",
|
||
"1 January 26 Mystaria : The Realms of Lore Sat \n",
|
||
"2 January 29 Duke Nukem 3D DOS \n",
|
||
"3 January 31 Mega Man X3 SNES \n",
|
||
"4 February 9 Bahamut Lagoon SNES \n",
|
||
"5 February 23 Front Mission : Gun Hazard SNES \n",
|
||
"6 February 27 Pokémon Red and Green GB \n",
|
||
"7 February 29 Civilization II Win \n",
|
||
"8 February 29 Ripper ( video game ) DOS \n",
|
||
"9 February 29 Rise 2 : Resurrection Win , Sat , PS1 \n",
|
||
"10 February 29 Terra Nova : Strike Force Centauri DOS \n",
|
||
"11 February 29 Zork : Nemesis Win \n",
|
||
"12 March 9 Super Mario RPG SNES \n",
|
||
"13 March 21 Kirby Super Star SNES \n",
|
||
"14 March 22 Resident Evil PS1 \n",
|
||
"15 March 22 Panzer Dragoon II Zwei Sat \n",
|
||
"16 March 29 Dragon Ball Z : Hyper Dimension SNES \n",
|
||
"17 April 20 Barbie Fashion Designer Win \n",
|
||
"18 April 26 Jumping Flash ! 2 PS1 \n",
|
||
"19 April 26 The Legend of Oasis Sat \n",
|
||
"\n",
|
||
" Developer / Publisher \\\n",
|
||
"0 Treasure / Sega \n",
|
||
"1 Micro Cabin / Sega \n",
|
||
"2 3D Realms / GT Interactive \n",
|
||
"3 Capcom \n",
|
||
"4 SquareSoft \n",
|
||
"5 SquareSoft \n",
|
||
"6 Nintendo \n",
|
||
"7 MicroProse \n",
|
||
"8 Take Two Interactive \n",
|
||
"9 Mirage / Acclaim \n",
|
||
"10 Looking Glass Studios \n",
|
||
"11 Activision \n",
|
||
"12 SquareSoft/Nintendo \n",
|
||
"13 HAL Labs / Nintendo \n",
|
||
"14 Capcom \n",
|
||
"15 Team Andromeda / Sega \n",
|
||
"16 TOSE / Bandai \n",
|
||
"17 Digital Domain / Mattel Media \n",
|
||
"18 Exact / SCEA \n",
|
||
"19 Sega / Ancient \n",
|
||
"\n",
|
||
" Notes \n",
|
||
"0 a beat-em-up game developed by Treasure \n",
|
||
"1 a tactical RPG \n",
|
||
"2 a popular first person shooter \n",
|
||
"3 third X installment in popular Mega Man franchise \n",
|
||
"4 Tactical RPG spin-off in the Final Fantasy series , before Final Fantasy Tac... \n",
|
||
"5 Sequel to strategy Super Famicom RPG Front Mission \n",
|
||
"6 launched a wildly popular game series \n",
|
||
"7 acclaimed sequel to the highly influential 1991 4X game \n",
|
||
"8 Interactive movie , Point-and-click adventure Single Player game \n",
|
||
"9 the sequel to the fighting game , Rise of the Robots \n",
|
||
"10 critically acclaimed FPS \n",
|
||
"11 11th game in the Zork series , employing 360-degree views of environment \n",
|
||
"12 beginning of the long-running series of Mario RPGs \n",
|
||
"13 considered to be one of the best games in the Kirby franchise \n",
|
||
"14 one of the foundational games in the survival horror genre , for a time it h... \n",
|
||
"15 an acclaimed rail shooter \n",
|
||
"16 the last Super Famicom game in the Dragon Ball Z franchise \n",
|
||
"17 The game 's strong sales sparked a renewed interest in developing games targ... \n",
|
||
"18 Sequel to the first true 3D platformer \n",
|
||
"19 Prequel to the Genesis Zelda-style action game Beyond Oasis },\n",
|
||
" { 'answer': '2009',\n",
|
||
" 'context': Song Title Album ( s ) / Single ( s ) \\\n",
|
||
"0 A Feast For Me Pipes & Flowers \n",
|
||
"1 A Little Over Zero Asile 's World / Dancing \n",
|
||
"2 A Prayer Lotus \n",
|
||
"3 Anche Se Non Trovi Le Parole Heart \n",
|
||
"4 And All I Need Heart \n",
|
||
"5 Asile 's World Asile 's World \n",
|
||
"6 Beautiful Night Lotus \n",
|
||
"7 Bitter Words Pearl Days \n",
|
||
"8 Broken Lotus / Dancing \n",
|
||
"9 Chameleon Asile 's World \n",
|
||
"10 City Lights Pearl Days / Dancing \n",
|
||
"11 Coincidences Heart \n",
|
||
"12 Come & Sit Asile 's World \n",
|
||
"13 Come Speak To Me Asile 's World \n",
|
||
"14 Creature Asile 's World \n",
|
||
"15 Cure Me Pipes & Flowers \n",
|
||
"16 Dancing Then Comes the Sun / Dancing \n",
|
||
"17 Dot in the Universe Heart \n",
|
||
"18 Eppure sentire ( Un senso di te ) Soundtrack '96-'06 \n",
|
||
"19 Electricity Lotus \n",
|
||
"\n",
|
||
" First Released \n",
|
||
"0 2002 \n",
|
||
"1 2000 \n",
|
||
"2 2003 \n",
|
||
"3 2009 \n",
|
||
"4 2009 \n",
|
||
"5 2000 \n",
|
||
"6 2003 \n",
|
||
"7 2004 \n",
|
||
"8 2003 \n",
|
||
"9 2000 \n",
|
||
"10 2004 \n",
|
||
"11 2009 \n",
|
||
"12 2000 \n",
|
||
"13 2001 \n",
|
||
"14 2000 \n",
|
||
"15 1997 \n",
|
||
"16 2002 \n",
|
||
"17 2009 \n",
|
||
"18 2006 \n",
|
||
"19 2003 },\n",
|
||
" { 'answer': 'Windows:NA: October 17, 2006 EU: October 20, 2006 Mac OS '\n",
|
||
" 'X:November 6, 2006',\n",
|
||
" 'context': Name \\\n",
|
||
"0 University \n",
|
||
"1 Nightlife \n",
|
||
"2 Open for Business \n",
|
||
"3 Pets \n",
|
||
"4 Seasons \n",
|
||
"5 Bon Voyage \n",
|
||
"6 FreeTime \n",
|
||
"7 Apartment Life \n",
|
||
"\n",
|
||
" Release date \\\n",
|
||
"0 Windows:NA: March 1, 2005 EU: March 2, 2005 Mac OS X:December 12, 2005 \n",
|
||
"1 Windows:NA: September 13, 2005 EU: September 13, 2005 Mac OS X:March 27, 2006 \n",
|
||
"2 Windows:NA: March 2, 2006 EU: March 2, 2006 Mac OS X:September 4, 2006 \n",
|
||
"3 Windows:NA: October 17, 2006 EU: October 20, 2006 Mac OS X:November 6, 2006 \n",
|
||
"4 Windows:NA: March 1, 2007 EU: March 2, 2007 Mac OS X:June 11, 2007 \n",
|
||
"5 Windows:NA: September 4, 2007 EU: September 7, 2007 Mac OS X:December 17, 2007 \n",
|
||
"6 Windows:NA: February 26, 2008 EU: February 22, 2008 \n",
|
||
"7 Windows:NA: August 27, 2008EU: August 29, 2008 \n",
|
||
"\n",
|
||
" Major Additions \\\n",
|
||
"0 Universities, Young Adult age group, Influence system \n",
|
||
"1 Dates, Groups system, Outings, Pleasure and Grilled Cheese aspiration, New r... \n",
|
||
"2 Businesses, talent badges \n",
|
||
"3 Ownable Pets \n",
|
||
"4 Weather system, Seasons, fishing, new talent badges,gardening \n",
|
||
"5 Vacations in different cultural areas \n",
|
||
"6 Hobby system, lifetime aspiration system, new talent badges. \n",
|
||
"7 Rentable apartments, reputation system, witchcraft system \n",
|
||
"\n",
|
||
" Neighborhoods \\\n",
|
||
"0 Campus:La Fiesta Tech,Sim State University,Académie Le Tour \n",
|
||
"1 Downtown:Downtown \n",
|
||
"2 Shopping District:Bluewater Village \n",
|
||
"3 None \n",
|
||
"4 Main:Riverblossom Hills \n",
|
||
"5 Vacation:Twikkii Island,Three Lakes,Takemizu Village \n",
|
||
"6 Main: Desiderata Valley Secret:Hobby \n",
|
||
"7 Main:Belladonna Cove[53]Secret:The Magical World \n",
|
||
"\n",
|
||
" New NPCs \\\n",
|
||
"0 Barista, Bartender,Cafeteria Worker,Cheerleader,Coach, Evil Mascot, Mascot,P... \n",
|
||
"1 Gypsy Matchmaker,Waiter, Chef,Bartender, DJ,Mrs. Crumplebottom,Vampires (Cou... \n",
|
||
"2 Reporters,Barbers \n",
|
||
"3 Animal Control Officers,Obedience Trainer,Wolves, Skunks \n",
|
||
"4 Garden Club Members,Penguins \n",
|
||
"5 Fire Dancers,Hotel Maids,Bellboys, Masseurs,Wise Old Man,Pirate, Tour Guides... \n",
|
||
"6 Hobby Members,Rod Humble,Hobby Leaders,Food Judge,Genie \n",
|
||
"7 Butler, Landlord,Roomies,Breakdancers,Street Performers,Social Group Sims,Hi... \n",
|
||
"\n",
|
||
" New Lifestate/Creature \\\n",
|
||
"0 Zombies (Also in FreeTime and Apartment Life) \n",
|
||
"1 Vampires \n",
|
||
"2 Servos (Robots) \n",
|
||
"3 Werewolves \n",
|
||
"4 PlantSims \n",
|
||
"5 Bigfoot \n",
|
||
"6 Genie (Only NPC) \n",
|
||
"7 Witches, Warlocks \n",
|
||
"\n",
|
||
" New Careers \n",
|
||
"0 Natural Scientist, Paranormal,Show Business, Artist \n",
|
||
"1 None \n",
|
||
"2 Shop Employees \n",
|
||
"3 Pet careers:Security,Showbiz,Service \n",
|
||
"4 Adventurer,Education,Gamer,Journalism,Law, Music \n",
|
||
"5 None \n",
|
||
"6 Oceanography,Intelligence,Entertainment,Dance,Architecture \n",
|
||
"7 None },\n",
|
||
" { 'answer': '2 December 1978',\n",
|
||
" 'context': Album \\\n",
|
||
"0 Please Please Me \n",
|
||
"1 With the Beatles \n",
|
||
"2 A Hard Day 's Night \n",
|
||
"3 Beatles for Sale \n",
|
||
"4 Help ! \n",
|
||
"5 Rubber Soul \n",
|
||
"6 Revolver \n",
|
||
"7 Sgt . Pepper 's Lonely Hearts Club Band \n",
|
||
"8 The Beatles ( White Album ) \n",
|
||
"9 Yellow Submarine \n",
|
||
"10 Abbey Road \n",
|
||
"11 Let It Be \n",
|
||
"12 Rarities \n",
|
||
"\n",
|
||
" Label \\\n",
|
||
"0 Parlophone Records PCS 3042 \n",
|
||
"1 Parlophone Records PCS 3045 \n",
|
||
"2 Parlophone Records PCS 3058 \n",
|
||
"3 Parlophone Records PCS 3062 \n",
|
||
"4 Parlophone Records PCS 3071 \n",
|
||
"5 Parlophone Records PCS 3075 \n",
|
||
"6 Parlophone Records PCS 7009 \n",
|
||
"7 Parlophone Records PCS 7027 \n",
|
||
"8 Apple Records PCS 7067/8 \n",
|
||
"9 Apple Records PCS 7070 \n",
|
||
"10 Apple Records PCS 7088 \n",
|
||
"11 Apple Records PCS 7096 \n",
|
||
"12 Parlophone Records PSLP 261 ( British editions ) Capitol SPRO-8969 ( US edit... \n",
|
||
"\n",
|
||
" Release date \n",
|
||
"0 22 March 1963 \n",
|
||
"1 22 November 1963 \n",
|
||
"2 10 July 1964 \n",
|
||
"3 4 December 1964 \n",
|
||
"4 6 August 1965 \n",
|
||
"5 3 December 1965 \n",
|
||
"6 5 August 1966 \n",
|
||
"7 1 June 1967 \n",
|
||
"8 22 November 1968 \n",
|
||
"9 17 January 1969 \n",
|
||
"10 26 September 1969 \n",
|
||
"11 8 May 1970 \n",
|
||
"12 2 December 1978 },\n",
|
||
" { 'answer': '2 December 1978',\n",
|
||
" 'context': Album \\\n",
|
||
"0 Please Please Me \n",
|
||
"1 With the Beatles \n",
|
||
"2 A Hard Day 's Night \n",
|
||
"3 Beatles for Sale \n",
|
||
"4 Help ! \n",
|
||
"5 Rubber Soul \n",
|
||
"6 Revolver \n",
|
||
"7 Sgt . Pepper 's Lonely Hearts Club Band \n",
|
||
"8 The Beatles ( White Album ) \n",
|
||
"9 Yellow Submarine \n",
|
||
"10 Abbey Road \n",
|
||
"11 Let It Be \n",
|
||
"12 Rarities \n",
|
||
"\n",
|
||
" Label \\\n",
|
||
"0 Parlophone Records PCS 3042 \n",
|
||
"1 Parlophone Records PCS 3045 \n",
|
||
"2 Parlophone Records PCS 3058 \n",
|
||
"3 Parlophone Records PCS 3062 \n",
|
||
"4 Parlophone Records PCS 3071 \n",
|
||
"5 Parlophone Records PCS 3075 \n",
|
||
"6 Parlophone Records PCS 7009 \n",
|
||
"7 Parlophone Records PCS 7027 \n",
|
||
"8 Apple Records PCS 7067/8 \n",
|
||
"9 Apple Records PCS 7070 \n",
|
||
"10 Apple Records PCS 7088 \n",
|
||
"11 Apple Records PCS 7096 \n",
|
||
"12 Parlophone Records PSLP 261 ( British editions ) Capitol SPRO-8969 ( US edit... \n",
|
||
"\n",
|
||
" Release date \n",
|
||
"0 22 March 1963 \n",
|
||
"1 22 November 1963 \n",
|
||
"2 10 July 1964 \n",
|
||
"3 4 December 1964 \n",
|
||
"4 6 August 1965 \n",
|
||
"5 3 December 1965 \n",
|
||
"6 5 August 1966 \n",
|
||
"7 1 June 1967 \n",
|
||
"8 22 November 1968 \n",
|
||
"9 17 January 1969 \n",
|
||
"10 26 September 1969 \n",
|
||
"11 8 May 1970 \n",
|
||
"12 2 December 1978 },\n",
|
||
" { 'answer': 'October22,2004',\n",
|
||
" 'context': Series # Season # Title Directed by \\\n",
|
||
"0 44 1 Psychic Eye for the Sloppy Guy Rich Correll \n",
|
||
"1 45 2 Stark Raven Mad Marc Warren \n",
|
||
"2 46 3 Opportunity Shocks Rich Correll \n",
|
||
"3 47 4 Taken to the Cleaners Rich Correll \n",
|
||
"4 48 5 Five Finger Discount Rich Correll \n",
|
||
"5 49 6 Sweeps Sean McNamara \n",
|
||
"6 50 7 Double Vision T'Keyah Crystal Keymáh \n",
|
||
"7 51 8 Bend It Like Baxter Rich Correll \n",
|
||
"8 52 9 The Big Buzz Eric Dean Seaton \n",
|
||
"9 53 10 True Colors Christopher B. Pearman \n",
|
||
"10 54 11 Dog Day Aftergroom KC Lynn De Stefano \n",
|
||
"11 55 12 Royal Treatment Christopher B. Pearman \n",
|
||
"12 56 13 Art Breaker Gregory Hobson \n",
|
||
"13 57 14 Boyz 'N Commotion Debbie Allen \n",
|
||
"14 58 15 Gettin' Outta Dodge Rich Correll \n",
|
||
"15 59 16 On Top of Old Oakey John Tracy \n",
|
||
"16 60 17 They Work Hard for His Honey Eric Dean Seaton \n",
|
||
"17 61 18 Mind Your Own Business Eric Dean Seaton \n",
|
||
"18 62 19 Hizzouse Party Rich Correll \n",
|
||
"19 63 20 Mismatch Maker Fred Savage \n",
|
||
"20 65 22 When in Dome Marc Warren \n",
|
||
"21 66 23 Too Much Pressure Rich Correll \n",
|
||
"22 67 24 Extreme Cory Rich Correll \n",
|
||
"23 68 25 The Grill Next Door Sean McNamara \n",
|
||
"24 69 26 Point of No Return Sean McNamara \n",
|
||
"25 72 29 Food for Thought Rich Correll \n",
|
||
"26 73 30 Mr. Perfect Rich Correll \n",
|
||
"27 74 31 Goin' Hollywood Rich Correll \n",
|
||
"28 75 32 Save the Last Dance Sean McNamara \n",
|
||
"29 76 33 Cake Fear Rondell Sheridan \n",
|
||
"30 77 34 Vision Impossible Marc Warren \n",
|
||
"\n",
|
||
" Written by Original air date Prod. code \\\n",
|
||
"0 Marc Warren October1,2004 301 \n",
|
||
"1 Sarah Jane Cunningham & Suzie V. Freeman October22,2004 304 \n",
|
||
"2 Dava Savel November5,2004 309 \n",
|
||
"3 Michael Feldman November19,2004 313 \n",
|
||
"4 Dennis Rinsler December3,2004 302 \n",
|
||
"5 Dennis Rinsler December11,2004 311 \n",
|
||
"6 Sarah Jane Cunningham & Suzie V. Freeman December17,2004 318 \n",
|
||
"7 Dava Savel January7,2005 315 \n",
|
||
"8 Marc Warren January28,2005 322 \n",
|
||
"9 Michael Carrington February4,2005 303 \n",
|
||
"10 Theresa Akana & Stacee Comage February11,2005 317 \n",
|
||
"11 Sarah Jane Cunningham & Suzie V. Freeman February18,2005 310 \n",
|
||
"12 Josh Lynn & Danny Warren February25,2005 308 \n",
|
||
"13 Theresa Akana & Stacee Comage March11,2005 306 \n",
|
||
"14 Edward C. Evans April8,2005 319 \n",
|
||
"15 Michael Feldman April22,2005 305 \n",
|
||
"16 Edward C. Evans April29,2005 307 \n",
|
||
"17 Dennis Rinsler May13,2005 327 \n",
|
||
"18 Michael Carrington June13,2005 312 \n",
|
||
"19 Edward C. Evans June14,2005 325 \n",
|
||
"20 Sarah Jane Cunningham & Suzie V. Freeman June16,2005 328 \n",
|
||
"21 Dava Savel June17,2005 323 \n",
|
||
"22 Theresa Akana & Stacee Comage July8,2005 326 \n",
|
||
"23 Michael Feldman July8,2005 324 \n",
|
||
"24 Edward C. Evans July23,2005 330 \n",
|
||
"25 Marc Warren September18,2005 316 \n",
|
||
"26 Michael Carrington October7,2005 329 \n",
|
||
"27 Dennis Rinsler & Marc Warren November4,2005 333 \n",
|
||
"28 Marc Warren November25,2005 334 \n",
|
||
"29 Theresa Akana & Stacee Comage December16,2005 332 \n",
|
||
"30 David Brookwell & Sean McNamara January6,2006 335 \n",
|
||
"\n",
|
||
" U.S. viewers (millions) \n",
|
||
"0 4.8 \n",
|
||
"1 4.5 \n",
|
||
"2 4.5 \n",
|
||
"3 3.7 \n",
|
||
"4 3.1 \n",
|
||
"5 2.6 \n",
|
||
"6 5.5 \n",
|
||
"7 4.0 \n",
|
||
"8 2.17 \n",
|
||
"9 3.3 \n",
|
||
"10 2.4 \n",
|
||
"11 2.7 \n",
|
||
"12 3.5 \n",
|
||
"13 4.8 \n",
|
||
"14 2.1 \n",
|
||
"15 2.3 \n",
|
||
"16 4.2 \n",
|
||
"17 4.4 \n",
|
||
"18 5.1 \n",
|
||
"19 4.3 \n",
|
||
"20 4.7 \n",
|
||
"21 4.4 \n",
|
||
"22 3.8 \n",
|
||
"23 4.23 \n",
|
||
"24 6.0 \n",
|
||
"25 3.4 \n",
|
||
"26 3.0 \n",
|
||
"27 3.7 \n",
|
||
"28 3.3 \n",
|
||
"29 3.6 \n",
|
||
"30 4.7 },\n",
|
||
" { 'answer': '1990',\n",
|
||
" 'context': Year Title \\\n",
|
||
"0 1990 Psycho IV : The Beginning \n",
|
||
"1 1992 A Taste for Killing \n",
|
||
"2 1995 Indictment : The McMartin Trial \n",
|
||
"3 1996 Riders of the Purple Sage \n",
|
||
"4 1998 Moby Dick \n",
|
||
"5 1999 Happy Face Murders \n",
|
||
"6 2005 Masters of Horror \n",
|
||
"7 2006 Stephen King 's Desperation \n",
|
||
"8 2006 Nightmares & Dreamscapes : From the Stories of Stephen King \n",
|
||
"9 2007-08 Without a Trace \n",
|
||
"10 2009 CSI : Crime Scene Investigation \n",
|
||
"11 2011 The Mentalist \n",
|
||
"12 2013-14 Betrayal \n",
|
||
"13 2015 Sons of Liberty \n",
|
||
"14 2016 Law & Order : Special Victims Unit \n",
|
||
"15 2017 Better Things \n",
|
||
"16 2018-present The Haunting of Hill House \n",
|
||
"17 2018 Girl in the Bunker \n",
|
||
"18 2020 FBI : Most Wanted \n",
|
||
"19 2020 Stargirl \n",
|
||
"\n",
|
||
" Role \\\n",
|
||
"0 Young Norman Bates \n",
|
||
"1 Cary Sloan \n",
|
||
"2 Ray Buckey \n",
|
||
"3 Bern Venters \n",
|
||
"4 Ishmael \n",
|
||
"5 Dylan McCarthy \n",
|
||
"6 Jamie \n",
|
||
"7 Peter Jackson \n",
|
||
"8 Robert Fornoy \n",
|
||
"9 Franklin Romar \n",
|
||
"10 Jeremy Kent \n",
|
||
"11 Thomas Lisbon \n",
|
||
"12 T.J. Karsten \n",
|
||
"13 John Adams \n",
|
||
"14 Sean Roberts \n",
|
||
"15 Robin \n",
|
||
"16 Young Hugh Crain ( season 1 ) TBA ( season 2 ) \n",
|
||
"17 Vinson Filyaw \n",
|
||
"18 Dr. Justin Brock \n",
|
||
"19 Charles McNider / Doctor Mid-Nite \n",
|
||
"\n",
|
||
" Notes \n",
|
||
"0 Television film \n",
|
||
"1 Television film \n",
|
||
"2 Television film \n",
|
||
"3 Television film \n",
|
||
"4 Miniseries \n",
|
||
"5 Television film \n",
|
||
"6 Episode : Chocolate \n",
|
||
"7 Television film \n",
|
||
"8 Episode : The End of the Whole Mess \n",
|
||
"9 2 episodes \n",
|
||
"10 Episode : If I Had a Hammer \n",
|
||
"11 Episode : Where in the World is Carmine O'Brien ? \n",
|
||
"12 13 episodes \n",
|
||
"13 Miniseries \n",
|
||
"14 Episode : Making a Rapist \n",
|
||
"15 4 episodes \n",
|
||
"16 Series regular , first and second season \n",
|
||
"17 Television film \n",
|
||
"18 Episode : Dopesick \n",
|
||
"19 Recurring role }]\n"
|
||
]
|
||
}
|
||
],
|
||
"source": [
|
||
"prediction = table_qa_pipeline.run(\"When was Guilty Gear Xrd : Sign released?\", params={\"top_k\": 30})\n",
|
||
"print_answers(prediction, details=\"minimum\")"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 14,
|
||
"metadata": {
|
||
"id": "4CBcIjIq_uFx"
|
||
},
|
||
"outputs": [],
|
||
"source": [
|
||
"# Add 500 text passages to our document store.\n",
|
||
"\n",
|
||
"\n",
|
||
"def read_texts(filename):\n",
|
||
" processed_passages = []\n",
|
||
" with open(filename) as passages:\n",
|
||
" passages = json.load(passages)\n",
|
||
" for key, content in passages.items():\n",
|
||
" document = Document(content=content, content_type=\"text\", id=key)\n",
|
||
" processed_passages.append(document)\n",
|
||
"\n",
|
||
" return processed_passages\n",
|
||
"\n",
|
||
"\n",
|
||
"passages = read_texts(f\"{doc_dir}/texts.json\")\n",
|
||
"document_store.write_documents(passages, index=document_index)"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": null,
|
||
"metadata": {
|
||
"id": "j1TaNF7SiKgH"
|
||
},
|
||
"outputs": [],
|
||
"source": [
|
||
"document_store.update_embeddings(retriever=retriever, update_existing_embeddings=False)"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"metadata": {
|
||
"id": "c2sk_uNHj0DY"
|
||
},
|
||
"source": [
|
||
"## Pipeline for QA on Combination of Text and Tables\n",
|
||
"We are using one node for retrieving both texts and tables, the `TableTextRetriever`. In order to do question-answering on the Documents coming from the `TableTextRetriever`, we need to route Documents of type `\"text\"` to a `FARMReader` (or alternatively `TransformersReader`) and Documents of type `\"table\"` to a `TableReader`.\n",
|
||
"\n",
|
||
"To achieve this, we make use of two additional nodes:\n",
|
||
"- `RouteDocuments`: Splits the List of Documents retrieved by the `TableTextRetriever` into two lists containing only Documents of type `\"text\"` or `\"table\"`, respectively.\n",
|
||
"- `JoinAnswers`: Takes Answers coming from two different Readers (in this case `FARMReader` and `TableReader`) and joins them to a single list of Answers."
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": null,
|
||
"metadata": {
|
||
"id": "Ej_j8Q3wlxXE"
|
||
},
|
||
"outputs": [],
|
||
"source": [
|
||
"from haystack.nodes import FARMReader, RouteDocuments, JoinAnswers\n",
|
||
"\n",
|
||
"text_reader = FARMReader(\"deepset/roberta-base-squad2\")\n",
|
||
"# In order to get meaningful scores from the TableReader, use \"deepset/tapas-large-nq-hn-reader\" or\n",
|
||
"# \"deepset/tapas-large-nq-reader\" as TableReader models. The disadvantage of these models is, however,\n",
|
||
"# that they are not capable of doing aggregations over multiple table cells.\n",
|
||
"table_reader = TableReader(\"deepset/tapas-large-nq-hn-reader\")\n",
|
||
"route_documents = RouteDocuments()\n",
|
||
"join_answers = JoinAnswers()"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 17,
|
||
"metadata": {
|
||
"id": "Zdq6JnF5m3aP"
|
||
},
|
||
"outputs": [],
|
||
"source": [
|
||
"text_table_qa_pipeline = Pipeline()\n",
|
||
"text_table_qa_pipeline.add_node(component=retriever, name=\"TableTextRetriever\", inputs=[\"Query\"])\n",
|
||
"text_table_qa_pipeline.add_node(component=route_documents, name=\"RouteDocuments\", inputs=[\"TableTextRetriever\"])\n",
|
||
"text_table_qa_pipeline.add_node(component=text_reader, name=\"TextReader\", inputs=[\"RouteDocuments.output_1\"])\n",
|
||
"text_table_qa_pipeline.add_node(component=table_reader, name=\"TableReader\", inputs=[\"RouteDocuments.output_2\"])\n",
|
||
"text_table_qa_pipeline.add_node(component=join_answers, name=\"JoinAnswers\", inputs=[\"TextReader\", \"TableReader\"])"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 18,
|
||
"metadata": {
|
||
"colab": {
|
||
"base_uri": "https://localhost:8080/",
|
||
"height": 540
|
||
},
|
||
"id": "K4vH1ZEnniut",
|
||
"outputId": "85aa17a8-227d-40e4-c8c0-5d0532faa47a"
|
||
},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"image/png": "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hre3N4KDgxEfH4/Fixc3+srp4+ODvXv3YvPmzfD29m60etLS0rB9+3Zs27YN7du3b7R6nlffdfFV3zGPx1P1cnTmzBmEhYXB2dkZH330kdo8tXndulUbtq7WxOPxsHXrVnTp0gXbt2+vvZ21tv1Ca2tr+uabbxpv3/QVajvsqJaUlETvvfcenT17lmJjY6l79+7UqVMnKigooPz8fJo5cyYBoKlTpxIRUUZGBunr69PJkydJqVTSlStXaMqUKQSATp48SWfPnlWV3bp1a7XDCoVCQRMmTCAAdPTo0TrHQUS0YMECGjhwIOXl5VFISAjxeDxau3at6v2FhYU0fPhw8vb2pqdPn9KePXtIR0dH7bDiVXXs2bOHWrduTQBo9+7d5OzsTADo2rVrDfMlvMayZctee3j3try9valNmzacXnL1qnXxdd/x9OnTydbWlr799lvq16+fqpeT6nWT6NmtpHjhEPh16xYRW1fra968eeTo6FjbSzUvg3n48GGTB/i8V610I0aMUPuCg4ODCQB99913RPTs2rUBAwaQRCKh9PR0+vLLL+nIkSNqZfj4+BCAGleNt27dmtq1a0e7d++m1atXk6OjI/Xt25cOHjxY7ziMjY1pzZo1qtcdHR2pX79+queff/45jR8/Xq3McePGqa1Ur6tj5cqVqpWKiOjevXtN1sXVlStXCECjdlXk4eFBc+bMabTy6+JV6+LrvuPp06eTRCKhiIgIInp2Y7+npycBoJCQECKqPQG+7nsnYutqfZ07d44A1NYVX1CNQ+D79+8DeNYeokmysrIQGhqKXr16qQaTLikpgaurK0pLSwE8a5v4888/4eTkhPfeew+jR4/GhAkT6lyHSCRC586dceLECcTHx+PUqVM1LneoSxynTp1C165dAQAREREgItXZuZycHPj5+WHTpk1q5fbs2RPBwcF1rqO6l+ePP/4YAGBvb1/nz/m2qteN+/fv13rI1RASExMxefLkRim7IbzqO65mbm4ONzc3AICuri7mzJmjGv5hxIgRNcqsy/deja2rdVd9Bcu9e/dqXCpUIwFWB21gYNAEodVddWJetmzZK8cIsbOzww8//IAFCxZgyZIl9apDX18fHh4e6NatG6KiovDJJ58gLi5ObYS5usTh4eGBo0eP4siRIxg1ahRsbW3x6NEjAMDt27chl8trjFr3fHtQXerg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",
|
||
"text/plain": [
|
||
"<IPython.core.display.Image object>"
|
||
]
|
||
},
|
||
"execution_count": 18,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"# Let's have a look on the structure of the combined Table an Text QA pipeline.\n",
|
||
"from IPython import display\n",
|
||
"\n",
|
||
"text_table_qa_pipeline.draw()\n",
|
||
"display.Image(\"pipeline.png\")"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": null,
|
||
"metadata": {
|
||
"id": "strPNduPoBLe"
|
||
},
|
||
"outputs": [],
|
||
"source": [
|
||
"# Example query whose answer resides in a text passage\n",
|
||
"predictions = text_table_qa_pipeline.run(query=\"Who was Thomas Alva Edison?\")"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 20,
|
||
"metadata": {
|
||
"colab": {
|
||
"base_uri": "https://localhost:8080/"
|
||
},
|
||
"id": "9YiK75tSoOGA",
|
||
"outputId": "bd52f841-3846-441f-dd6f-53b02111691e"
|
||
},
|
||
"outputs": [
|
||
{
|
||
"name": "stdout",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"\n",
|
||
"Query: Who was Thomas Alva Edison?\n",
|
||
"Answers:\n",
|
||
"[ { 'answer': 'American inventor and businessman',\n",
|
||
" 'context': 'mas Alva Edison (February 11, 1847October 18, 1931) was an '\n",
|
||
" 'American inventor and businessman, who has been described '\n",
|
||
" \"as America's greatest inventor. H\"},\n",
|
||
" { 'answer': 'Dorothy Colpoys',\n",
|
||
" 'context': Year Men's singles Women's singles \\\n",
|
||
"0 1928 Alan Titherley R. Finch \n",
|
||
"1 1929 T. P. Dick Margaret Tragett \n",
|
||
"2 1930 Donald Hume Dorothy Colpoys \n",
|
||
"3 1931 T. P. Dick Dorothy Colpoys \n",
|
||
"4 1932 W. Hamilton Thelma Kingsbury \n",
|
||
".. ... ... ... \n",
|
||
"59 2008 Brice Leverdez Kati Tolmoff \n",
|
||
"60 2009 Kristian Nielsen Tatjana Bibik \n",
|
||
"61 2010 Pablo Abián Anita Raj Kaur \n",
|
||
"62 2011 Niluka Karunaratne Nicole Schaller \n",
|
||
"63 2012 Chou Tien-chen Chiang Mei-hui \n",
|
||
"\n",
|
||
" Men's doubles Women's doubles \\\n",
|
||
"0 J. D. M. McCallum Alan Titherley Thompson-Smith Reid \n",
|
||
"1 F. J. Treasure F. B. Malthouse Marian Horsley L. W. Myers \n",
|
||
"2 Donald Hume Ralph Nichols Marian Horsley L. W. Myers \n",
|
||
"3 T. P. Dick W. Basil Jones Marian Horsley L. W. Myers \n",
|
||
"4 Artur Hamilton W. Hamilton Hazel Hogarth Thelma Kingsbury \n",
|
||
".. ... ... \n",
|
||
"59 Andrew Bowman Martyn Lewis Mariana Agathangelou Jillie Cooper \n",
|
||
"60 Vitaliy Durkin Alexandr Nikolaenko Valeria Sorokina Nina Vislova \n",
|
||
"61 Peter Käsbauer Josche Zurwonne Joanne Quay Swee Ling Anita Raj Kaur \n",
|
||
"62 Chris Coles Matthew Nottingham Ng Hui Ern Ng Hui Lin \n",
|
||
"63 Marcus Ellis Paul Van Rietvelde Gabrielle White Lauren Smith \n",
|
||
"\n",
|
||
" Mixed doubles \n",
|
||
"0 F. L. Treasure Meredith \n",
|
||
"1 T. P. Dick Hazel Hogarth \n",
|
||
"2 T. P. Dick Hazel Hogarth \n",
|
||
"3 T. P. Dick Hazel Hogarth \n",
|
||
"4 Ralph Nichols N. Coop \n",
|
||
".. ... \n",
|
||
"59 Watson Briggs Jillie Cooper \n",
|
||
"60 Vitaliy Durkin Nina Vislova \n",
|
||
"61 Peter Käsbauer Johanna Goliszewski \n",
|
||
"62 Martin Campbell Ng Hui Lin \n",
|
||
"63 Marcus Ellis Gabrielle White \n",
|
||
"\n",
|
||
"[64 rows x 6 columns]},\n",
|
||
" { 'answer': 'Daphne Young',\n",
|
||
" 'context': Year Men's singles Women's singles \\\n",
|
||
"0 1928 Alan Titherley R. Finch \n",
|
||
"1 1929 T. P. Dick Margaret Tragett \n",
|
||
"2 1930 Donald Hume Dorothy Colpoys \n",
|
||
"3 1931 T. P. Dick Dorothy Colpoys \n",
|
||
"4 1932 W. Hamilton Thelma Kingsbury \n",
|
||
".. ... ... ... \n",
|
||
"59 2008 Brice Leverdez Kati Tolmoff \n",
|
||
"60 2009 Kristian Nielsen Tatjana Bibik \n",
|
||
"61 2010 Pablo Abián Anita Raj Kaur \n",
|
||
"62 2011 Niluka Karunaratne Nicole Schaller \n",
|
||
"63 2012 Chou Tien-chen Chiang Mei-hui \n",
|
||
"\n",
|
||
" Men's doubles Women's doubles \\\n",
|
||
"0 J. D. M. McCallum Alan Titherley Thompson-Smith Reid \n",
|
||
"1 F. J. Treasure F. B. Malthouse Marian Horsley L. W. Myers \n",
|
||
"2 Donald Hume Ralph Nichols Marian Horsley L. W. Myers \n",
|
||
"3 T. P. Dick W. Basil Jones Marian Horsley L. W. Myers \n",
|
||
"4 Artur Hamilton W. Hamilton Hazel Hogarth Thelma Kingsbury \n",
|
||
".. ... ... \n",
|
||
"59 Andrew Bowman Martyn Lewis Mariana Agathangelou Jillie Cooper \n",
|
||
"60 Vitaliy Durkin Alexandr Nikolaenko Valeria Sorokina Nina Vislova \n",
|
||
"61 Peter Käsbauer Josche Zurwonne Joanne Quay Swee Ling Anita Raj Kaur \n",
|
||
"62 Chris Coles Matthew Nottingham Ng Hui Ern Ng Hui Lin \n",
|
||
"63 Marcus Ellis Paul Van Rietvelde Gabrielle White Lauren Smith \n",
|
||
"\n",
|
||
" Mixed doubles \n",
|
||
"0 F. L. Treasure Meredith \n",
|
||
"1 T. P. Dick Hazel Hogarth \n",
|
||
"2 T. P. Dick Hazel Hogarth \n",
|
||
"3 T. P. Dick Hazel Hogarth \n",
|
||
"4 Ralph Nichols N. Coop \n",
|
||
".. ... \n",
|
||
"59 Watson Briggs Jillie Cooper \n",
|
||
"60 Vitaliy Durkin Nina Vislova \n",
|
||
"61 Peter Käsbauer Johanna Goliszewski \n",
|
||
"62 Martin Campbell Ng Hui Lin \n",
|
||
"63 Marcus Ellis Gabrielle White \n",
|
||
"\n",
|
||
"[64 rows x 6 columns]},\n",
|
||
" { 'answer': 'Maggie McIntosh',\n",
|
||
" 'context': Year Men's singles Women's singles \\\n",
|
||
"0 1928 Alan Titherley R. Finch \n",
|
||
"1 1929 T. P. Dick Margaret Tragett \n",
|
||
"2 1930 Donald Hume Dorothy Colpoys \n",
|
||
"3 1931 T. P. Dick Dorothy Colpoys \n",
|
||
"4 1932 W. Hamilton Thelma Kingsbury \n",
|
||
".. ... ... ... \n",
|
||
"59 2008 Brice Leverdez Kati Tolmoff \n",
|
||
"60 2009 Kristian Nielsen Tatjana Bibik \n",
|
||
"61 2010 Pablo Abián Anita Raj Kaur \n",
|
||
"62 2011 Niluka Karunaratne Nicole Schaller \n",
|
||
"63 2012 Chou Tien-chen Chiang Mei-hui \n",
|
||
"\n",
|
||
" Men's doubles Women's doubles \\\n",
|
||
"0 J. D. M. McCallum Alan Titherley Thompson-Smith Reid \n",
|
||
"1 F. J. Treasure F. B. Malthouse Marian Horsley L. W. Myers \n",
|
||
"2 Donald Hume Ralph Nichols Marian Horsley L. W. Myers \n",
|
||
"3 T. P. Dick W. Basil Jones Marian Horsley L. W. Myers \n",
|
||
"4 Artur Hamilton W. Hamilton Hazel Hogarth Thelma Kingsbury \n",
|
||
".. ... ... \n",
|
||
"59 Andrew Bowman Martyn Lewis Mariana Agathangelou Jillie Cooper \n",
|
||
"60 Vitaliy Durkin Alexandr Nikolaenko Valeria Sorokina Nina Vislova \n",
|
||
"61 Peter Käsbauer Josche Zurwonne Joanne Quay Swee Ling Anita Raj Kaur \n",
|
||
"62 Chris Coles Matthew Nottingham Ng Hui Ern Ng Hui Lin \n",
|
||
"63 Marcus Ellis Paul Van Rietvelde Gabrielle White Lauren Smith \n",
|
||
"\n",
|
||
" Mixed doubles \n",
|
||
"0 F. L. Treasure Meredith \n",
|
||
"1 T. P. Dick Hazel Hogarth \n",
|
||
"2 T. P. Dick Hazel Hogarth \n",
|
||
"3 T. P. Dick Hazel Hogarth \n",
|
||
"4 Ralph Nichols N. Coop \n",
|
||
".. ... \n",
|
||
"59 Watson Briggs Jillie Cooper \n",
|
||
"60 Vitaliy Durkin Nina Vislova \n",
|
||
"61 Peter Käsbauer Johanna Goliszewski \n",
|
||
"62 Martin Campbell Ng Hui Lin \n",
|
||
"63 Marcus Ellis Gabrielle White \n",
|
||
"\n",
|
||
"[64 rows x 6 columns]},\n",
|
||
" { 'answer': '1947',\n",
|
||
" 'context': Year \\\n",
|
||
"0 1947 \n",
|
||
"1 1951 \n",
|
||
"2 1952 \n",
|
||
"3 1959 \n",
|
||
"4 1960 \n",
|
||
"5 1964 \n",
|
||
"6 1970 \n",
|
||
"7 1976 \n",
|
||
"8 1976 \n",
|
||
"9 1986 \n",
|
||
"10 1986 \n",
|
||
"11 1987 \n",
|
||
"12 2001 \n",
|
||
"13 2008 \n",
|
||
"14 2013 \n",
|
||
"\n",
|
||
" Cast ( Macbeth , Lady Macbeth , Macduff , Banco ) \\\n",
|
||
"0 Francesco Valentino , Margherita Grandi , Walter Midgley , Italo Tajo \n",
|
||
"1 Ivan Petroff , Astrid Varnay , Gino Penno , Italo Tajo \n",
|
||
"2 Enzo Mascherini , Maria Callas , Gino Penno , Italo Tajo \n",
|
||
"3 Leonard Warren , Leonie Rysanek , Carlo Bergonzi , Jerome Hines \n",
|
||
"4 Giuseppe Taddei , Leyla Gencer , Mirto Picchi , Ferrucio Mazzoli \n",
|
||
"5 Giuseppe Taddei , Birgit Nilsson , Bruno Prevedi , Giovanni Foiani \n",
|
||
"6 Dietrich Fischer-Dieskau , Elena Souliotis , Luciano Pavarotti , Nicolai Ghi... \n",
|
||
"7 Piero Cappuccilli , Shirley Verrett , Plácido Domingo , Nicolai Ghiaurov \n",
|
||
"8 Sherrill Milnes , Fiorenza Cossotto , José Carreras , Ruggero Raimondi \n",
|
||
"9 Leo Nucci , Shirley Verrett , Veriano Luchetti , Samuel Ramey \n",
|
||
"10 Piero Cappuccilli , Sylvia Sass , Péter Kelen [ hu ] , Kolos Kováts [ hu ] \n",
|
||
"11 Renato Bruson , Mara Zampieri , Neil Shicoff , Robert Lloyd \n",
|
||
"12 Thomas Hampson , Paoletta Marrocu , Luis Lima , Roberto Scandiuzzi \n",
|
||
"13 Željko Lučić , Maria Guleghina , John Relyea , Dimitri Pittas \n",
|
||
"14 Leo Nucci , Sylvie Valayre , Enrico Iori , Roberto Iuliano \n",
|
||
"\n",
|
||
" Conductor , opera house and orchestra \\\n",
|
||
"0 Berthold Goldschmidt Scottish Orchestra , Glyndebourne Festival Chorus ( Liv... \n",
|
||
"1 Vittorio Gui Chorus and Orchestra of the Teatro Communale di Firenze ( Live ... \n",
|
||
"2 Victor de Sabata La Scala Chorus and Orchestra ( Live recording of 7 Dec. pe... \n",
|
||
"3 Erich Leinsdorf Metropolitan Opera Chorus and Orchestra \n",
|
||
"4 Vittorio Gui Teatro Massimo Chorus and Orchestra \n",
|
||
"5 Thomas Schippers , Accademia di Santa Cecilia Orchestra and Chorus \n",
|
||
"6 Lamberto Gardelli , London Philharmonic Orchestra and Ambrosian Opera Chorus \n",
|
||
"7 Claudio Abbado , Coro e Orchestra del Teatro alla Scala \n",
|
||
"8 Riccardo Muti , New Philharmonia Orchestra and Ambrosian Opera Chorus \n",
|
||
"9 Riccardo Chailly , Teatro Comunale di Bologna Orchestra and Chorus \n",
|
||
"10 Lamberto Gardelli , Hungarian Radio and Television Chorus and Budapest Symph... \n",
|
||
"11 Giuseppe Sinopoli , Orchester und Chor der Deutsche Oper Berlin ( Live recor... \n",
|
||
"12 Franz Welser-Möst , Chorus and Orchestra of the Zürich Opera House ( Live re... \n",
|
||
"13 James Levine , Metropolitan Opera Orchestra , Chorus , and Ballet ( Live rec... \n",
|
||
"14 Bruno Bartoletti , Teatro Regio di Parma ( 2006 production ) Drected by Lili... \n",
|
||
"\n",
|
||
" Label \n",
|
||
"0 CD : Classical Recordings Quarterly Editions Cat : CRQ CD004-5 \n",
|
||
"1 Operadepot-dot-com Cat : CD-10939-2 \n",
|
||
"2 CD : Myto Cat : MCD 063 H 115 \n",
|
||
"3 CD : RCA Victor Cat : 4516-2-RG \n",
|
||
"4 CD : Great Opera Performances ( GOP ) Cat : B00HYKI61Y \n",
|
||
"5 CD : Decca Cat : 433 039-2 \n",
|
||
"6 CD : Decca Cat : 440 048-2 \n",
|
||
"7 CD : Deutsche Grammophon Cat : 449 732-2 \n",
|
||
"8 CD : EMI Cat : CMS 5 67128-2 \n",
|
||
"9 CD : Decca Cat : 417 525-2 DVD : Decca , Cat : 073 4380 and 1040309 ( US ) \n",
|
||
"10 CD : Hungaroton Cat : HCD 12738-40 \n",
|
||
"11 DVD : ArtHaus Musik Cat : 100 141 \n",
|
||
"12 DVD : TDK Cat : DV-OPMAC \n",
|
||
"13 DVD : EMI Classics Cat : 2063049 \n",
|
||
"14 DVD : C Major Cat : 722008 },\n",
|
||
" { 'answer': 'Victor de Sabata La Scala Chorus and Orchestra ( Live '\n",
|
||
" 'recording of 7 Dec. performance )',\n",
|
||
" 'context': Year \\\n",
|
||
"0 1947 \n",
|
||
"1 1951 \n",
|
||
"2 1952 \n",
|
||
"3 1959 \n",
|
||
"4 1960 \n",
|
||
"5 1964 \n",
|
||
"6 1970 \n",
|
||
"7 1976 \n",
|
||
"8 1976 \n",
|
||
"9 1986 \n",
|
||
"10 1986 \n",
|
||
"11 1987 \n",
|
||
"12 2001 \n",
|
||
"13 2008 \n",
|
||
"14 2013 \n",
|
||
"\n",
|
||
" Cast ( Macbeth , Lady Macbeth , Macduff , Banco ) \\\n",
|
||
"0 Francesco Valentino , Margherita Grandi , Walter Midgley , Italo Tajo \n",
|
||
"1 Ivan Petroff , Astrid Varnay , Gino Penno , Italo Tajo \n",
|
||
"2 Enzo Mascherini , Maria Callas , Gino Penno , Italo Tajo \n",
|
||
"3 Leonard Warren , Leonie Rysanek , Carlo Bergonzi , Jerome Hines \n",
|
||
"4 Giuseppe Taddei , Leyla Gencer , Mirto Picchi , Ferrucio Mazzoli \n",
|
||
"5 Giuseppe Taddei , Birgit Nilsson , Bruno Prevedi , Giovanni Foiani \n",
|
||
"6 Dietrich Fischer-Dieskau , Elena Souliotis , Luciano Pavarotti , Nicolai Ghi... \n",
|
||
"7 Piero Cappuccilli , Shirley Verrett , Plácido Domingo , Nicolai Ghiaurov \n",
|
||
"8 Sherrill Milnes , Fiorenza Cossotto , José Carreras , Ruggero Raimondi \n",
|
||
"9 Leo Nucci , Shirley Verrett , Veriano Luchetti , Samuel Ramey \n",
|
||
"10 Piero Cappuccilli , Sylvia Sass , Péter Kelen [ hu ] , Kolos Kováts [ hu ] \n",
|
||
"11 Renato Bruson , Mara Zampieri , Neil Shicoff , Robert Lloyd \n",
|
||
"12 Thomas Hampson , Paoletta Marrocu , Luis Lima , Roberto Scandiuzzi \n",
|
||
"13 Željko Lučić , Maria Guleghina , John Relyea , Dimitri Pittas \n",
|
||
"14 Leo Nucci , Sylvie Valayre , Enrico Iori , Roberto Iuliano \n",
|
||
"\n",
|
||
" Conductor , opera house and orchestra \\\n",
|
||
"0 Berthold Goldschmidt Scottish Orchestra , Glyndebourne Festival Chorus ( Liv... \n",
|
||
"1 Vittorio Gui Chorus and Orchestra of the Teatro Communale di Firenze ( Live ... \n",
|
||
"2 Victor de Sabata La Scala Chorus and Orchestra ( Live recording of 7 Dec. pe... \n",
|
||
"3 Erich Leinsdorf Metropolitan Opera Chorus and Orchestra \n",
|
||
"4 Vittorio Gui Teatro Massimo Chorus and Orchestra \n",
|
||
"5 Thomas Schippers , Accademia di Santa Cecilia Orchestra and Chorus \n",
|
||
"6 Lamberto Gardelli , London Philharmonic Orchestra and Ambrosian Opera Chorus \n",
|
||
"7 Claudio Abbado , Coro e Orchestra del Teatro alla Scala \n",
|
||
"8 Riccardo Muti , New Philharmonia Orchestra and Ambrosian Opera Chorus \n",
|
||
"9 Riccardo Chailly , Teatro Comunale di Bologna Orchestra and Chorus \n",
|
||
"10 Lamberto Gardelli , Hungarian Radio and Television Chorus and Budapest Symph... \n",
|
||
"11 Giuseppe Sinopoli , Orchester und Chor der Deutsche Oper Berlin ( Live recor... \n",
|
||
"12 Franz Welser-Möst , Chorus and Orchestra of the Zürich Opera House ( Live re... \n",
|
||
"13 James Levine , Metropolitan Opera Orchestra , Chorus , and Ballet ( Live rec... \n",
|
||
"14 Bruno Bartoletti , Teatro Regio di Parma ( 2006 production ) Drected by Lili... \n",
|
||
"\n",
|
||
" Label \n",
|
||
"0 CD : Classical Recordings Quarterly Editions Cat : CRQ CD004-5 \n",
|
||
"1 Operadepot-dot-com Cat : CD-10939-2 \n",
|
||
"2 CD : Myto Cat : MCD 063 H 115 \n",
|
||
"3 CD : RCA Victor Cat : 4516-2-RG \n",
|
||
"4 CD : Great Opera Performances ( GOP ) Cat : B00HYKI61Y \n",
|
||
"5 CD : Decca Cat : 433 039-2 \n",
|
||
"6 CD : Decca Cat : 440 048-2 \n",
|
||
"7 CD : Deutsche Grammophon Cat : 449 732-2 \n",
|
||
"8 CD : EMI Cat : CMS 5 67128-2 \n",
|
||
"9 CD : Decca Cat : 417 525-2 DVD : Decca , Cat : 073 4380 and 1040309 ( US ) \n",
|
||
"10 CD : Hungaroton Cat : HCD 12738-40 \n",
|
||
"11 DVD : ArtHaus Musik Cat : 100 141 \n",
|
||
"12 DVD : TDK Cat : DV-OPMAC \n",
|
||
"13 DVD : EMI Classics Cat : 2063049 \n",
|
||
"14 DVD : C Major Cat : 722008 },\n",
|
||
" { 'answer': '1951',\n",
|
||
" 'context': Year \\\n",
|
||
"0 1947 \n",
|
||
"1 1951 \n",
|
||
"2 1952 \n",
|
||
"3 1959 \n",
|
||
"4 1960 \n",
|
||
"5 1964 \n",
|
||
"6 1970 \n",
|
||
"7 1976 \n",
|
||
"8 1976 \n",
|
||
"9 1986 \n",
|
||
"10 1986 \n",
|
||
"11 1987 \n",
|
||
"12 2001 \n",
|
||
"13 2008 \n",
|
||
"14 2013 \n",
|
||
"\n",
|
||
" Cast ( Macbeth , Lady Macbeth , Macduff , Banco ) \\\n",
|
||
"0 Francesco Valentino , Margherita Grandi , Walter Midgley , Italo Tajo \n",
|
||
"1 Ivan Petroff , Astrid Varnay , Gino Penno , Italo Tajo \n",
|
||
"2 Enzo Mascherini , Maria Callas , Gino Penno , Italo Tajo \n",
|
||
"3 Leonard Warren , Leonie Rysanek , Carlo Bergonzi , Jerome Hines \n",
|
||
"4 Giuseppe Taddei , Leyla Gencer , Mirto Picchi , Ferrucio Mazzoli \n",
|
||
"5 Giuseppe Taddei , Birgit Nilsson , Bruno Prevedi , Giovanni Foiani \n",
|
||
"6 Dietrich Fischer-Dieskau , Elena Souliotis , Luciano Pavarotti , Nicolai Ghi... \n",
|
||
"7 Piero Cappuccilli , Shirley Verrett , Plácido Domingo , Nicolai Ghiaurov \n",
|
||
"8 Sherrill Milnes , Fiorenza Cossotto , José Carreras , Ruggero Raimondi \n",
|
||
"9 Leo Nucci , Shirley Verrett , Veriano Luchetti , Samuel Ramey \n",
|
||
"10 Piero Cappuccilli , Sylvia Sass , Péter Kelen [ hu ] , Kolos Kováts [ hu ] \n",
|
||
"11 Renato Bruson , Mara Zampieri , Neil Shicoff , Robert Lloyd \n",
|
||
"12 Thomas Hampson , Paoletta Marrocu , Luis Lima , Roberto Scandiuzzi \n",
|
||
"13 Željko Lučić , Maria Guleghina , John Relyea , Dimitri Pittas \n",
|
||
"14 Leo Nucci , Sylvie Valayre , Enrico Iori , Roberto Iuliano \n",
|
||
"\n",
|
||
" Conductor , opera house and orchestra \\\n",
|
||
"0 Berthold Goldschmidt Scottish Orchestra , Glyndebourne Festival Chorus ( Liv... \n",
|
||
"1 Vittorio Gui Chorus and Orchestra of the Teatro Communale di Firenze ( Live ... \n",
|
||
"2 Victor de Sabata La Scala Chorus and Orchestra ( Live recording of 7 Dec. pe... \n",
|
||
"3 Erich Leinsdorf Metropolitan Opera Chorus and Orchestra \n",
|
||
"4 Vittorio Gui Teatro Massimo Chorus and Orchestra \n",
|
||
"5 Thomas Schippers , Accademia di Santa Cecilia Orchestra and Chorus \n",
|
||
"6 Lamberto Gardelli , London Philharmonic Orchestra and Ambrosian Opera Chorus \n",
|
||
"7 Claudio Abbado , Coro e Orchestra del Teatro alla Scala \n",
|
||
"8 Riccardo Muti , New Philharmonia Orchestra and Ambrosian Opera Chorus \n",
|
||
"9 Riccardo Chailly , Teatro Comunale di Bologna Orchestra and Chorus \n",
|
||
"10 Lamberto Gardelli , Hungarian Radio and Television Chorus and Budapest Symph... \n",
|
||
"11 Giuseppe Sinopoli , Orchester und Chor der Deutsche Oper Berlin ( Live recor... \n",
|
||
"12 Franz Welser-Möst , Chorus and Orchestra of the Zürich Opera House ( Live re... \n",
|
||
"13 James Levine , Metropolitan Opera Orchestra , Chorus , and Ballet ( Live rec... \n",
|
||
"14 Bruno Bartoletti , Teatro Regio di Parma ( 2006 production ) Drected by Lili... \n",
|
||
"\n",
|
||
" Label \n",
|
||
"0 CD : Classical Recordings Quarterly Editions Cat : CRQ CD004-5 \n",
|
||
"1 Operadepot-dot-com Cat : CD-10939-2 \n",
|
||
"2 CD : Myto Cat : MCD 063 H 115 \n",
|
||
"3 CD : RCA Victor Cat : 4516-2-RG \n",
|
||
"4 CD : Great Opera Performances ( GOP ) Cat : B00HYKI61Y \n",
|
||
"5 CD : Decca Cat : 433 039-2 \n",
|
||
"6 CD : Decca Cat : 440 048-2 \n",
|
||
"7 CD : Deutsche Grammophon Cat : 449 732-2 \n",
|
||
"8 CD : EMI Cat : CMS 5 67128-2 \n",
|
||
"9 CD : Decca Cat : 417 525-2 DVD : Decca , Cat : 073 4380 and 1040309 ( US ) \n",
|
||
"10 CD : Hungaroton Cat : HCD 12738-40 \n",
|
||
"11 DVD : ArtHaus Musik Cat : 100 141 \n",
|
||
"12 DVD : TDK Cat : DV-OPMAC \n",
|
||
"13 DVD : EMI Classics Cat : 2063049 \n",
|
||
"14 DVD : C Major Cat : 722008 },\n",
|
||
" { 'answer': '35.0',\n",
|
||
" 'context': Rank Player (2018 HRs) HR\n",
|
||
"0 1.0 Barry Bonds 762\n",
|
||
"1 2.0 Hank Aaron * 755\n",
|
||
"2 3.0 Babe Ruth * 714\n",
|
||
"3 4.0 Alex Rodriguez 696\n",
|
||
"4 5.0 Willie Mays * 660\n",
|
||
".. ... ... ...\n",
|
||
"70 71.0 Edwin Encarnación (32) 380\n",
|
||
"71 72.0 Orlando Cepeda * 379\n",
|
||
"72 nan Tony Pérez * 379\n",
|
||
"73 74.0 Matt Williams 378\n",
|
||
"74 75.0 Norm Cash 377\n",
|
||
"\n",
|
||
"[75 rows x 3 columns]},\n",
|
||
" { 'answer': 'Barry Bonds',\n",
|
||
" 'context': Rank Player (2018 HRs) HR\n",
|
||
"0 1.0 Barry Bonds 762\n",
|
||
"1 2.0 Hank Aaron * 755\n",
|
||
"2 3.0 Babe Ruth * 714\n",
|
||
"3 4.0 Alex Rodriguez 696\n",
|
||
"4 5.0 Willie Mays * 660\n",
|
||
".. ... ... ...\n",
|
||
"70 71.0 Edwin Encarnación (32) 380\n",
|
||
"71 72.0 Orlando Cepeda * 379\n",
|
||
"72 nan Tony Pérez * 379\n",
|
||
"73 74.0 Matt Williams 378\n",
|
||
"74 75.0 Norm Cash 377\n",
|
||
"\n",
|
||
"[75 rows x 3 columns]},\n",
|
||
" { 'answer': 'Babe Ruth *',\n",
|
||
" 'context': Rank Player (2018 HRs) HR\n",
|
||
"0 1.0 Barry Bonds 762\n",
|
||
"1 2.0 Hank Aaron * 755\n",
|
||
"2 3.0 Babe Ruth * 714\n",
|
||
"3 4.0 Alex Rodriguez 696\n",
|
||
"4 5.0 Willie Mays * 660\n",
|
||
".. ... ... ...\n",
|
||
"70 71.0 Edwin Encarnación (32) 380\n",
|
||
"71 72.0 Orlando Cepeda * 379\n",
|
||
"72 nan Tony Pérez * 379\n",
|
||
"73 74.0 Matt Williams 378\n",
|
||
"74 75.0 Norm Cash 377\n",
|
||
"\n",
|
||
"[75 rows x 3 columns]},\n",
|
||
" { 'answer': 'Alianza Lima',\n",
|
||
" 'context': Team Manager Captain \\\n",
|
||
"0 Alianza Lima José Soto Juan Jayo \n",
|
||
"1 Cienciano Raul Arias Julio Garcia \n",
|
||
"2 Cobresol Octavio Vidales Gregorio Bernales \n",
|
||
"3 Inti Gas Edgar Ospina Nick Montalva \n",
|
||
"4 José Gálvez Javier Arce Marco Ruiz \n",
|
||
"5 Juan Aurich Franco Navarro Luis Guadalupe \n",
|
||
"6 León de Huánuco Jean Ferrari Carlos Zegarra \n",
|
||
"7 Melgar Julio Zamora Antonio Meza Cuadra \n",
|
||
"8 Real Garcilaso Freddy García Ramón Rodríguez \n",
|
||
"9 Sport Boys Jorge Espejo Jorge Huamán \n",
|
||
"10 Sport Huancayo Wilmar Valencia Sergio Ibarra \n",
|
||
"11 Sporting Cristal Roberto Mosquera Erick Delgado \n",
|
||
"12 Unión Comercio Mario Viera Héctor Sosa \n",
|
||
"13 Universidad César Vallejo Víctor Rivera Carlos Galván \n",
|
||
"14 Universidad San Martín Angel Cappa Leao Butrón \n",
|
||
"15 Universitario Nolberto Solano John Galliquio \n",
|
||
"\n",
|
||
" Kit manufacturer Shirt sponsor \n",
|
||
"0 Nike nan \n",
|
||
"1 Aries Movistar \n",
|
||
"2 Loma 's Universidad Alas Peruanas \n",
|
||
"3 Walon Inti Gas \n",
|
||
"4 Real SIDERPERU /Megaplaza \n",
|
||
"5 Walon Grupo Oviedo \n",
|
||
"6 Walon Roky 's \n",
|
||
"7 Marathon nan \n",
|
||
"8 Walon I-RUN \n",
|
||
"9 Triathlon Gobierno Regional del Callao \n",
|
||
"10 Manchete Caja Municipal de Huancayo \n",
|
||
"11 Umbro Cerveza Cristal / Volkswagen \n",
|
||
"12 Real New Holland \n",
|
||
"13 Walon Universidad César Vallejo \n",
|
||
"14 Umbro Herbalife \n",
|
||
"15 Umbro Radio Exitosa },\n",
|
||
" { 'answer': 'Alexander Graham Bell Alexander Graham Bell',\n",
|
||
" 'context': 'is grandchildren. \"U.S. patent images in TIFF format\" '\n",
|
||
" 'Alexander Graham Bell Alexander Graham Bell (March 3, 1847 '\n",
|
||
" '– August 2, 1922) was a Scottish-born'},\n",
|
||
" { 'answer': 'Gerry Bertier Gerry Bertier (, with a hard \"G\"; August 20, '\n",
|
||
" '1953 – March 20, 1981) was a prominent Alexandria, Virginia '\n",
|
||
" 'high school American football player. He is best known for '\n",
|
||
" 'his participation on the 1971 Virginia State Champion '\n",
|
||
" 'football T. C. Williams High School team and their '\n",
|
||
" 'portrayal in the Disney film \"Remember the Titans\", and '\n",
|
||
" 'being the nephew of Howard Livingston.',\n",
|
||
" 'context': 'Gerry Bertier Gerry Bertier (, with a hard \"G\"; August 20, '\n",
|
||
" '1953 – March 20, 1981) was a prominent Alexandria, '\n",
|
||
" 'Virginia high school American football player. He is best '\n",
|
||
" 'known for his participation on the 1971 Virginia State '\n",
|
||
" 'Champion football T. C. Williams High School team and '\n",
|
||
" 'their portrayal in the Disney film \"Remember the Titans\", '\n",
|
||
" 'and being the nephew of Howard Livingston. '},\n",
|
||
" { 'answer': 'first vice president',\n",
|
||
" 'context': 'active in the Screen Actors Guild. In 2002 he was elected '\n",
|
||
" 'first vice president of the Guild in Los Angeles and '\n",
|
||
" 'served in the post for three years. Mik'}]\n"
|
||
]
|
||
}
|
||
],
|
||
"source": [
|
||
"# We can see both text passages and tables as contexts of the predicted answers.\n",
|
||
"print_answers(predictions, details=\"minimum\")"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": null,
|
||
"metadata": {
|
||
"id": "QYOHDSmLpzEg"
|
||
},
|
||
"outputs": [],
|
||
"source": [
|
||
"# Example query whose answer resides in a table\n",
|
||
"predictions = text_table_qa_pipeline.run(query=\"Which country does the film Macaroni come from?\")"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 22,
|
||
"metadata": {
|
||
"colab": {
|
||
"base_uri": "https://localhost:8080/"
|
||
},
|
||
"id": "4kw53uWep3zj",
|
||
"outputId": "b332cc17-3cb8-4e20-d79d-bb4cf656f277"
|
||
},
|
||
"outputs": [
|
||
{
|
||
"name": "stdout",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"\n",
|
||
"Query: Which country does the film Macaroni come from?\n",
|
||
"Answers:\n",
|
||
"[ { 'answer': 'Italian',\n",
|
||
" 'context': Submitting country Film title used in nomination Language ( s ) \\\n",
|
||
"0 Argentina The Official Story Spanish \n",
|
||
"1 Austria Malambo German \n",
|
||
"2 Belgium Dust French \n",
|
||
"3 Canada Jacques and November French \n",
|
||
"4 Czechoslovakia Scalpel , Please Czech \n",
|
||
"5 Denmark Twist and Shout Danish \n",
|
||
"6 France Three Men and a Cradle French \n",
|
||
"7 West Germany Angry Harvest German \n",
|
||
"8 Hungary Colonel Redl German \n",
|
||
"9 Iceland Deep Winter Icelandic \n",
|
||
"10 India Saagar Hindi \n",
|
||
"11 Israel When Night Falls Hebrew \n",
|
||
"12 Italy Macaroni Italian \n",
|
||
"13 Japan Gray Sunset Japanese \n",
|
||
"14 South Korea Eoudong Korean \n",
|
||
"15 Mexico Frida Still Life Spanish \n",
|
||
"16 Netherlands The Dream Dutch , West Frisian \n",
|
||
"17 Norway Wives - Ten Years After Norwegian \n",
|
||
"18 Peru The City and the Dogs Spanish \n",
|
||
"19 Philippines This Is My Country Tagalog \n",
|
||
"\n",
|
||
" Original title Director ( s ) \\\n",
|
||
"0 La Historia oficial Luis Puenzo \n",
|
||
"1 Malambo Milan Dor \n",
|
||
"2 Dust Marion Hänsel \n",
|
||
"3 Jacques et novembre Jean Beaudry and François Bouvier \n",
|
||
"4 Skalpel , prosím Jirí Svoboda \n",
|
||
"5 Tro , håb og kærlighed Bille August \n",
|
||
"6 Trois hommes et un couffin Coline Serreau \n",
|
||
"7 Bittere Ernte Agnieszka Holland \n",
|
||
"8 Oberst Redl István Szabó \n",
|
||
"9 Skammdegi Þráinn Bertelsson \n",
|
||
"10 सागर Ramesh Sippy \n",
|
||
"11 עד סוף הלילה Eitan Green \n",
|
||
"12 Maccheroni Ettore Scola \n",
|
||
"13 花いちもんめ Shunya Ito \n",
|
||
"14 어우동 Lee Jang-ho \n",
|
||
"15 Frida , naturaleza viva Paul Leduc \n",
|
||
"16 De Dream Pieter Verhoeff \n",
|
||
"17 Hustruer - ti år etter Anja Breien \n",
|
||
"18 La ciudad y los perros Francisco José Lombardi \n",
|
||
"19 Bayan ko : Kapit sa patalim Lino Brocka \n",
|
||
"\n",
|
||
" Result \n",
|
||
"0 Won Academy Award \n",
|
||
"1 Not Nominated \n",
|
||
"2 Not Nominated \n",
|
||
"3 Not Nominated \n",
|
||
"4 Not Nominated \n",
|
||
"5 Not Nominated \n",
|
||
"6 Nominated \n",
|
||
"7 Nominated \n",
|
||
"8 Nominated \n",
|
||
"9 Not Nominated \n",
|
||
"10 Not Nominated \n",
|
||
"11 Not Nominated \n",
|
||
"12 Not Nominated \n",
|
||
"13 Not Nominated \n",
|
||
"14 Not Nominated \n",
|
||
"15 Not Nominated \n",
|
||
"16 Not Nominated \n",
|
||
"17 Not Nominated \n",
|
||
"18 Not Nominated \n",
|
||
"19 Not Nominated },\n",
|
||
" { 'answer': 'Italian',\n",
|
||
" 'context': Submitting country Film title used in nomination Language ( s ) \\\n",
|
||
"0 Argentina The Official Story Spanish \n",
|
||
"1 Austria Malambo German \n",
|
||
"2 Belgium Dust French \n",
|
||
"3 Canada Jacques and November French \n",
|
||
"4 Czechoslovakia Scalpel , Please Czech \n",
|
||
"5 Denmark Twist and Shout Danish \n",
|
||
"6 France Three Men and a Cradle French \n",
|
||
"7 West Germany Angry Harvest German \n",
|
||
"8 Hungary Colonel Redl German \n",
|
||
"9 Iceland Deep Winter Icelandic \n",
|
||
"10 India Saagar Hindi \n",
|
||
"11 Israel When Night Falls Hebrew \n",
|
||
"12 Italy Macaroni Italian \n",
|
||
"13 Japan Gray Sunset Japanese \n",
|
||
"14 South Korea Eoudong Korean \n",
|
||
"15 Mexico Frida Still Life Spanish \n",
|
||
"16 Netherlands The Dream Dutch , West Frisian \n",
|
||
"17 Norway Wives - Ten Years After Norwegian \n",
|
||
"18 Peru The City and the Dogs Spanish \n",
|
||
"19 Philippines This Is My Country Tagalog \n",
|
||
"\n",
|
||
" Original title Director ( s ) \\\n",
|
||
"0 La Historia oficial Luis Puenzo \n",
|
||
"1 Malambo Milan Dor \n",
|
||
"2 Dust Marion Hänsel \n",
|
||
"3 Jacques et novembre Jean Beaudry and François Bouvier \n",
|
||
"4 Skalpel , prosím Jirí Svoboda \n",
|
||
"5 Tro , håb og kærlighed Bille August \n",
|
||
"6 Trois hommes et un couffin Coline Serreau \n",
|
||
"7 Bittere Ernte Agnieszka Holland \n",
|
||
"8 Oberst Redl István Szabó \n",
|
||
"9 Skammdegi Þráinn Bertelsson \n",
|
||
"10 सागर Ramesh Sippy \n",
|
||
"11 עד סוף הלילה Eitan Green \n",
|
||
"12 Maccheroni Ettore Scola \n",
|
||
"13 花いちもんめ Shunya Ito \n",
|
||
"14 어우동 Lee Jang-ho \n",
|
||
"15 Frida , naturaleza viva Paul Leduc \n",
|
||
"16 De Dream Pieter Verhoeff \n",
|
||
"17 Hustruer - ti år etter Anja Breien \n",
|
||
"18 La ciudad y los perros Francisco José Lombardi \n",
|
||
"19 Bayan ko : Kapit sa patalim Lino Brocka \n",
|
||
"\n",
|
||
" Result \n",
|
||
"0 Won Academy Award \n",
|
||
"1 Not Nominated \n",
|
||
"2 Not Nominated \n",
|
||
"3 Not Nominated \n",
|
||
"4 Not Nominated \n",
|
||
"5 Not Nominated \n",
|
||
"6 Nominated \n",
|
||
"7 Nominated \n",
|
||
"8 Nominated \n",
|
||
"9 Not Nominated \n",
|
||
"10 Not Nominated \n",
|
||
"11 Not Nominated \n",
|
||
"12 Not Nominated \n",
|
||
"13 Not Nominated \n",
|
||
"14 Not Nominated \n",
|
||
"15 Not Nominated \n",
|
||
"16 Not Nominated \n",
|
||
"17 Not Nominated \n",
|
||
"18 Not Nominated \n",
|
||
"19 Not Nominated },\n",
|
||
" { 'answer': 'Icelandic',\n",
|
||
" 'context': Submitting country Film title used in nomination Language ( s ) \\\n",
|
||
"0 Argentina The Official Story Spanish \n",
|
||
"1 Austria Malambo German \n",
|
||
"2 Belgium Dust French \n",
|
||
"3 Canada Jacques and November French \n",
|
||
"4 Czechoslovakia Scalpel , Please Czech \n",
|
||
"5 Denmark Twist and Shout Danish \n",
|
||
"6 France Three Men and a Cradle French \n",
|
||
"7 West Germany Angry Harvest German \n",
|
||
"8 Hungary Colonel Redl German \n",
|
||
"9 Iceland Deep Winter Icelandic \n",
|
||
"10 India Saagar Hindi \n",
|
||
"11 Israel When Night Falls Hebrew \n",
|
||
"12 Italy Macaroni Italian \n",
|
||
"13 Japan Gray Sunset Japanese \n",
|
||
"14 South Korea Eoudong Korean \n",
|
||
"15 Mexico Frida Still Life Spanish \n",
|
||
"16 Netherlands The Dream Dutch , West Frisian \n",
|
||
"17 Norway Wives - Ten Years After Norwegian \n",
|
||
"18 Peru The City and the Dogs Spanish \n",
|
||
"19 Philippines This Is My Country Tagalog \n",
|
||
"\n",
|
||
" Original title Director ( s ) \\\n",
|
||
"0 La Historia oficial Luis Puenzo \n",
|
||
"1 Malambo Milan Dor \n",
|
||
"2 Dust Marion Hänsel \n",
|
||
"3 Jacques et novembre Jean Beaudry and François Bouvier \n",
|
||
"4 Skalpel , prosím Jirí Svoboda \n",
|
||
"5 Tro , håb og kærlighed Bille August \n",
|
||
"6 Trois hommes et un couffin Coline Serreau \n",
|
||
"7 Bittere Ernte Agnieszka Holland \n",
|
||
"8 Oberst Redl István Szabó \n",
|
||
"9 Skammdegi Þráinn Bertelsson \n",
|
||
"10 सागर Ramesh Sippy \n",
|
||
"11 עד סוף הלילה Eitan Green \n",
|
||
"12 Maccheroni Ettore Scola \n",
|
||
"13 花いちもんめ Shunya Ito \n",
|
||
"14 어우동 Lee Jang-ho \n",
|
||
"15 Frida , naturaleza viva Paul Leduc \n",
|
||
"16 De Dream Pieter Verhoeff \n",
|
||
"17 Hustruer - ti år etter Anja Breien \n",
|
||
"18 La ciudad y los perros Francisco José Lombardi \n",
|
||
"19 Bayan ko : Kapit sa patalim Lino Brocka \n",
|
||
"\n",
|
||
" Result \n",
|
||
"0 Won Academy Award \n",
|
||
"1 Not Nominated \n",
|
||
"2 Not Nominated \n",
|
||
"3 Not Nominated \n",
|
||
"4 Not Nominated \n",
|
||
"5 Not Nominated \n",
|
||
"6 Nominated \n",
|
||
"7 Nominated \n",
|
||
"8 Nominated \n",
|
||
"9 Not Nominated \n",
|
||
"10 Not Nominated \n",
|
||
"11 Not Nominated \n",
|
||
"12 Not Nominated \n",
|
||
"13 Not Nominated \n",
|
||
"14 Not Nominated \n",
|
||
"15 Not Nominated \n",
|
||
"16 Not Nominated \n",
|
||
"17 Not Nominated \n",
|
||
"18 Not Nominated \n",
|
||
"19 Not Nominated },\n",
|
||
" { 'answer': 'Icelandic',\n",
|
||
" 'context': Submitting country Film title used in nomination Language ( s ) \\\n",
|
||
"0 Argentina The Official Story Spanish \n",
|
||
"1 Austria Malambo German \n",
|
||
"2 Belgium Dust French \n",
|
||
"3 Canada Jacques and November French \n",
|
||
"4 Czechoslovakia Scalpel , Please Czech \n",
|
||
"5 Denmark Twist and Shout Danish \n",
|
||
"6 France Three Men and a Cradle French \n",
|
||
"7 West Germany Angry Harvest German \n",
|
||
"8 Hungary Colonel Redl German \n",
|
||
"9 Iceland Deep Winter Icelandic \n",
|
||
"10 India Saagar Hindi \n",
|
||
"11 Israel When Night Falls Hebrew \n",
|
||
"12 Italy Macaroni Italian \n",
|
||
"13 Japan Gray Sunset Japanese \n",
|
||
"14 South Korea Eoudong Korean \n",
|
||
"15 Mexico Frida Still Life Spanish \n",
|
||
"16 Netherlands The Dream Dutch , West Frisian \n",
|
||
"17 Norway Wives - Ten Years After Norwegian \n",
|
||
"18 Peru The City and the Dogs Spanish \n",
|
||
"19 Philippines This Is My Country Tagalog \n",
|
||
"\n",
|
||
" Original title Director ( s ) \\\n",
|
||
"0 La Historia oficial Luis Puenzo \n",
|
||
"1 Malambo Milan Dor \n",
|
||
"2 Dust Marion Hänsel \n",
|
||
"3 Jacques et novembre Jean Beaudry and François Bouvier \n",
|
||
"4 Skalpel , prosím Jirí Svoboda \n",
|
||
"5 Tro , håb og kærlighed Bille August \n",
|
||
"6 Trois hommes et un couffin Coline Serreau \n",
|
||
"7 Bittere Ernte Agnieszka Holland \n",
|
||
"8 Oberst Redl István Szabó \n",
|
||
"9 Skammdegi Þráinn Bertelsson \n",
|
||
"10 सागर Ramesh Sippy \n",
|
||
"11 עד סוף הלילה Eitan Green \n",
|
||
"12 Maccheroni Ettore Scola \n",
|
||
"13 花いちもんめ Shunya Ito \n",
|
||
"14 어우동 Lee Jang-ho \n",
|
||
"15 Frida , naturaleza viva Paul Leduc \n",
|
||
"16 De Dream Pieter Verhoeff \n",
|
||
"17 Hustruer - ti år etter Anja Breien \n",
|
||
"18 La ciudad y los perros Francisco José Lombardi \n",
|
||
"19 Bayan ko : Kapit sa patalim Lino Brocka \n",
|
||
"\n",
|
||
" Result \n",
|
||
"0 Won Academy Award \n",
|
||
"1 Not Nominated \n",
|
||
"2 Not Nominated \n",
|
||
"3 Not Nominated \n",
|
||
"4 Not Nominated \n",
|
||
"5 Not Nominated \n",
|
||
"6 Nominated \n",
|
||
"7 Nominated \n",
|
||
"8 Nominated \n",
|
||
"9 Not Nominated \n",
|
||
"10 Not Nominated \n",
|
||
"11 Not Nominated \n",
|
||
"12 Not Nominated \n",
|
||
"13 Not Nominated \n",
|
||
"14 Not Nominated \n",
|
||
"15 Not Nominated \n",
|
||
"16 Not Nominated \n",
|
||
"17 Not Nominated \n",
|
||
"18 Not Nominated \n",
|
||
"19 Not Nominated },\n",
|
||
" { 'answer': 'Japanese',\n",
|
||
" 'context': Submitting country Film title used in nomination Language ( s ) \\\n",
|
||
"0 Argentina The Official Story Spanish \n",
|
||
"1 Austria Malambo German \n",
|
||
"2 Belgium Dust French \n",
|
||
"3 Canada Jacques and November French \n",
|
||
"4 Czechoslovakia Scalpel , Please Czech \n",
|
||
"5 Denmark Twist and Shout Danish \n",
|
||
"6 France Three Men and a Cradle French \n",
|
||
"7 West Germany Angry Harvest German \n",
|
||
"8 Hungary Colonel Redl German \n",
|
||
"9 Iceland Deep Winter Icelandic \n",
|
||
"10 India Saagar Hindi \n",
|
||
"11 Israel When Night Falls Hebrew \n",
|
||
"12 Italy Macaroni Italian \n",
|
||
"13 Japan Gray Sunset Japanese \n",
|
||
"14 South Korea Eoudong Korean \n",
|
||
"15 Mexico Frida Still Life Spanish \n",
|
||
"16 Netherlands The Dream Dutch , West Frisian \n",
|
||
"17 Norway Wives - Ten Years After Norwegian \n",
|
||
"18 Peru The City and the Dogs Spanish \n",
|
||
"19 Philippines This Is My Country Tagalog \n",
|
||
"\n",
|
||
" Original title Director ( s ) \\\n",
|
||
"0 La Historia oficial Luis Puenzo \n",
|
||
"1 Malambo Milan Dor \n",
|
||
"2 Dust Marion Hänsel \n",
|
||
"3 Jacques et novembre Jean Beaudry and François Bouvier \n",
|
||
"4 Skalpel , prosím Jirí Svoboda \n",
|
||
"5 Tro , håb og kærlighed Bille August \n",
|
||
"6 Trois hommes et un couffin Coline Serreau \n",
|
||
"7 Bittere Ernte Agnieszka Holland \n",
|
||
"8 Oberst Redl István Szabó \n",
|
||
"9 Skammdegi Þráinn Bertelsson \n",
|
||
"10 सागर Ramesh Sippy \n",
|
||
"11 עד סוף הלילה Eitan Green \n",
|
||
"12 Maccheroni Ettore Scola \n",
|
||
"13 花いちもんめ Shunya Ito \n",
|
||
"14 어우동 Lee Jang-ho \n",
|
||
"15 Frida , naturaleza viva Paul Leduc \n",
|
||
"16 De Dream Pieter Verhoeff \n",
|
||
"17 Hustruer - ti år etter Anja Breien \n",
|
||
"18 La ciudad y los perros Francisco José Lombardi \n",
|
||
"19 Bayan ko : Kapit sa patalim Lino Brocka \n",
|
||
"\n",
|
||
" Result \n",
|
||
"0 Won Academy Award \n",
|
||
"1 Not Nominated \n",
|
||
"2 Not Nominated \n",
|
||
"3 Not Nominated \n",
|
||
"4 Not Nominated \n",
|
||
"5 Not Nominated \n",
|
||
"6 Nominated \n",
|
||
"7 Nominated \n",
|
||
"8 Nominated \n",
|
||
"9 Not Nominated \n",
|
||
"10 Not Nominated \n",
|
||
"11 Not Nominated \n",
|
||
"12 Not Nominated \n",
|
||
"13 Not Nominated \n",
|
||
"14 Not Nominated \n",
|
||
"15 Not Nominated \n",
|
||
"16 Not Nominated \n",
|
||
"17 Not Nominated \n",
|
||
"18 Not Nominated \n",
|
||
"19 Not Nominated },\n",
|
||
" { 'answer': 'Japanese',\n",
|
||
" 'context': Submitting country Film title used in nomination Language ( s ) \\\n",
|
||
"0 Argentina The Official Story Spanish \n",
|
||
"1 Austria Malambo German \n",
|
||
"2 Belgium Dust French \n",
|
||
"3 Canada Jacques and November French \n",
|
||
"4 Czechoslovakia Scalpel , Please Czech \n",
|
||
"5 Denmark Twist and Shout Danish \n",
|
||
"6 France Three Men and a Cradle French \n",
|
||
"7 West Germany Angry Harvest German \n",
|
||
"8 Hungary Colonel Redl German \n",
|
||
"9 Iceland Deep Winter Icelandic \n",
|
||
"10 India Saagar Hindi \n",
|
||
"11 Israel When Night Falls Hebrew \n",
|
||
"12 Italy Macaroni Italian \n",
|
||
"13 Japan Gray Sunset Japanese \n",
|
||
"14 South Korea Eoudong Korean \n",
|
||
"15 Mexico Frida Still Life Spanish \n",
|
||
"16 Netherlands The Dream Dutch , West Frisian \n",
|
||
"17 Norway Wives - Ten Years After Norwegian \n",
|
||
"18 Peru The City and the Dogs Spanish \n",
|
||
"19 Philippines This Is My Country Tagalog \n",
|
||
"\n",
|
||
" Original title Director ( s ) \\\n",
|
||
"0 La Historia oficial Luis Puenzo \n",
|
||
"1 Malambo Milan Dor \n",
|
||
"2 Dust Marion Hänsel \n",
|
||
"3 Jacques et novembre Jean Beaudry and François Bouvier \n",
|
||
"4 Skalpel , prosím Jirí Svoboda \n",
|
||
"5 Tro , håb og kærlighed Bille August \n",
|
||
"6 Trois hommes et un couffin Coline Serreau \n",
|
||
"7 Bittere Ernte Agnieszka Holland \n",
|
||
"8 Oberst Redl István Szabó \n",
|
||
"9 Skammdegi Þráinn Bertelsson \n",
|
||
"10 सागर Ramesh Sippy \n",
|
||
"11 עד סוף הלילה Eitan Green \n",
|
||
"12 Maccheroni Ettore Scola \n",
|
||
"13 花いちもんめ Shunya Ito \n",
|
||
"14 어우동 Lee Jang-ho \n",
|
||
"15 Frida , naturaleza viva Paul Leduc \n",
|
||
"16 De Dream Pieter Verhoeff \n",
|
||
"17 Hustruer - ti år etter Anja Breien \n",
|
||
"18 La ciudad y los perros Francisco José Lombardi \n",
|
||
"19 Bayan ko : Kapit sa patalim Lino Brocka \n",
|
||
"\n",
|
||
" Result \n",
|
||
"0 Won Academy Award \n",
|
||
"1 Not Nominated \n",
|
||
"2 Not Nominated \n",
|
||
"3 Not Nominated \n",
|
||
"4 Not Nominated \n",
|
||
"5 Not Nominated \n",
|
||
"6 Nominated \n",
|
||
"7 Nominated \n",
|
||
"8 Nominated \n",
|
||
"9 Not Nominated \n",
|
||
"10 Not Nominated \n",
|
||
"11 Not Nominated \n",
|
||
"12 Not Nominated \n",
|
||
"13 Not Nominated \n",
|
||
"14 Not Nominated \n",
|
||
"15 Not Nominated \n",
|
||
"16 Not Nominated \n",
|
||
"17 Not Nominated \n",
|
||
"18 Not Nominated \n",
|
||
"19 Not Nominated },\n",
|
||
" { 'answer': 'Strength',\n",
|
||
" 'context': \\\n",
|
||
"0 Vietnam War (Chiến tranh Việt Nam) \n",
|
||
"\n",
|
||
" \\\n",
|
||
"0 Part of the Indochina Wars and the Cold War \n",
|
||
"\n",
|
||
" \\\n",
|
||
"0 Clockwise, from top left: U.S. combat operations in Ia Drang, ARVN Rangers d... \n",
|
||
"\n",
|
||
" \\\n",
|
||
"0 Date 1 November 1955[A 1] – 30 April 1975 (19 years, 5 months, 4 weeks and 1... \n",
|
||
"\n",
|
||
" Date \\\n",
|
||
"0 1 November 1955[A 1] – 30 April 1975 (19 years, 5 months, 4 weeks and 1 day) \n",
|
||
"\n",
|
||
" Location \\\n",
|
||
"0 South Vietnam, North Vietnam, Cambodia, Laos, South China Sea, Gulf of Thailand \n",
|
||
"\n",
|
||
" Result \\\n",
|
||
"0 North Vietnamese victory Withdrawal of American-led forces from Indochina Co... \n",
|
||
"\n",
|
||
" Territorial changes \\\n",
|
||
"0 Reunification of North and South Vietnam into the Socialist Republic of Viet... \n",
|
||
"\n",
|
||
" \\\n",
|
||
"0 Belligerents \n",
|
||
"\n",
|
||
" South Vietnam United States South Korea Thailand Australia Philippines New Zealand Khmer Republic Kingdom of Laos Military support: Taiwan[1][2] Other support[show] Malaysia[3][4] Spain[2] Canada [2] Iran[2] West Germany[2] Brazil[5] Japan[2] \\\n",
|
||
"0 North Vietnam Viet Cong Khmer Rouge Pathet Lao China North Korea Milita... \n",
|
||
"\n",
|
||
" \\\n",
|
||
"0 Commanders and leaders \n",
|
||
"\n",
|
||
" Ngô Đình Diệm † Nguyễn Văn Thiệu Nguyễn Cao Kỳ Cao Văn Viên Ngô Quang Trưởng John F. Kennedy Lyndon B. Johnson Richard Nixon Gerald Ford Robert McNamara William Westmoreland Creighton Abrams Frederick C. Weyand Park Chung-hee Thanom Kittikachorn Robert Menzies Harold Holt John McEwen John Gorton William McMahon Ferdinand Marcos Keith Holyoake Jack Marshall Norman Kirk Chiang Kai-Shek …and others \\\n",
|
||
"0 Ho Chi Minh Lê Duẩn Võ Nguyên Giáp Văn Tiến Dũng Lê Trọng Tấn Phạm Văn ... \n",
|
||
"\n",
|
||
" \\\n",
|
||
"0 Strength \n",
|
||
"\n",
|
||
" ≈1,420,000 (1968) South Vietnam: 850,000 (1968) 1,500,000 (1974–75)[21] United States: 543,000 (April 1969)[22][23] South Korea: 50,003 Thailand: 11,570[24] Australia: 7,672 Philippines: 2,061 New Zealand: 552[25] \\\n",
|
||
"0 ≈1,060,000 (1967) North Vietnam: 690,000 (January 1967)[26] Viet Cong: 200... \n",
|
||
"\n",
|
||
" \\\n",
|
||
"0 Casualties and losses \n",
|
||
"\n",
|
||
" South Vietnam 195,000–430,000 civilian dead[32][33][34] 220,357[35]–313,000 military dead[36] 1,170,000 wounded[37] United States 58,220 dead;[38] 303,644 wounded (including 150,341 not requiring hospital care)[A 2] South Korea 5,099 dead; 10,962 wounded; 4 missing Australia 521 dead; 3,129 wounded [43] Thailand 351 dead; 1,358 wounded[44] New Zealand 37 dead; 187 wounded[45] Taiwan 25 dead;[46] Philippines 9 dead;[47] 64 wounded[48] Total military dead: 284,668–377,311 Total wounded: ≈1,340,000+[37] \\\n",
|
||
"0 North Vietnam & Viet Cong 65,000 civilian dead[33] 849,018 military dead[49]... \n",
|
||
"\n",
|
||
" \n",
|
||
"0 Vietnamese civilian dead: 627,000–2,000,000[33][53][54] Vietnamese total dea... },\n",
|
||
" { 'answer': 'Ho Chi Minh Lê Duẩn Võ Nguyên Giáp Văn Tiến Dũng Lê '\n",
|
||
" 'Trọng Tấn Phạm Văn Đồng Hoàng Văn Thái Trần Văn Trà '\n",
|
||
" 'Nguyễn Văn Linh Nguyễn Hữu Thọ …and others',\n",
|
||
" 'context': \\\n",
|
||
"0 Vietnam War (Chiến tranh Việt Nam) \n",
|
||
"\n",
|
||
" \\\n",
|
||
"0 Part of the Indochina Wars and the Cold War \n",
|
||
"\n",
|
||
" \\\n",
|
||
"0 Clockwise, from top left: U.S. combat operations in Ia Drang, ARVN Rangers d... \n",
|
||
"\n",
|
||
" \\\n",
|
||
"0 Date 1 November 1955[A 1] – 30 April 1975 (19 years, 5 months, 4 weeks and 1... \n",
|
||
"\n",
|
||
" Date \\\n",
|
||
"0 1 November 1955[A 1] – 30 April 1975 (19 years, 5 months, 4 weeks and 1 day) \n",
|
||
"\n",
|
||
" Location \\\n",
|
||
"0 South Vietnam, North Vietnam, Cambodia, Laos, South China Sea, Gulf of Thailand \n",
|
||
"\n",
|
||
" Result \\\n",
|
||
"0 North Vietnamese victory Withdrawal of American-led forces from Indochina Co... \n",
|
||
"\n",
|
||
" Territorial changes \\\n",
|
||
"0 Reunification of North and South Vietnam into the Socialist Republic of Viet... \n",
|
||
"\n",
|
||
" \\\n",
|
||
"0 Belligerents \n",
|
||
"\n",
|
||
" South Vietnam United States South Korea Thailand Australia Philippines New Zealand Khmer Republic Kingdom of Laos Military support: Taiwan[1][2] Other support[show] Malaysia[3][4] Spain[2] Canada [2] Iran[2] West Germany[2] Brazil[5] Japan[2] \\\n",
|
||
"0 North Vietnam Viet Cong Khmer Rouge Pathet Lao China North Korea Milita... \n",
|
||
"\n",
|
||
" \\\n",
|
||
"0 Commanders and leaders \n",
|
||
"\n",
|
||
" Ngô Đình Diệm † Nguyễn Văn Thiệu Nguyễn Cao Kỳ Cao Văn Viên Ngô Quang Trưởng John F. Kennedy Lyndon B. Johnson Richard Nixon Gerald Ford Robert McNamara William Westmoreland Creighton Abrams Frederick C. Weyand Park Chung-hee Thanom Kittikachorn Robert Menzies Harold Holt John McEwen John Gorton William McMahon Ferdinand Marcos Keith Holyoake Jack Marshall Norman Kirk Chiang Kai-Shek …and others \\\n",
|
||
"0 Ho Chi Minh Lê Duẩn Võ Nguyên Giáp Văn Tiến Dũng Lê Trọng Tấn Phạm Văn ... \n",
|
||
"\n",
|
||
" \\\n",
|
||
"0 Strength \n",
|
||
"\n",
|
||
" ≈1,420,000 (1968) South Vietnam: 850,000 (1968) 1,500,000 (1974–75)[21] United States: 543,000 (April 1969)[22][23] South Korea: 50,003 Thailand: 11,570[24] Australia: 7,672 Philippines: 2,061 New Zealand: 552[25] \\\n",
|
||
"0 ≈1,060,000 (1967) North Vietnam: 690,000 (January 1967)[26] Viet Cong: 200... \n",
|
||
"\n",
|
||
" \\\n",
|
||
"0 Casualties and losses \n",
|
||
"\n",
|
||
" South Vietnam 195,000–430,000 civilian dead[32][33][34] 220,357[35]–313,000 military dead[36] 1,170,000 wounded[37] United States 58,220 dead;[38] 303,644 wounded (including 150,341 not requiring hospital care)[A 2] South Korea 5,099 dead; 10,962 wounded; 4 missing Australia 521 dead; 3,129 wounded [43] Thailand 351 dead; 1,358 wounded[44] New Zealand 37 dead; 187 wounded[45] Taiwan 25 dead;[46] Philippines 9 dead;[47] 64 wounded[48] Total military dead: 284,668–377,311 Total wounded: ≈1,340,000+[37] \\\n",
|
||
"0 North Vietnam & Viet Cong 65,000 civilian dead[33] 849,018 military dead[49]... \n",
|
||
"\n",
|
||
" \n",
|
||
"0 Vietnamese civilian dead: 627,000–2,000,000[33][53][54] Vietnamese total dea... },\n",
|
||
" { 'answer': 'North Vietnam Viet Cong Khmer Rouge Pathet Lao \\xa0'\n",
|
||
" 'China \\xa0North Korea Military support: \\xa0Soviet '\n",
|
||
" 'Union \\xa0Cuba[6][7] Other support[show] '\n",
|
||
" 'Czechoslovakia[8][9] Bulgaria[10] \\xa0East '\n",
|
||
" 'Germany[11][12] Romania[13] \\xa0Poland[14] '\n",
|
||
" 'Hungary[14] \\xa0Sweden[15][16]',\n",
|
||
" 'context': \\\n",
|
||
"0 Vietnam War (Chiến tranh Việt Nam) \n",
|
||
"\n",
|
||
" \\\n",
|
||
"0 Part of the Indochina Wars and the Cold War \n",
|
||
"\n",
|
||
" \\\n",
|
||
"0 Clockwise, from top left: U.S. combat operations in Ia Drang, ARVN Rangers d... \n",
|
||
"\n",
|
||
" \\\n",
|
||
"0 Date 1 November 1955[A 1] – 30 April 1975 (19 years, 5 months, 4 weeks and 1... \n",
|
||
"\n",
|
||
" Date \\\n",
|
||
"0 1 November 1955[A 1] – 30 April 1975 (19 years, 5 months, 4 weeks and 1 day) \n",
|
||
"\n",
|
||
" Location \\\n",
|
||
"0 South Vietnam, North Vietnam, Cambodia, Laos, South China Sea, Gulf of Thailand \n",
|
||
"\n",
|
||
" Result \\\n",
|
||
"0 North Vietnamese victory Withdrawal of American-led forces from Indochina Co... \n",
|
||
"\n",
|
||
" Territorial changes \\\n",
|
||
"0 Reunification of North and South Vietnam into the Socialist Republic of Viet... \n",
|
||
"\n",
|
||
" \\\n",
|
||
"0 Belligerents \n",
|
||
"\n",
|
||
" South Vietnam United States South Korea Thailand Australia Philippines New Zealand Khmer Republic Kingdom of Laos Military support: Taiwan[1][2] Other support[show] Malaysia[3][4] Spain[2] Canada [2] Iran[2] West Germany[2] Brazil[5] Japan[2] \\\n",
|
||
"0 North Vietnam Viet Cong Khmer Rouge Pathet Lao China North Korea Milita... \n",
|
||
"\n",
|
||
" \\\n",
|
||
"0 Commanders and leaders \n",
|
||
"\n",
|
||
" Ngô Đình Diệm † Nguyễn Văn Thiệu Nguyễn Cao Kỳ Cao Văn Viên Ngô Quang Trưởng John F. Kennedy Lyndon B. Johnson Richard Nixon Gerald Ford Robert McNamara William Westmoreland Creighton Abrams Frederick C. Weyand Park Chung-hee Thanom Kittikachorn Robert Menzies Harold Holt John McEwen John Gorton William McMahon Ferdinand Marcos Keith Holyoake Jack Marshall Norman Kirk Chiang Kai-Shek …and others \\\n",
|
||
"0 Ho Chi Minh Lê Duẩn Võ Nguyên Giáp Văn Tiến Dũng Lê Trọng Tấn Phạm Văn ... \n",
|
||
"\n",
|
||
" \\\n",
|
||
"0 Strength \n",
|
||
"\n",
|
||
" ≈1,420,000 (1968) South Vietnam: 850,000 (1968) 1,500,000 (1974–75)[21] United States: 543,000 (April 1969)[22][23] South Korea: 50,003 Thailand: 11,570[24] Australia: 7,672 Philippines: 2,061 New Zealand: 552[25] \\\n",
|
||
"0 ≈1,060,000 (1967) North Vietnam: 690,000 (January 1967)[26] Viet Cong: 200... \n",
|
||
"\n",
|
||
" \\\n",
|
||
"0 Casualties and losses \n",
|
||
"\n",
|
||
" South Vietnam 195,000–430,000 civilian dead[32][33][34] 220,357[35]–313,000 military dead[36] 1,170,000 wounded[37] United States 58,220 dead;[38] 303,644 wounded (including 150,341 not requiring hospital care)[A 2] South Korea 5,099 dead; 10,962 wounded; 4 missing Australia 521 dead; 3,129 wounded [43] Thailand 351 dead; 1,358 wounded[44] New Zealand 37 dead; 187 wounded[45] Taiwan 25 dead;[46] Philippines 9 dead;[47] 64 wounded[48] Total military dead: 284,668–377,311 Total wounded: ≈1,340,000+[37] \\\n",
|
||
"0 North Vietnam & Viet Cong 65,000 civilian dead[33] 849,018 military dead[49]... \n",
|
||
"\n",
|
||
" \n",
|
||
"0 Vietnamese civilian dead: 627,000–2,000,000[33][53][54] Vietnamese total dea... },\n",
|
||
" { 'answer': 'Canada',\n",
|
||
" 'context': Place Player Country Score To par\n",
|
||
"0 1 Phil Mickelson United States 70-72-70=212 –4\n",
|
||
"1 T2 Chad Campbell United States 71-67-75=213 –3\n",
|
||
"2 T2 Fred Couples United States 71-70-72=213 –3\n",
|
||
"3 T4 Stephen Ames Canada 74-70-70=214 –2\n",
|
||
"4 T4 Tim Clark South Africa 70-72-72=214 –2\n",
|
||
"5 T4 Darren Clarke Northern Ireland 72-70-72=214 –2\n",
|
||
"6 T4 Rocco Mediate United States 68-73-73=214 –2\n",
|
||
"7 T4 Vijay Singh Fiji 67-74-73=214 –2\n",
|
||
"8 T4 Tiger Woods United States 72-71-71=214 –2\n",
|
||
"9 T10 Retief Goosen South Africa 70-73-72=215 –1\n",
|
||
"10 T10 Miguel Ángel Jiménez Spain 72-74-69=215 –1},\n",
|
||
" { 'answer': 'England',\n",
|
||
" 'context': 'd Estate. The exterior of the Cragside country house in '\n",
|
||
" 'Northumberland, England, along with its coniferous '\n",
|
||
" 'surroundings, was used to depict the Lockwo'},\n",
|
||
" { 'answer': 'Miami',\n",
|
||
" 'context': 'uld air on December 18, 2017. On October 30, 2017, VH1 '\n",
|
||
" 'announced \"\", the Miami-based spin-off of \"Love & Hip '\n",
|
||
" 'Hop\", would make its series premiere on J'},\n",
|
||
" { 'answer': 'Southern',\n",
|
||
" 'context': \" Cledus' dog Fred's barking) and music (such as the final \"\n",
|
||
" 'chase to the Southern Classic) were removed and not '\n",
|
||
" 'replaced. (Note: earlier DVD releases an'},\n",
|
||
" { 'answer': 'Scotland',\n",
|
||
" 'context': 'it with them to other regions, notably Scotland and the '\n",
|
||
" 'Isle of Man, where Middle Irish gave rise to Scottish '\n",
|
||
" 'Gaelic and Manx respectively. It has the'},\n",
|
||
" { 'answer': 'American',\n",
|
||
" 'context': 'film) Rhapsody in Blue is a 1945 fictionalized screen '\n",
|
||
" 'biography of the American composer and musician George '\n",
|
||
" 'Gershwin (September 26, 1898 – July 11, 1'},\n",
|
||
" { 'answer': 'United States',\n",
|
||
" 'context': ' in the film\\'s financing and production. \"The Terminator\" '\n",
|
||
" 'topped the United States box office for two weeks and '\n",
|
||
" \"helped launch Cameron's film career an\"}]\n"
|
||
]
|
||
}
|
||
],
|
||
"source": [
|
||
"# We can see both text passages and tables as contexts of the predicted answers.\n",
|
||
"print_answers(predictions, details=\"minimum\")"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"metadata": {},
|
||
"source": [
|
||
"## Evaluation\n",
|
||
"To evaluate our pipeline, we can use haystack's evaluation feature. We just need to convert our labels into `MultiLabel` objects and the `eval` method will do the rest."
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 23,
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": [
|
||
"from haystack import Label, MultiLabel, Answer\n",
|
||
"\n",
|
||
"\n",
|
||
"def read_labels(filename, tables):\n",
|
||
" processed_labels = []\n",
|
||
" with open(filename) as labels:\n",
|
||
" labels = json.load(labels)\n",
|
||
" for table in tables:\n",
|
||
" if table.id not in labels:\n",
|
||
" continue\n",
|
||
" label = labels[table.id]\n",
|
||
" label = Label(\n",
|
||
" query=label[\"query\"],\n",
|
||
" document=table,\n",
|
||
" is_correct_answer=True,\n",
|
||
" is_correct_document=True,\n",
|
||
" answer=Answer(answer=label[\"answer\"]),\n",
|
||
" origin=\"gold-label\",\n",
|
||
" )\n",
|
||
" processed_labels.append(MultiLabel(labels=[label]))\n",
|
||
" return processed_labels\n",
|
||
"\n",
|
||
"\n",
|
||
"table_labels = read_labels(f\"{doc_dir}/labels.json\", tables)\n",
|
||
"passage_labels = read_labels(f\"{doc_dir}/labels.json\", passages)"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": null,
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": [
|
||
"eval_results = text_table_qa_pipeline.eval(table_labels + passage_labels, params={\"top_k\": 10})"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 25,
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"name": "stdout",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"{'JoinAnswers': {'f1': 0.7126190476190477, 'exact_match': 0.6}}\n"
|
||
]
|
||
}
|
||
],
|
||
"source": [
|
||
"# Calculating and printing the evaluation metrics\n",
|
||
"print(eval_results.calculate_metrics())"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"metadata": {},
|
||
"source": [
|
||
"## Adding tables from PDFs\n",
|
||
"It can sometimes be hard to provide your data in form of a pandas DataFrame. For this case, we provide the `ParsrConverter` wrapper that can help you to convert, for example, a PDF file into a document that you can index."
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": null,
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": [
|
||
"!docker run -d -p 3001:3001 axarev/parsr"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": null,
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": [
|
||
"!wget https://www.w3.org/WAI/WCAG21/working-examples/pdf-table/table.pdf"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 32,
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": [
|
||
"from haystack.nodes import ParsrConverter\n",
|
||
"\n",
|
||
"converter = ParsrConverter()\n",
|
||
"\n",
|
||
"docs = converter.convert(\"table.pdf\")\n",
|
||
"\n",
|
||
"tables = [doc for doc in docs if doc[\"content_type\"] == \"table\"]"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 34,
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"name": "stdout",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"[{'content': [['Disability\\nCategory', 'Participants', 'Ballots\\nCompleted', 'Ballots\\nIncomplete/\\nTerminated', 'Results', 'Results'], ['Disability\\nCategory', 'Participants', 'Ballots\\nCompleted', 'Ballots\\nIncomplete/\\nTerminated', 'Accuracy', 'Time to\\ncomplete'], ['Blind', '5', '1', '4', '34.5%, n=1', '1199 sec, n=1'], ['Low Vision', '5', '2', '3', '98.3% n=2\\n(97.7%, n=3)', '1716 sec, n=3\\n(1934 sec, n=2)'], ['Dexterity', '5', '4', '1', '98.3%, n=4', '1672.1 sec, n=4'], ['Mobility', '3', '3', '0', '95.4%, n=3', '1416 sec, n=3']], 'content_type': 'table', 'meta': {'preceding_context': 'Example table\\nThis is an example of a data table.', 'following_context': ''}}]\n"
|
||
]
|
||
}
|
||
],
|
||
"source": [
|
||
"print(tables)"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"metadata": {
|
||
"id": "RyeK3s28_X1C"
|
||
},
|
||
"source": [
|
||
"## About us\n",
|
||
"\n",
|
||
"This [Haystack](https://github.com/deepset-ai/haystack/) notebook was made with love by [deepset](https://deepset.ai/) in Berlin, Germany\n",
|
||
"\n",
|
||
"We bring NLP to the industry via open source! \n",
|
||
"Our focus: Industry specific language models & large scale QA systems. \n",
|
||
" \n",
|
||
"Some of our other work: \n",
|
||
"- [German BERT](https://deepset.ai/german-bert)\n",
|
||
"- [GermanQuAD and GermanDPR](https://deepset.ai/germanquad)\n",
|
||
"- [FARM](https://github.com/deepset-ai/FARM)\n",
|
||
"\n",
|
||
"Get in touch:\n",
|
||
"[Twitter](https://twitter.com/deepset_ai) | [LinkedIn](https://www.linkedin.com/company/deepset-ai/) | [Slack](https://haystack.deepset.ai/community/join) | [GitHub Discussions](https://github.com/deepset-ai/haystack/discussions) | [Website](https://deepset.ai)\n",
|
||
"\n",
|
||
"By the way: [we're hiring!](https://www.deepset.ai/jobs)\n"
|
||
]
|
||
}
|
||
],
|
||
"metadata": {
|
||
"accelerator": "GPU",
|
||
"colab": {
|
||
"name": "Tutorial15_TableQA.ipynb",
|
||
"provenance": []
|
||
},
|
||
"kernelspec": {
|
||
"display_name": "Python 3",
|
||
"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.9.12"
|
||
}
|
||
},
|
||
"nbformat": 4,
|
||
"nbformat_minor": 0
|
||
}
|