├── .gitignore ├── Dockerfile.beaker ├── LICENSE ├── README.md ├── aiconf ├── README.md ├── __init__.py ├── fixtures │ ├── README.md │ ├── experiment.json │ └── tiny.csv ├── model.py ├── model_test.py ├── predictor.py ├── predictor_test.py ├── reader.py └── reader_test.py ├── allennlp_fundamentals.ipynb ├── by_hand.ipynb ├── by_hand.py ├── data ├── bbc-test.csv ├── bbc-train.csv └── bbc-validate.csv ├── experiments ├── README.md ├── bert.jsonnet ├── boe.jsonnet └── lstm.jsonnet ├── process_data.py ├── pytest.ini ├── requirements.txt └── runtime.txt /.gitignore: -------------------------------------------------------------------------------- 1 | # Byte-compiled / optimized / DLL files 2 | __pycache__/ 3 | *.py[cod] 4 | *$py.class 5 | 6 | # C extensions 7 | *.so 8 | 9 | # Distribution / packaging 10 | .Python 11 | build/ 12 | develop-eggs/ 13 | dist/ 14 | downloads/ 15 | eggs/ 16 | .eggs/ 17 | lib/ 18 | lib64/ 19 | parts/ 20 | sdist/ 21 | var/ 22 | wheels/ 23 | *.egg-info/ 24 | .installed.cfg 25 | *.egg 26 | MANIFEST 27 | 28 | # PyInstaller 29 | # Usually these files are written by a python script from a template 30 | # before PyInstaller builds the exe, so as to inject date/other infos into it. 31 | *.manifest 32 | *.spec 33 | 34 | # Installer logs 35 | pip-log.txt 36 | pip-delete-this-directory.txt 37 | 38 | # Unit test / coverage reports 39 | htmlcov/ 40 | .tox/ 41 | .coverage 42 | .coverage.* 43 | .cache 44 | nosetests.xml 45 | coverage.xml 46 | *.cover 47 | .hypothesis/ 48 | .pytest_cache/ 49 | 50 | # Translations 51 | *.mo 52 | *.pot 53 | 54 | # Django stuff: 55 | *.log 56 | local_settings.py 57 | db.sqlite3 58 | 59 | # Flask stuff: 60 | instance/ 61 | .webassets-cache 62 | 63 | # Scrapy stuff: 64 | .scrapy 65 | 66 | # Sphinx documentation 67 | docs/_build/ 68 | 69 | # PyBuilder 70 | target/ 71 | 72 | # Jupyter Notebook 73 | .ipynb_checkpoints 74 | 75 | # pyenv 76 | .python-version 77 | 78 | # celery beat schedule file 79 | celerybeat-schedule 80 | 81 | # SageMath parsed files 82 | *.sage.py 83 | 84 | # Environments 85 | .env 86 | .venv 87 | env/ 88 | venv/ 89 | ENV/ 90 | env.bak/ 91 | venv.bak/ 92 | 93 | # Spyder project settings 94 | .spyderproject 95 | .spyproject 96 | 97 | # Rope project settings 98 | .ropeproject 99 | 100 | # mkdocs documentation 101 | /site 102 | 103 | # mypy 104 | .mypy_cache/ 105 | 106 | data/old 107 | 108 | results 109 | -------------------------------------------------------------------------------- /Dockerfile.beaker: -------------------------------------------------------------------------------- 1 | FROM allennlp/allennlp:v0.8.4 2 | 3 | RUN mkdir output/ 4 | 5 | WORKDIR / 6 | 7 | COPY ./requirements.txt /requirements.txt 8 | 9 | # RUN pip install -r requirements.txt 10 | 11 | COPY ./experiments /experiments 12 | COPY ./aiconf /aiconf 13 | 14 | CMD ["train", "-s", "output", "--include-package", "aiconf.model_imdb", "--include-package", "aiconf.reader_imdb", "experiments/glove_bert_cased_imdb.jsonnet"] 15 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | Apache License 2 | Version 2.0, January 2004 3 | http://www.apache.org/licenses/ 4 | 5 | TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION 6 | 7 | 1. Definitions. 8 | 9 | "License" shall mean the terms and conditions for use, reproduction, 10 | and distribution as defined by Sections 1 through 9 of this document. 11 | 12 | "Licensor" shall mean the copyright owner or entity authorized by 13 | the copyright owner that is granting the License. 14 | 15 | "Legal Entity" shall mean the union of the acting entity and all 16 | other entities that control, are controlled by, or are under common 17 | control with that entity. For the purposes of this definition, 18 | "control" means (i) the power, direct or indirect, to cause the 19 | direction or management of such entity, whether by contract or 20 | otherwise, or (ii) ownership of fifty percent (50%) or more of the 21 | outstanding shares, or (iii) beneficial ownership of such entity. 22 | 23 | "You" (or "Your") shall mean an individual or Legal Entity 24 | exercising permissions granted by this License. 25 | 26 | "Source" form shall mean the preferred form for making modifications, 27 | including but not limited to software source code, documentation 28 | source, and configuration files. 29 | 30 | "Object" form shall mean any form resulting from mechanical 31 | transformation or translation of a Source form, including but 32 | not limited to compiled object code, generated documentation, 33 | and conversions to other media types. 34 | 35 | "Work" shall mean the work of authorship, whether in Source or 36 | Object form, made available under the License, as indicated by a 37 | copyright notice that is included in or attached to the work 38 | (an example is provided in the Appendix below). 39 | 40 | "Derivative Works" shall mean any work, whether in Source or Object 41 | form, that is based on (or derived from) the Work and for which the 42 | editorial revisions, annotations, elaborations, or other modifications 43 | represent, as a whole, an original work of authorship. For the purposes 44 | of this License, Derivative Works shall not include works that remain 45 | separable from, or merely link (or bind by name) to the interfaces of, 46 | the Work and Derivative Works thereof. 47 | 48 | "Contribution" shall mean any work of authorship, including 49 | the original version of the Work and any modifications or additions 50 | to that Work or Derivative Works thereof, that is intentionally 51 | submitted to Licensor for inclusion in the Work by the copyright owner 52 | or by an individual or Legal Entity authorized to submit on behalf of 53 | the copyright owner. For the purposes of this definition, "submitted" 54 | means any form of electronic, verbal, or written communication sent 55 | to the Licensor or its representatives, including but not limited to 56 | communication on electronic mailing lists, source code control systems, 57 | and issue tracking systems that are managed by, or on behalf of, the 58 | Licensor for the purpose of discussing and improving the Work, but 59 | excluding communication that is conspicuously marked or otherwise 60 | designated in writing by the copyright owner as "Not a Contribution." 61 | 62 | "Contributor" shall mean Licensor and any individual or Legal Entity 63 | on behalf of whom a Contribution has been received by Licensor and 64 | subsequently incorporated within the Work. 65 | 66 | 2. Grant of Copyright License. Subject to the terms and conditions of 67 | this License, each Contributor hereby grants to You a perpetual, 68 | worldwide, non-exclusive, no-charge, royalty-free, irrevocable 69 | copyright license to reproduce, prepare Derivative Works of, 70 | publicly display, publicly perform, sublicense, and distribute the 71 | Work and such Derivative Works in Source or Object form. 72 | 73 | 3. Grant of Patent License. Subject to the terms and conditions of 74 | this License, each Contributor hereby grants to You a perpetual, 75 | worldwide, non-exclusive, no-charge, royalty-free, irrevocable 76 | (except as stated in this section) patent license to make, have made, 77 | use, offer to sell, sell, import, and otherwise transfer the Work, 78 | where such license applies only to those patent claims licensable 79 | by such Contributor that are necessarily infringed by their 80 | Contribution(s) alone or by combination of their Contribution(s) 81 | with the Work to which such Contribution(s) was submitted. If You 82 | institute patent litigation against any entity (including a 83 | cross-claim or counterclaim in a lawsuit) alleging that the Work 84 | or a Contribution incorporated within the Work constitutes direct 85 | or contributory patent infringement, then any patent licenses 86 | granted to You under this License for that Work shall terminate 87 | as of the date such litigation is filed. 88 | 89 | 4. Redistribution. You may reproduce and distribute copies of the 90 | Work or Derivative Works thereof in any medium, with or without 91 | modifications, and in Source or Object form, provided that You 92 | meet the following conditions: 93 | 94 | (a) You must give any other recipients of the Work or 95 | Derivative Works a copy of this License; and 96 | 97 | (b) You must cause any modified files to carry prominent notices 98 | stating that You changed the files; and 99 | 100 | (c) You must retain, in the Source form of any Derivative Works 101 | that You distribute, all copyright, patent, trademark, and 102 | attribution notices from the Source form of the Work, 103 | excluding those notices that do not pertain to any part of 104 | the Derivative Works; and 105 | 106 | (d) If the Work includes a "NOTICE" text file as part of its 107 | distribution, then any Derivative Works that You distribute must 108 | include a readable copy of the attribution notices contained 109 | within such NOTICE file, excluding those notices that do not 110 | pertain to any part of the Derivative Works, in at least one 111 | of the following places: within a NOTICE text file distributed 112 | as part of the Derivative Works; within the Source form or 113 | documentation, if provided along with the Derivative Works; or, 114 | within a display generated by the Derivative Works, if and 115 | wherever such third-party notices normally appear. The contents 116 | of the NOTICE file are for informational purposes only and 117 | do not modify the License. You may add Your own attribution 118 | notices within Derivative Works that You distribute, alongside 119 | or as an addendum to the NOTICE text from the Work, provided 120 | that such additional attribution notices cannot be construed 121 | as modifying the License. 122 | 123 | You may add Your own copyright statement to Your modifications and 124 | may provide additional or different license terms and conditions 125 | for use, reproduction, or distribution of Your modifications, or 126 | for any such Derivative Works as a whole, provided Your use, 127 | reproduction, and distribution of the Work otherwise complies with 128 | the conditions stated in this License. 129 | 130 | 5. Submission of Contributions. Unless You explicitly state otherwise, 131 | any Contribution intentionally submitted for inclusion in the Work 132 | by You to the Licensor shall be under the terms and conditions of 133 | this License, without any additional terms or conditions. 134 | Notwithstanding the above, nothing herein shall supersede or modify 135 | the terms of any separate license agreement you may have executed 136 | with Licensor regarding such Contributions. 137 | 138 | 6. Trademarks. This License does not grant permission to use the trade 139 | names, trademarks, service marks, or product names of the Licensor, 140 | except as required for reasonable and customary use in describing the 141 | origin of the Work and reproducing the content of the NOTICE file. 142 | 143 | 7. Disclaimer of Warranty. Unless required by applicable law or 144 | agreed to in writing, Licensor provides the Work (and each 145 | Contributor provides its Contributions) on an "AS IS" BASIS, 146 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or 147 | implied, including, without limitation, any warranties or conditions 148 | of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A 149 | PARTICULAR PURPOSE. You are solely responsible for determining the 150 | appropriateness of using or redistributing the Work and assume any 151 | risks associated with Your exercise of permissions under this License. 152 | 153 | 8. Limitation of Liability. In no event and under no legal theory, 154 | whether in tort (including negligence), contract, or otherwise, 155 | unless required by applicable law (such as deliberate and grossly 156 | negligent acts) or agreed to in writing, shall any Contributor be 157 | liable to You for damages, including any direct, indirect, special, 158 | incidental, or consequential damages of any character arising as a 159 | result of this License or out of the use or inability to use the 160 | Work (including but not limited to damages for loss of goodwill, 161 | work stoppage, computer failure or malfunction, or any and all 162 | other commercial damages or losses), even if such Contributor 163 | has been advised of the possibility of such damages. 164 | 165 | 9. Accepting Warranty or Additional Liability. While redistributing 166 | the Work or Derivative Works thereof, You may choose to offer, 167 | and charge a fee for, acceptance of support, warranty, indemnity, 168 | or other liability obligations and/or rights consistent with this 169 | License. However, in accepting such obligations, You may act only 170 | on Your own behalf and on Your sole responsibility, not on behalf 171 | of any other Contributor, and only if You agree to indemnify, 172 | defend, and hold each Contributor harmless for any liability 173 | incurred by, or claims asserted against, such Contributor by reason 174 | of your accepting any such warranty or additional liability. 175 | 176 | END OF TERMS AND CONDITIONS 177 | 178 | APPENDIX: How to apply the Apache License to your work. 179 | 180 | To apply the Apache License to your work, attach the following 181 | boilerplate notice, with the fields enclosed by brackets "[]" 182 | replaced with your own identifying information. (Don't include 183 | the brackets!) The text should be enclosed in the appropriate 184 | comment syntax for the file format. We also recommend that a 185 | file or class name and description of purpose be included on the 186 | same "printed page" as the copyright notice for easier 187 | identification within third-party archives. 188 | 189 | Copyright [yyyy] [name of copyright owner] 190 | 191 | Licensed under the Apache License, Version 2.0 (the "License"); 192 | you may not use this file except in compliance with the License. 193 | You may obtain a copy of the License at 194 | 195 | http://www.apache.org/licenses/LICENSE-2.0 196 | 197 | Unless required by applicable law or agreed to in writing, software 198 | distributed under the License is distributed on an "AS IS" BASIS, 199 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 200 | See the License for the specific language governing permissions and 201 | limitations under the License. 202 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # aiconf-allennlp-tutorial 2 | allennlp tutorial for O'Reilly AI Conference, September 2019 3 | -------------------------------------------------------------------------------- /aiconf/README.md: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /aiconf/__init__.py: -------------------------------------------------------------------------------- 1 | from aiconf.reader import BBCReader 2 | from aiconf.model import BBCModel 3 | from aiconf.predictor import BBCPredictor 4 | -------------------------------------------------------------------------------- /aiconf/fixtures/README.md: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /aiconf/fixtures/experiment.json: -------------------------------------------------------------------------------- 1 | { 2 | "dataset_reader": { 3 | "type": "bbc", 4 | "token_indexers": { 5 | "tokens": { 6 | "type": "single_id" 7 | } 8 | } 9 | }, 10 | "train_data_path": "aiconf/fixtures/tiny.csv", 11 | "validation_data_path": "aiconf/fixtures/tiny.csv", 12 | "model": { 13 | "type": "bbc", 14 | "text_field_embedder": { 15 | "token_embedders": { 16 | "tokens": { 17 | "type": "embedding", 18 | "embedding_dim": 10, 19 | "trainable": false 20 | } 21 | } 22 | }, 23 | "encoder": { 24 | "type": "boe", 25 | "embedding_dim": 10 26 | } 27 | }, 28 | "iterator": { 29 | "type": "bucket", 30 | "sorting_keys": [["text", "num_tokens"]], 31 | "batch_size": 2 32 | }, 33 | "trainer": { 34 | "num_epochs": 40, 35 | "patience": 10, 36 | "cuda_device": -1, 37 | "grad_clipping": 5.0, 38 | "validation_metric": "+acc1", 39 | "optimizer": { 40 | "type": "adagrad" 41 | } 42 | } 43 | } 44 | -------------------------------------------------------------------------------- /aiconf/fixtures/tiny.csv: -------------------------------------------------------------------------------- 1 | tech,"Computer grid to help the world 2 | 3 | Your computer can now help solve the worlds most difficult health and social problems" 4 | sport,"Lewis-Francis turns to Christie 5 | 6 | Mark Lewis-Francis has stepped up his preparations for the new season by taking advice from British sprint icon Linford Christie." 7 | politics,"'Debate needed' on donations cap 8 | 9 | A cap on donations to political parties should not be introduced yet, the elections watchdog has said." 10 | entertainment,"X Factor show gets second series 11 | 12 | TV talent show The X Factor is to return for a second series after being recommissioned by ITV." 13 | business,"German bidder in talks with LSE 14 | 15 | Deutsche Boerse bosses have held ""constructive, professional and friendly"" talks with the London Stock Exchange (LSE), its chief has said." 16 | -------------------------------------------------------------------------------- /aiconf/model.py: -------------------------------------------------------------------------------- 1 | from typing import Dict, Optional 2 | 3 | from allennlp.data.vocabulary import Vocabulary 4 | from allennlp.models import Model 5 | from allennlp.modules.text_field_embedders import TextFieldEmbedder 6 | from allennlp.modules.seq2vec_encoders import Seq2VecEncoder 7 | from allennlp.nn.util import get_text_field_mask 8 | from allennlp.training.metrics import CategoricalAccuracy 9 | 10 | import torch 11 | 12 | @Model.register("bbc") 13 | class BBCModel(Model): 14 | def __init__(self, 15 | vocab: Vocabulary) -> None: 16 | super().__init__(vocab) 17 | 18 | # 1. We want the constructor to accept a TextFieldEmbedder 19 | # and we need to save it as a class variable. 20 | 21 | # 2. We want the constructor to accept a Seq2VecEncoder 22 | # and we need to save it as a class variable 23 | 24 | # 3. We need to construct the final linear layer, it should have 25 | # in_features = the output dimension of the Seq2VecEncoder 26 | # out_features = the number of classes we're predicting 27 | # We can get the latter from the "labels" namespace of the vocabulary 28 | 29 | # 4. We also need to instantiate a loss function for our model. 30 | # Here we'll just use PyTorch's built in cross-entropy loss 31 | # https://pytorch.org/docs/stable/nn.html#crossentropyloss 32 | 33 | # 5. Finally, we want to track some metrics as we train, at the very 34 | # least, categorical accuracy: 35 | # https://allenai.github.io/allennlp-docs/api/allennlp.training.metrics.html#categorical-accuracy 36 | # store them in a dictionary so that `self.get_metrics` works correctly. 37 | 38 | 39 | def forward(self) -> Dict[str, torch.Tensor]: 40 | # Our forward function needs to take arguments that correspond 41 | # to the fields of our instance. 42 | 43 | # 1. In this case we'll always have a "text" input 44 | 45 | # 2. and we'll sometimes have a "category" input 46 | # (so it should have a None default value for when we're doing inference) 47 | 48 | # 3. our first step should be to apply our TextFieldEmbedder to the text input 49 | 50 | # 4. then we should apply our Seq2VecEncoder to the embedded text 51 | # We'll need to provide a _mask_ which we can get from util.get_text_field_mask 52 | 53 | # 5. we can then apply apply our linear layer to the encoded text to get 54 | # the logits corresponding to the predicted class probabilities 55 | 56 | # 6. our outputs need to be in a dict, so create one that contains the logits 57 | 58 | # 7. then, only if a `category` was provided, 59 | # 7a. compute the loss and add it to the output 60 | # 7b. update all the metrics 61 | 62 | # 8. finally, return the output 63 | return {} 64 | 65 | def get_metrics(self, reset: bool = False) -> Dict[str, float]: 66 | return {name: metric.get_metric(reset) 67 | for name, metric in self.metrics.items()} 68 | -------------------------------------------------------------------------------- /aiconf/model_test.py: -------------------------------------------------------------------------------- 1 | import pathlib 2 | 3 | from allennlp.common.testing import ModelTestCase 4 | from allennlp.data.dataset import Batch 5 | from allennlp.data.token_indexers import SingleIdTokenIndexer 6 | from allennlp.data.vocabulary import Vocabulary 7 | from allennlp.modules.text_field_embedders import BasicTextFieldEmbedder 8 | from allennlp.modules.token_embedders import Embedding 9 | from allennlp.modules.seq2vec_encoders import BagOfEmbeddingsEncoder 10 | 11 | from aiconf.reader import BBCReader 12 | from aiconf.model import BBCModel 13 | 14 | FIXTURES_ROOT = pathlib.Path(__file__).parent / 'fixtures' 15 | 16 | 17 | class PaperModelTest(ModelTestCase): 18 | def setUp(self): 19 | super().setUp() 20 | 21 | # 1. call self.set_up_model with the path to the experiment config 22 | # and the path to the test fixture 23 | 24 | def test_simple_tagger_can_train_save_and_load(self): 25 | # self.ensure_model_can_train_save_and_load(self.param_file) 26 | pass 27 | 28 | def test_forward_pass_runs_correctly(self): 29 | # feel free to add extra tests here 30 | pass 31 | -------------------------------------------------------------------------------- /aiconf/predictor.py: -------------------------------------------------------------------------------- 1 | from allennlp.common.util import JsonDict 2 | from allennlp.data import Instance 3 | from allennlp.predictors import Predictor 4 | 5 | from aiconf.reader import BBCReader 6 | 7 | @Predictor.register("bbc") 8 | class BBCPredictor(Predictor): 9 | 10 | def _json_to_instance(self, json_dict: JsonDict) -> Instance: 11 | # 1. we expect that the json_dict has a "text" field and possibly 12 | # a "category" field, so extract those values 13 | 14 | # 2. every predictor has a self._dataset_reader, so just use 15 | # text_to_instance from there to return an instance 16 | return Instance({}) 17 | -------------------------------------------------------------------------------- /aiconf/predictor_test.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/allenai/aiconf-allennlp-tutorial/5d7a4a189dbab61e175019202fc54d6b20e07cbd/aiconf/predictor_test.py -------------------------------------------------------------------------------- /aiconf/reader.py: -------------------------------------------------------------------------------- 1 | from typing import Iterable, Dict, Optional 2 | import gzip 3 | import csv 4 | 5 | from allennlp.common.file_utils import cached_path 6 | from allennlp.data.dataset_readers import DatasetReader 7 | from allennlp.data.fields import TextField, LabelField 8 | from allennlp.data.instance import Instance 9 | from allennlp.data.token_indexers import TokenIndexer 10 | from allennlp.data.tokenizers import Tokenizer, WordTokenizer 11 | 12 | @DatasetReader.register("bbc") 13 | class BBCReader(DatasetReader): 14 | def __init__(self, 15 | token_indexers: Dict[str, TokenIndexer], 16 | tokenizer: Tokenizer = WordTokenizer()) -> None: 17 | super().__init__() 18 | self.token_indexers = token_indexers 19 | self.tokenizer = tokenizer 20 | 21 | def text_to_instance(self, text: str, category: Optional[str] = None) -> Instance: 22 | """ 23 | 1. tokenize text 24 | 2. create a TextField for the text 25 | 3. create a LabelField for the category (if provided) 26 | 4. return an Instance 27 | """ 28 | return Instance(fields={}) 29 | 30 | def _read(self, file_path: str) -> Iterable[Instance]: 31 | """ 32 | Here our data is a csv with rows [category, text], so we want to 33 | 34 | 1. read the csv file 35 | 2. pass the fields to text_to_instance 36 | 3. yield the instances 37 | """ 38 | yield Instance({}) 39 | -------------------------------------------------------------------------------- /aiconf/reader_test.py: -------------------------------------------------------------------------------- 1 | import pathlib 2 | 3 | from allennlp.common.testing import AllenNlpTestCase 4 | from allennlp.data.token_indexers import SingleIdTokenIndexer 5 | 6 | from aiconf.reader import BBCReader 7 | 8 | FIXTURES_ROOT = pathlib.Path(__file__).parent / 'fixtures' 9 | 10 | 11 | class ReaderTest(AllenNlpTestCase): 12 | def test_reader(self): 13 | token_indexers = {"tokens": SingleIdTokenIndexer()} 14 | reader = BBCReader(token_indexers) 15 | instances = reader.read(str(FIXTURES_ROOT / 'tiny.csv')) 16 | 17 | # Some ideas of things to test: 18 | # * test that there are 5 instances 19 | # * test that there's one of each label 20 | # * test that the first instance has the right values in its fields 21 | -------------------------------------------------------------------------------- /allennlp_fundamentals.ipynb: -------------------------------------------------------------------------------- 1 | { 2 | "cells": [ 3 | { 4 | "cell_type": "markdown", 5 | "metadata": {}, 6 | "source": [ 7 | "This is a whirlwind tour of most of the fundamental concepts underlying AllenNLP. There is nothing for you to do here, if you like you could just Ctrl-Enter all the way to the bottom, but feel free to poke at the results as you go if you're curious about them.\n", 8 | "\n", 9 | "Many of these concepts you won't have to worry about that much, but it's good to sort of understand what's going on under the hood." 10 | ] 11 | }, 12 | { 13 | "cell_type": "markdown", 14 | "metadata": {}, 15 | "source": [ 16 | "# Tokenization\n", 17 | "\n", 18 | "The default tokenizer in AllenNLP is the spacy tokenizer. You can specify others if you need them. (For instance, if you're using BERT, you want to use the same tokenizer that the BERT model expects.)" 19 | ] 20 | }, 21 | { 22 | "cell_type": "code", 23 | "execution_count": null, 24 | "metadata": {}, 25 | "outputs": [], 26 | "source": [ 27 | "from allennlp.data.tokenizers import WordTokenizer" 28 | ] 29 | }, 30 | { 31 | "cell_type": "code", 32 | "execution_count": null, 33 | "metadata": {}, 34 | "outputs": [], 35 | "source": [ 36 | "text = \"I don't hate notebooks, I just don't like notebooks!\"" 37 | ] 38 | }, 39 | { 40 | "cell_type": "code", 41 | "execution_count": null, 42 | "metadata": {}, 43 | "outputs": [], 44 | "source": [ 45 | "tokenizer = WordTokenizer() " 46 | ] 47 | }, 48 | { 49 | "cell_type": "code", 50 | "execution_count": null, 51 | "metadata": {}, 52 | "outputs": [], 53 | "source": [ 54 | "tokens = tokenizer.tokenize(text)\n", 55 | "tokens" 56 | ] 57 | }, 58 | { 59 | "cell_type": "markdown", 60 | "metadata": {}, 61 | "source": [ 62 | "# Token Indexers\n", 63 | "\n", 64 | "A `TokenIndexer` turns tokens into indices or lists of indices. We won't be able to see how they operate until slightly later." 65 | ] 66 | }, 67 | { 68 | "cell_type": "code", 69 | "execution_count": null, 70 | "metadata": {}, 71 | "outputs": [], 72 | "source": [ 73 | "from allennlp.data.token_indexers import SingleIdTokenIndexer, TokenCharactersIndexer" 74 | ] 75 | }, 76 | { 77 | "cell_type": "code", 78 | "execution_count": null, 79 | "metadata": {}, 80 | "outputs": [], 81 | "source": [ 82 | "token_indexer = SingleIdTokenIndexer() # maps tokens to word_ids" 83 | ] 84 | }, 85 | { 86 | "cell_type": "markdown", 87 | "metadata": {}, 88 | "source": [ 89 | "# Fields\n", 90 | "\n", 91 | "Your training examples will be represented as `Instances`, each consisting of typed `Field`s." 92 | ] 93 | }, 94 | { 95 | "cell_type": "code", 96 | "execution_count": null, 97 | "metadata": {}, 98 | "outputs": [], 99 | "source": [ 100 | "from allennlp.data.fields import TextField, LabelField" 101 | ] 102 | }, 103 | { 104 | "cell_type": "markdown", 105 | "metadata": {}, 106 | "source": [ 107 | "A `TextField` is for storing text, and also needs one or more `TokenIndexer`s that will be used to convert the text into indices." 108 | ] 109 | }, 110 | { 111 | "cell_type": "code", 112 | "execution_count": null, 113 | "metadata": {}, 114 | "outputs": [], 115 | "source": [ 116 | "text_field = TextField(tokens, {\"tokens\": token_indexer})" 117 | ] 118 | }, 119 | { 120 | "cell_type": "code", 121 | "execution_count": null, 122 | "metadata": {}, 123 | "outputs": [], 124 | "source": [ 125 | "text_field._indexed_tokens # not yet" 126 | ] 127 | }, 128 | { 129 | "cell_type": "markdown", 130 | "metadata": {}, 131 | "source": [ 132 | "A `LabelField` is for storing a discrete label." 133 | ] 134 | }, 135 | { 136 | "cell_type": "code", 137 | "execution_count": null, 138 | "metadata": {}, 139 | "outputs": [], 140 | "source": [ 141 | "label_field = LabelField(\"technology\")" 142 | ] 143 | }, 144 | { 145 | "cell_type": "markdown", 146 | "metadata": {}, 147 | "source": [ 148 | "# Instances\n", 149 | "\n", 150 | "Each `Instance` is just a collection of named `Field`s." 151 | ] 152 | }, 153 | { 154 | "cell_type": "code", 155 | "execution_count": null, 156 | "metadata": {}, 157 | "outputs": [], 158 | "source": [ 159 | "from allennlp.data.instance import Instance" 160 | ] 161 | }, 162 | { 163 | "cell_type": "code", 164 | "execution_count": null, 165 | "metadata": {}, 166 | "outputs": [], 167 | "source": [ 168 | "instance = Instance({\"text\": text_field, \"category\": label_field})" 169 | ] 170 | }, 171 | { 172 | "cell_type": "markdown", 173 | "metadata": {}, 174 | "source": [ 175 | "# Vocabulary\n", 176 | "\n", 177 | "Based on our instances we construct a `Vocabulary` which contains the various mappings token <-> index, label <-> index, and so on." 178 | ] 179 | }, 180 | { 181 | "cell_type": "code", 182 | "execution_count": null, 183 | "metadata": {}, 184 | "outputs": [], 185 | "source": [ 186 | "from allennlp.data.vocabulary import Vocabulary" 187 | ] 188 | }, 189 | { 190 | "cell_type": "code", 191 | "execution_count": null, 192 | "metadata": {}, 193 | "outputs": [], 194 | "source": [ 195 | "vocab = Vocabulary.from_instances([instance])" 196 | ] 197 | }, 198 | { 199 | "cell_type": "markdown", 200 | "metadata": {}, 201 | "source": [ 202 | "Here you can see that our vocabulary has two mappings, a `tokens` mapping (for the tokens) and a `labels` mapping (for the labels)." 203 | ] 204 | }, 205 | { 206 | "cell_type": "code", 207 | "execution_count": null, 208 | "metadata": {}, 209 | "outputs": [], 210 | "source": [ 211 | "vocab._token_to_index" 212 | ] 213 | }, 214 | { 215 | "cell_type": "code", 216 | "execution_count": null, 217 | "metadata": {}, 218 | "outputs": [], 219 | "source": [ 220 | "text_field._indexed_tokens" 221 | ] 222 | }, 223 | { 224 | "cell_type": "code", 225 | "execution_count": null, 226 | "metadata": {}, 227 | "outputs": [], 228 | "source": [ 229 | "label_field._label_id" 230 | ] 231 | }, 232 | { 233 | "cell_type": "markdown", 234 | "metadata": {}, 235 | "source": [ 236 | "Although we have constructed the mappings, we haven't yet used them to index the fields in our instance. We have to do that manually (although when you use the allennlp trainer all of this will be taken care of.)" 237 | ] 238 | }, 239 | { 240 | "cell_type": "code", 241 | "execution_count": null, 242 | "metadata": {}, 243 | "outputs": [], 244 | "source": [ 245 | "instance.index_fields(vocab)" 246 | ] 247 | }, 248 | { 249 | "cell_type": "code", 250 | "execution_count": null, 251 | "metadata": {}, 252 | "outputs": [], 253 | "source": [ 254 | "text_field._indexed_tokens" 255 | ] 256 | }, 257 | { 258 | "cell_type": "code", 259 | "execution_count": null, 260 | "metadata": {}, 261 | "outputs": [], 262 | "source": [ 263 | "label_field._label_id" 264 | ] 265 | }, 266 | { 267 | "cell_type": "markdown", 268 | "metadata": {}, 269 | "source": [ 270 | "Once the `Instance` has been indexed, it then knows how to convert itself to a tensor dict." 271 | ] 272 | }, 273 | { 274 | "cell_type": "code", 275 | "execution_count": null, 276 | "metadata": {}, 277 | "outputs": [], 278 | "source": [ 279 | "instance.as_tensor_dict()" 280 | ] 281 | }, 282 | { 283 | "cell_type": "markdown", 284 | "metadata": {}, 285 | "source": [ 286 | "And it knows how long other instances would need to be padded to if we do batching. (More on this below!)" 287 | ] 288 | }, 289 | { 290 | "cell_type": "code", 291 | "execution_count": null, 292 | "metadata": {}, 293 | "outputs": [], 294 | "source": [ 295 | "instance.get_padding_lengths()" 296 | ] 297 | }, 298 | { 299 | "cell_type": "markdown", 300 | "metadata": {}, 301 | "source": [ 302 | "# Batching and Padding\n", 303 | "\n", 304 | "When you're doing NLP, you have sequences with different lengths, which means that padding and masking are very important. They're tricky to get right! Luckily, AllenNLP handles most of the details for you." 305 | ] 306 | }, 307 | { 308 | "cell_type": "code", 309 | "execution_count": null, 310 | "metadata": {}, 311 | "outputs": [], 312 | "source": [ 313 | "text1 = \"I just don't like notebooks.\"\n", 314 | "tokens1 = tokenizer.tokenize(text)\n", 315 | "text_field1 = TextField(tokens1, {\"tokens\": token_indexer})\n", 316 | "label_field1 = LabelField(\"Joel\")\n", 317 | "instance1 = Instance({\"text\": text_field1, \"speaker\": label_field1})\n", 318 | "text2 = \"I do like notebooks.\"\n", 319 | "tokens2 = tokenizer.tokenize(text2)\n", 320 | "text_field2 = TextField(tokens2, {\"tokens\": token_indexer})\n", 321 | "label_field2 = LabelField(\"Tim\")\n", 322 | "instance2 = Instance({\"text\": text_field2, \"speaker\": label_field2})\n" 323 | ] 324 | }, 325 | { 326 | "cell_type": "code", 327 | "execution_count": null, 328 | "metadata": {}, 329 | "outputs": [], 330 | "source": [ 331 | "from allennlp.data.dataset import Batch" 332 | ] 333 | }, 334 | { 335 | "cell_type": "code", 336 | "execution_count": null, 337 | "metadata": {}, 338 | "outputs": [], 339 | "source": [ 340 | "vocab = Vocabulary.from_instances([instance1, instance2])" 341 | ] 342 | }, 343 | { 344 | "cell_type": "code", 345 | "execution_count": null, 346 | "metadata": {}, 347 | "outputs": [], 348 | "source": [ 349 | "batch = Batch([instance1, instance2])" 350 | ] 351 | }, 352 | { 353 | "cell_type": "code", 354 | "execution_count": null, 355 | "metadata": {}, 356 | "outputs": [], 357 | "source": [ 358 | "batch.index_instances(vocab)" 359 | ] 360 | }, 361 | { 362 | "cell_type": "markdown", 363 | "metadata": {}, 364 | "source": [ 365 | "Notice that\n", 366 | "\n", 367 | "1. the batching is already taken care of for you, and\n", 368 | "2. the shorter text field is appropriately padded with 0's (the `@@PADDING@@` id)" 369 | ] 370 | }, 371 | { 372 | "cell_type": "code", 373 | "execution_count": null, 374 | "metadata": {}, 375 | "outputs": [], 376 | "source": [ 377 | "batch.as_tensor_dict()" 378 | ] 379 | }, 380 | { 381 | "cell_type": "markdown", 382 | "metadata": {}, 383 | "source": [ 384 | "# Using Multiple Indexers\n", 385 | "\n", 386 | "In some circumstances you might want to use multiple token indexers. For instance, you might want to index a token using its token_id, but also as a sequence of character_ids. This is as simple as adding extra token indexers to our text fields." 387 | ] 388 | }, 389 | { 390 | "cell_type": "code", 391 | "execution_count": null, 392 | "metadata": {}, 393 | "outputs": [], 394 | "source": [ 395 | "from allennlp.data.token_indexers import TokenCharactersIndexer" 396 | ] 397 | }, 398 | { 399 | "cell_type": "code", 400 | "execution_count": null, 401 | "metadata": {}, 402 | "outputs": [], 403 | "source": [ 404 | "token_characters_indexer = TokenCharactersIndexer(min_padding_length=3)" 405 | ] 406 | }, 407 | { 408 | "cell_type": "code", 409 | "execution_count": null, 410 | "metadata": {}, 411 | "outputs": [], 412 | "source": [ 413 | "text_field = TextField(tokens, {\"tokens\": token_indexer, \"token_characters\": token_characters_indexer})\n", 414 | "label_field = LabelField(\"technology\")" 415 | ] 416 | }, 417 | { 418 | "cell_type": "code", 419 | "execution_count": null, 420 | "metadata": {}, 421 | "outputs": [], 422 | "source": [ 423 | "instance = Instance({\"text\": text_field, \"label\": label_field})" 424 | ] 425 | }, 426 | { 427 | "cell_type": "code", 428 | "execution_count": null, 429 | "metadata": {}, 430 | "outputs": [], 431 | "source": [ 432 | "vocab = Vocabulary.from_instances([instance])" 433 | ] 434 | }, 435 | { 436 | "cell_type": "markdown", 437 | "metadata": {}, 438 | "source": [ 439 | "You can see that we now have an additional vocabulary namespace for the character ids:" 440 | ] 441 | }, 442 | { 443 | "cell_type": "code", 444 | "execution_count": null, 445 | "metadata": {}, 446 | "outputs": [], 447 | "source": [ 448 | "vocab._token_to_index" 449 | ] 450 | }, 451 | { 452 | "cell_type": "code", 453 | "execution_count": null, 454 | "metadata": {}, 455 | "outputs": [], 456 | "source": [ 457 | "instance.index_fields(vocab)" 458 | ] 459 | }, 460 | { 461 | "cell_type": "markdown", 462 | "metadata": {}, 463 | "source": [ 464 | "And now when we call `instance.as_tensor_dict` we'll get an additional (padded) tensor with the character_ids." 465 | ] 466 | }, 467 | { 468 | "cell_type": "code", 469 | "execution_count": null, 470 | "metadata": {}, 471 | "outputs": [], 472 | "source": [ 473 | "instance.as_tensor_dict()" 474 | ] 475 | }, 476 | { 477 | "cell_type": "markdown", 478 | "metadata": {}, 479 | "source": [ 480 | "# TokenEmbedders\n", 481 | "\n", 482 | "Once we have our text represented as ids, we use a `TokenEmbedder` to create tensor embeddings." 483 | ] 484 | }, 485 | { 486 | "cell_type": "code", 487 | "execution_count": null, 488 | "metadata": {}, 489 | "outputs": [], 490 | "source": [ 491 | "text1 = \"I just don't like notebooks.\"\n", 492 | "tokens1 = tokenizer.tokenize(text)\n", 493 | "text_field1 = TextField(tokens1, {\"tokens\": token_indexer})\n", 494 | "label_field1 = LabelField(\"Joel\")\n", 495 | "instance1 = Instance({\"text\": text_field1, \"speaker\": label_field1})\n", 496 | "text2 = \"I do like notebooks.\"\n", 497 | "tokens2 = tokenizer.tokenize(text2)\n", 498 | "text_field2 = TextField(tokens2, {\"tokens\": token_indexer})\n", 499 | "label_field2 = LabelField(\"Tim\")\n", 500 | "instance2 = Instance({\"text\": text_field2, \"speaker\": label_field2})\n", 501 | "vocab = Vocabulary.from_instances([instance1, instance2])\n", 502 | "batch = Batch([instance1, instance2])\n", 503 | "batch.index_instances(vocab)" 504 | ] 505 | }, 506 | { 507 | "cell_type": "code", 508 | "execution_count": null, 509 | "metadata": {}, 510 | "outputs": [], 511 | "source": [ 512 | "tensor_dict = batch.as_tensor_dict()\n", 513 | "tensor_dict" 514 | ] 515 | }, 516 | { 517 | "cell_type": "code", 518 | "execution_count": null, 519 | "metadata": {}, 520 | "outputs": [], 521 | "source": [ 522 | "from allennlp.modules.token_embedders import Embedding" 523 | ] 524 | }, 525 | { 526 | "cell_type": "markdown", 527 | "metadata": {}, 528 | "source": [ 529 | "Here we define an embedding layer that has a number of embeddings equal to the corresponding vocabulary size, and that consists of 5-dimensional vectors. In this case the embeddings will just be randomly initialized." 530 | ] 531 | }, 532 | { 533 | "cell_type": "code", 534 | "execution_count": null, 535 | "metadata": {}, 536 | "outputs": [], 537 | "source": [ 538 | "embedding = Embedding(num_embeddings=vocab.get_vocab_size(\"tokens\"), embedding_dim=5)" 539 | ] 540 | }, 541 | { 542 | "cell_type": "markdown", 543 | "metadata": {}, 544 | "source": [ 545 | "Accordingly, we can apply those embeddings to the indexed tokens." 546 | ] 547 | }, 548 | { 549 | "cell_type": "code", 550 | "execution_count": null, 551 | "metadata": {}, 552 | "outputs": [], 553 | "source": [ 554 | "embedding(tensor_dict['text']['tokens'])" 555 | ] 556 | }, 557 | { 558 | "cell_type": "markdown", 559 | "metadata": {}, 560 | "source": [ 561 | "# TextFieldEmbedders\n", 562 | "\n", 563 | "A text field may have multiple indexed representations of its tokens, in which case it needs multiple corresponding `TokenEmbedder`s. Because of this we typically wrap the token embedders in a `TextFieldEmbedder`, which runs the appropriate token embedder for each representation and then concatenates the results." 564 | ] 565 | }, 566 | { 567 | "cell_type": "code", 568 | "execution_count": null, 569 | "metadata": {}, 570 | "outputs": [], 571 | "source": [ 572 | "from allennlp.modules.text_field_embedders import BasicTextFieldEmbedder" 573 | ] 574 | }, 575 | { 576 | "cell_type": "code", 577 | "execution_count": null, 578 | "metadata": {}, 579 | "outputs": [], 580 | "source": [ 581 | "text_field_embedder = BasicTextFieldEmbedder({\"tokens\": embedding})" 582 | ] 583 | }, 584 | { 585 | "cell_type": "markdown", 586 | "metadata": {}, 587 | "source": [ 588 | "Notice now we apply it to the full tensor dict for the text field." 589 | ] 590 | }, 591 | { 592 | "cell_type": "code", 593 | "execution_count": null, 594 | "metadata": {}, 595 | "outputs": [], 596 | "source": [ 597 | "text_field_embedder(tensor_dict['text'])" 598 | ] 599 | }, 600 | { 601 | "cell_type": "markdown", 602 | "metadata": {}, 603 | "source": [ 604 | "# Seq2VecEncoders\n", 605 | "\n", 606 | "At this point we've ended up with a sequence of tensors. Frequently we'll want to collapse that sequence into a single contextualized tensor representation, which we do with a `Seq2VecEncoder`. (If we wanted to produce a full sequence of contextualized representations we'd instead use a `Seq2SeqEncoder`.\n", 607 | "\n", 608 | "In particular, here we'll use a `BagOfEmbeddingsEncoder`, which just sums up the vectors." 609 | ] 610 | }, 611 | { 612 | "cell_type": "code", 613 | "execution_count": null, 614 | "metadata": {}, 615 | "outputs": [], 616 | "source": [ 617 | "from allennlp.modules.seq2vec_encoders import BagOfEmbeddingsEncoder" 618 | ] 619 | }, 620 | { 621 | "cell_type": "code", 622 | "execution_count": null, 623 | "metadata": {}, 624 | "outputs": [], 625 | "source": [ 626 | "encoder = BagOfEmbeddingsEncoder(embedding_dim=text_field_embedder.get_output_dim())" 627 | ] 628 | }, 629 | { 630 | "cell_type": "markdown", 631 | "metadata": {}, 632 | "source": [ 633 | "We can apply this to the output of our text field embedder to collapse each sequence down to a single element." 634 | ] 635 | }, 636 | { 637 | "cell_type": "code", 638 | "execution_count": null, 639 | "metadata": {}, 640 | "outputs": [], 641 | "source": [ 642 | "encoder(text_field_embedder(tensor_dict['text']))" 643 | ] 644 | }, 645 | { 646 | "cell_type": "markdown", 647 | "metadata": {}, 648 | "source": [ 649 | "# Using PyTorch directly\n", 650 | "\n", 651 | "AllenNLP modules are just PyTorch modules, and we can mix and match them with native PyTorch features. Here we create a `torch.nn.Linear` module and apply it to the output of the `Seq2VecEncoder`." 652 | ] 653 | }, 654 | { 655 | "cell_type": "code", 656 | "execution_count": null, 657 | "metadata": {}, 658 | "outputs": [], 659 | "source": [ 660 | "import torch" 661 | ] 662 | }, 663 | { 664 | "cell_type": "code", 665 | "execution_count": null, 666 | "metadata": {}, 667 | "outputs": [], 668 | "source": [ 669 | "linear = torch.nn.Linear(in_features=text_field_embedder.get_output_dim(), out_features=3)" 670 | ] 671 | }, 672 | { 673 | "cell_type": "code", 674 | "execution_count": null, 675 | "metadata": {}, 676 | "outputs": [], 677 | "source": [ 678 | "linear(encoder(text_field_embedder(tensor_dict['text'])))" 679 | ] 680 | }, 681 | { 682 | "cell_type": "markdown", 683 | "metadata": {}, 684 | "source": [ 685 | "# We typically encapsulate most of these steps into an allennlp Model" 686 | ] 687 | }, 688 | { 689 | "cell_type": "code", 690 | "execution_count": null, 691 | "metadata": {}, 692 | "outputs": [], 693 | "source": [ 694 | "from allennlp.models import Model\n", 695 | "from allennlp.modules.text_field_embedders import TextFieldEmbedder\n", 696 | "from allennlp.modules.seq2vec_encoders import Seq2VecEncoder\n", 697 | "from typing import Dict" 698 | ] 699 | }, 700 | { 701 | "cell_type": "markdown", 702 | "metadata": {}, 703 | "source": [ 704 | "Here is a model that accepts the output of `batch.as_tensor_dict`, and applies the text field embedder, the seq2vec encoder, and linear layer. " 705 | ] 706 | }, 707 | { 708 | "cell_type": "code", 709 | "execution_count": null, 710 | "metadata": {}, 711 | "outputs": [], 712 | "source": [ 713 | "class MyModel(Model):\n", 714 | " def __init__(self, \n", 715 | " vocab: Vocabulary, \n", 716 | " embedder: TextFieldEmbedder, \n", 717 | " encoder: Seq2VecEncoder, \n", 718 | " output_dim: int) -> None:\n", 719 | " super().__init__(vocab)\n", 720 | " self.embedder = embedder\n", 721 | " self.encoder = encoder\n", 722 | " self.linear = torch.nn.Linear(in_features=embedder.get_output_dim(), out_features=output_dim)\n", 723 | " \n", 724 | " def forward(self, text: Dict[str, torch.Tensor], speaker: torch.Tensor) -> Dict[str, torch.Tensor]:\n", 725 | " \"\"\"\n", 726 | " Notice how the argument names correspond the field names in our instance.\n", 727 | " \"\"\"\n", 728 | " embedded = self.embedder(text)\n", 729 | " encoded = self.encoder(embedded)\n", 730 | " output = self.linear(encoded)\n", 731 | " \n", 732 | " return {\"output\": output}\n", 733 | " " 734 | ] 735 | }, 736 | { 737 | "cell_type": "code", 738 | "execution_count": null, 739 | "metadata": {}, 740 | "outputs": [], 741 | "source": [ 742 | "model = MyModel(vocab, text_field_embedder, encoder, 3)" 743 | ] 744 | }, 745 | { 746 | "cell_type": "code", 747 | "execution_count": null, 748 | "metadata": {}, 749 | "outputs": [], 750 | "source": [ 751 | "model(**tensor_dict)" 752 | ] 753 | }, 754 | { 755 | "cell_type": "code", 756 | "execution_count": null, 757 | "metadata": {}, 758 | "outputs": [], 759 | "source": [] 760 | } 761 | ], 762 | "metadata": { 763 | "kernelspec": { 764 | "display_name": "Python 3", 765 | "language": "python", 766 | "name": "python3" 767 | }, 768 | "language_info": { 769 | "codemirror_mode": { 770 | "name": "ipython", 771 | "version": 3 772 | }, 773 | "file_extension": ".py", 774 | "mimetype": "text/x-python", 775 | "name": "python", 776 | "nbconvert_exporter": "python", 777 | "pygments_lexer": "ipython3", 778 | "version": "3.7.3" 779 | } 780 | }, 781 | "nbformat": 4, 782 | "nbformat_minor": 2 783 | } 784 | -------------------------------------------------------------------------------- /by_hand.ipynb: -------------------------------------------------------------------------------- 1 | { 2 | "cells": [ 3 | { 4 | "cell_type": "code", 5 | "execution_count": null, 6 | "metadata": {}, 7 | "outputs": [], 8 | "source": [ 9 | "from typing import Optional, Dict, List, Tuple\n", 10 | "import csv\n", 11 | "import random\n", 12 | "\n", 13 | "import spacy\n", 14 | "import torch\n", 15 | "import tqdm\n" 16 | ] 17 | }, 18 | { 19 | "cell_type": "code", 20 | "execution_count": null, 21 | "metadata": {}, 22 | "outputs": [], 23 | "source": [ 24 | "# Load the spacy model\n", 25 | "nlp = spacy.load('en_core_web_sm')\n" 26 | ] 27 | }, 28 | { 29 | "cell_type": "code", 30 | "execution_count": null, 31 | "metadata": {}, 32 | "outputs": [], 33 | "source": [ 34 | "# Just some type aliases to make things cleaner\n", 35 | "RawRow = List[str]\n", 36 | "ProcessedRow = Tuple[str, List[str]]\n" 37 | ] 38 | }, 39 | { 40 | "cell_type": "code", 41 | "execution_count": null, 42 | "metadata": {}, 43 | "outputs": [], 44 | "source": [ 45 | "def process(row: RawRow) -> ProcessedRow:\n", 46 | " \"\"\"\n", 47 | " TODO: implement\n", 48 | " row is [category, text]\n", 49 | " want to return (category, list_of_tokens)\n", 50 | " use spacy (\"nlp\") to tokenize text, and then\n", 51 | " use token.text to get just the string tokens.\n", 52 | " \"\"\"\n", 53 | " pass\n" 54 | ] 55 | }, 56 | { 57 | "cell_type": "code", 58 | "execution_count": null, 59 | "metadata": {}, 60 | "outputs": [], 61 | "source": [ 62 | "def load_data(filename: str) -> List[ProcessedRow]:\n", 63 | " \"\"\"\n", 64 | " TODO: implement\n", 65 | " Read in the file, and use `process` on each line.\n", 66 | " Make sure to use csv.reader!\n", 67 | " \"\"\"\n", 68 | " pass\n" 69 | ] 70 | }, 71 | { 72 | "cell_type": "code", 73 | "execution_count": null, 74 | "metadata": {}, 75 | "outputs": [], 76 | "source": [ 77 | "# TODO: Load training data, validation data, and test data\n", 78 | "training_data = ...\n", 79 | "validation_data = ...\n", 80 | "test_data = ...\n" 81 | ] 82 | }, 83 | { 84 | "cell_type": "code", 85 | "execution_count": null, 86 | "metadata": {}, 87 | "outputs": [], 88 | "source": [ 89 | "# TODO: construct mappings idx_to_word and word_to_idx\n", 90 | "# Hint: use a set to get unique words, then use `enumerate`\n", 91 | "# to get a mapping word <-> index\n", 92 | "idx_to_word = ...\n", 93 | "word_to_idx = ...\n" 94 | ] 95 | }, 96 | { 97 | "cell_type": "code", 98 | "execution_count": null, 99 | "metadata": {}, 100 | "outputs": [], 101 | "source": [ 102 | "# TODO: construct mapping idx_to_label and label_to_idx\n", 103 | "idx_to_label = ...\n", 104 | "label_to_idx = ...\n" 105 | ] 106 | }, 107 | { 108 | "cell_type": "code", 109 | "execution_count": null, 110 | "metadata": {}, 111 | "outputs": [], 112 | "source": [ 113 | "class Model(torch.nn.Module):\n", 114 | " def __init__(self,\n", 115 | " word_to_idx: Dict[str, int],\n", 116 | " label_to_idx: Dict[str, int],\n", 117 | " embedding_dim: int = 100) -> None:\n", 118 | " super().__init__()\n", 119 | "\n", 120 | " # TODO: store passed in parameters\n", 121 | "\n", 122 | " # TODO: create a torch.nn.Embedding layer.\n", 123 | " # need to specify num_embeddings and embedding_dim\n", 124 | "\n", 125 | " # TODO: create a torch.nn.Linear layer\n", 126 | " # need to specify in_features and out_features\n", 127 | "\n", 128 | " # TODO: create a loss function that's just torch.nn.CrossEntropyLoss\n", 129 | "\n", 130 | " def forward(self,\n", 131 | " tokens: List[str],\n", 132 | " label: Optional[str] = None) -> Dict[str, torch.Tensor]:\n", 133 | "\n", 134 | " # TODO: convert the tokens to a tensor of word indices\n", 135 | "\n", 136 | " # TODO: use the embedding layer to embed the tokens\n", 137 | "\n", 138 | " # TODO: take the mean of the embeddings along dimension 0 (sequence length)\n", 139 | "\n", 140 | " # TODO: pass the encoding through the linear layer to get logits\n", 141 | "\n", 142 | " if label is not None:\n", 143 | " # TODO: find the corresponding label_id and stick it in a 1-D tensor\n", 144 | " # TODO: use .unsqueeze(0) to add a batch dimension to the logits\n", 145 | " # TODO: compute the loss\n", 146 | " pass\n", 147 | "\n", 148 | " # TODO: return a dict with the logits and (if we have it) the loss\n", 149 | " pass\n" 150 | ] 151 | }, 152 | { 153 | "cell_type": "code", 154 | "execution_count": null, 155 | "metadata": {}, 156 | "outputs": [], 157 | "source": [ 158 | "NUM_EPOCHS = 100\n", 159 | "\n", 160 | "# instantiate the model\n", 161 | "model = Model(word_to_idx, label_to_idx, 100)\n", 162 | "\n", 163 | "# instantiate an optimizer\n", 164 | "optimizer = torch.optim.Adagrad(model.parameters())\n" 165 | ] 166 | }, 167 | { 168 | "cell_type": "code", 169 | "execution_count": null, 170 | "metadata": {}, 171 | "outputs": [], 172 | "source": [ 173 | "for epoch in range(NUM_EPOCHS):\n", 174 | " print(f\"epoch {epoch}\")\n", 175 | " # shuffle the training data\n", 176 | " random.shuffle(training_data)\n", 177 | "\n", 178 | " epoch_loss = 0.0\n", 179 | " num_correct = 0\n", 180 | " num_seen = 0\n", 181 | "\n", 182 | " with tqdm.tqdm(training_data) as it:\n", 183 | " # Set the model in train mode\n", 184 | " model.train()\n", 185 | "\n", 186 | " for label, text in it:\n", 187 | " # TODO: zero out the gradients\n", 188 | " # TODO: call the model on the inputs\n", 189 | " # TODO: pull the loss out of the output\n", 190 | " # TODO: add loss.item() to epoch_loss\n", 191 | " # TODO: call .backward on the loss\n", 192 | " # TODO: step the optimizer\n", 193 | "\n", 194 | " # TODO: get the (actual) label_id and the predicted label_id\n", 195 | " # hint: use torch.argmax for the second\n", 196 | "\n", 197 | " # TODO: update num_seen and num_correct\n", 198 | " # TODO: compute accuracy\n", 199 | " # TODO: add accuracy and loss to the tqdm description\n", 200 | " it.set_description(f\"\")\n", 201 | "\n", 202 | " # Compute validation accuracy\n", 203 | "\n", 204 | " # TODO: set the model to .eval() mode\n", 205 | "\n", 206 | " # set num_correct and num_seen to 0\n", 207 | " num_correct = 0\n", 208 | " num_seen = 0\n", 209 | " validation_loss = 0.0\n", 210 | "\n", 211 | " with tqdm.tqdm(validation_data) as it:\n", 212 | " for label, text in it:\n", 213 | " # TODO: call the model on the inputs\n", 214 | "\n", 215 | " # TODO: compute the actual label_id and the predicted label_id\n", 216 | "\n", 217 | " # TODO: increment counters\n", 218 | "\n", 219 | " # TODO: add accuracy and loss to the tqdm description\n", 220 | " it.set_description(f\"\")\n", 221 | "\n" 222 | ] 223 | }, 224 | { 225 | "cell_type": "code", 226 | "execution_count": null, 227 | "metadata": {}, 228 | "outputs": [], 229 | "source": [ 230 | "# TODO: evaluate accuracy on test dataset\n" 231 | ] 232 | }, 233 | { 234 | "cell_type": "code", 235 | "execution_count": null, 236 | "metadata": {}, 237 | "outputs": [], 238 | "source": [] 239 | } 240 | ], 241 | "metadata": { 242 | "kernelspec": { 243 | "display_name": "Python 3", 244 | "language": "python", 245 | "name": "python3" 246 | }, 247 | "language_info": { 248 | "codemirror_mode": { 249 | "name": "ipython", 250 | "version": 3 251 | }, 252 | "file_extension": ".py", 253 | "mimetype": "text/x-python", 254 | "name": "python", 255 | "nbconvert_exporter": "python", 256 | "pygments_lexer": "ipython3", 257 | "version": "3.7.3" 258 | } 259 | }, 260 | "nbformat": 4, 261 | "nbformat_minor": 2 262 | } 263 | -------------------------------------------------------------------------------- /by_hand.py: -------------------------------------------------------------------------------- 1 | from typing import Optional, Dict, List, Tuple 2 | import csv 3 | import random 4 | 5 | import spacy 6 | import torch 7 | import tqdm 8 | 9 | # Load the spacy model 10 | nlp = spacy.load('en_core_web_sm') 11 | 12 | # Just some type aliases to make things cleaner 13 | RawRow = List[str] 14 | ProcessedRow = Tuple[str, List[str]] 15 | 16 | def process(row: RawRow) -> ProcessedRow: 17 | """ 18 | TODO: implement 19 | row is [category, text] 20 | want to return (category, list_of_tokens) 21 | use spacy ("nlp") to tokenize text, and then 22 | use token.text to get just the string tokens. 23 | """ 24 | pass 25 | 26 | def load_data(filename: str) -> List[ProcessedRow]: 27 | """ 28 | TODO: implement 29 | Read in the file, and use `process` on each line. 30 | Make sure to use csv.reader! 31 | """ 32 | pass 33 | 34 | # TODO: Load training data, validation data, and test data 35 | training_data = ... 36 | validation_data = ... 37 | test_data = ... 38 | 39 | # TODO: construct mappings idx_to_word and word_to_idx 40 | # Hint: use a set to get unique words, then use `enumerate` 41 | # to get a mapping word <-> index 42 | idx_to_word = ... 43 | word_to_idx = ... 44 | 45 | # TODO: construct mapping idx_to_label and label_to_idx 46 | idx_to_label = ... 47 | label_to_idx = ... 48 | 49 | class Model(torch.nn.Module): 50 | def __init__(self, 51 | word_to_idx: Dict[str, int], 52 | label_to_idx: Dict[str, int], 53 | embedding_dim: int = 100) -> None: 54 | super().__init__() 55 | 56 | # TODO: store passed in parameters 57 | 58 | # TODO: create a torch.nn.Embedding layer. 59 | # need to specify num_embeddings and embedding_dim 60 | 61 | # TODO: create a torch.nn.Linear layer 62 | # need to specify in_features and out_features 63 | 64 | # TODO: create a loss function that's just torch.nn.CrossEntropyLoss 65 | 66 | def forward(self, 67 | tokens: List[str], 68 | label: Optional[str] = None) -> Dict[str, torch.Tensor]: 69 | 70 | # TODO: convert the tokens to a tensor of word indices 71 | 72 | # TODO: use the embedding layer to embed the tokens 73 | 74 | # TODO: take the mean of the embeddings along dimension 0 (sequence length) 75 | 76 | # TODO: pass the encoding through the linear layer to get logits 77 | 78 | if label is not None: 79 | # TODO: find the corresponding label_id and stick it in a 1-D tensor 80 | # TODO: use .unsqueeze(0) to add a batch dimension to the logits 81 | # TODO: compute the loss 82 | pass 83 | 84 | # TODO: return a dict with the logits and (if we have it) the loss 85 | pass 86 | 87 | NUM_EPOCHS = 100 88 | 89 | # instantiate the model 90 | model = Model(word_to_idx, label_to_idx, 100) 91 | 92 | # instantiate an optimizer 93 | optimizer = torch.optim.Adagrad(model.parameters()) 94 | 95 | 96 | for epoch in range(NUM_EPOCHS): 97 | print(f"epoch {epoch}") 98 | # shuffle the training data 99 | random.shuffle(training_data) 100 | 101 | epoch_loss = 0.0 102 | num_correct = 0 103 | num_seen = 0 104 | 105 | with tqdm.tqdm(training_data) as it: 106 | # Set the model in train mode 107 | model.train() 108 | 109 | for label, text in it: 110 | # TODO: zero out the gradients 111 | # TODO: call the model on the inputs 112 | # TODO: pull the loss out of the output 113 | # TODO: add loss.item() to epoch_loss 114 | # TODO: call .backward on the loss 115 | # TODO: step the optimizer 116 | 117 | # TODO: get the (actual) label_id and the predicted label_id 118 | # hint: use torch.argmax for the second 119 | 120 | # TODO: update num_seen and num_correct 121 | # TODO: compute accuracy 122 | # TODO: add accuracy and loss to the tqdm description 123 | it.set_description(f"") 124 | 125 | # Compute validation accuracy 126 | 127 | # TODO: set the model to .eval() mode 128 | 129 | # set num_correct and num_seen to 0 130 | num_correct = 0 131 | num_seen = 0 132 | validation_loss = 0.0 133 | 134 | with tqdm.tqdm(validation_data) as it: 135 | for label, text in it: 136 | # TODO: call the model on the inputs 137 | 138 | # TODO: compute the actual label_id and the predicted label_id 139 | 140 | # TODO: increment counters 141 | 142 | # TODO: add accuracy and loss to the tqdm description 143 | it.set_description(f"") 144 | 145 | 146 | # TODO: evaluate accuracy on test dataset 147 | -------------------------------------------------------------------------------- /data/bbc-test.csv: -------------------------------------------------------------------------------- 1 | tech,"Go-ahead for new internet names 2 | 3 | The internet could soon have two new domain names, aimed at mobile services and the jobs market." 4 | tech,"Games 'deserve a place in class' 5 | 6 | Computer games could enhance learning and have a legitimate place in the classroom, say researchers." 7 | tech,"Security warning over 'FBI virus' 8 | 9 | The US Federal Bureau of Investigation is warning that a computer virus is being spread via e-mails that purport to be from the FBI." 10 | tech,"What high-definition will do to DVDs 11 | 12 | First it was the humble home video, then it was the DVD, and now Hollywood is preparing for the next revolution in home entertainment - high-definition." 13 | tech,"Game firm holds 'cast' auditions 14 | 15 | Video game firm Bioware is to hold open auditions for people to become cast members for future games." 16 | tech,"The pirates with no profit motive 17 | 18 | Two men who were part of a huge network of internet software pirates, known as Drink Or Die, have been convicted at the Old Bailey. BBC News investigates how the network worked and what motivated those involved." 19 | tech,"China 'to overtake US net use' 20 | 21 | The Chinese net-using population looks set to exceed that of the US in less than three years, says a report." 22 | tech,"Why Cell will get the hard sell 23 | 24 | The world is casting its gaze on the Cell processor for the first time, but what is so important about it, and why is it so different?" 25 | tech,"Digital guru floats sub-$100 PC 26 | 27 | Nicholas Negroponte, chairman and founder of MIT's Media Labs, says he is developing a laptop PC that will go on sale for less than $100 (£53)." 28 | tech,"TV's future down the phone line 29 | 30 | Internet TV has been talked about since the start of the web as we know it now." 31 | tech,"Mobile multimedia slow to catch on 32 | 33 | There is no doubt that mobile phones sporting cameras and colour screens are hugely popular." 34 | tech,"Man auctions ad space on forehead 35 | 36 | A 20-year-old US man is selling advertising space on his forehead to the highest bidder on website eBay." 37 | tech,"Argonaut founder rebuilds empire 38 | 39 | Jez San, the man behind the Argonaut games group which went into administration a week ago, has bought back most of the company." 40 | tech,"Swap offer for pirated Windows XP 41 | 42 | Computer giant Microsoft has launched a pilot scheme to replace counterfeit versions of Windows XP with legal ones." 43 | tech,"EU software patent law faces axe 44 | 45 | The European Parliament has thrown out a bill that would have allowed software to be patented." 46 | tech,"Apple laptop is 'greatest gadget' 47 | 48 | The Apple Powerbook 100 has been chosen as the greatest gadget of all time, by US magazine Mobile PC." 49 | tech,"Broadband in the UK gathers pace 50 | 51 | One person in the UK is joining the internet's fast lane every 10 seconds, according to BT." 52 | tech,"Rings of steel combat net attacks 53 | 54 | Gambling is hugely popular, especially with tech-savvy criminals." 55 | tech,"Mobiles 'not media players yet' 56 | 57 | Mobiles are not yet ready to be all-singing, all-dancing multimedia devices which will replace portable media players, say two reports." 58 | tech,"Home phones face unclear future 59 | 60 | The fixed line phone in your home could soon be an endangered species." 61 | tech,"2D Metal Slug offers retro fun 62 | 63 | Like some drill sergeant from the past, Metal Slug 3 is a wake-up call to today's gamers molly-coddled with slick visuals and fancy trimmings." 64 | tech,"Open source leaders slam patents 65 | 66 | The war of words between Microsoft and the open source movement heated up this week as Linux founder Linus Torvalds led an attack on software patents." 67 | tech,"Microsoft gets the blogging bug 68 | 69 | Software giant Microsoft is taking the plunge into the world of blogging." 70 | tech,"Microsoft plans 'safer ID' system 71 | 72 | Microsoft is planning to make Windows and Internet Explorer more secure by including software to give people more control over personal information." 73 | tech,"Screensaver tackles spam websites 74 | 75 | Net users are getting the chance to fight back against spam websites" 76 | tech,"Nintendo handheld given Euro date 77 | 78 | Nintendo's new handheld console, the DS, will launch in Europe on 11 March, the company has announced." 79 | tech,"Hacker threat to Apple's iTunes 80 | 81 | Users of Apple's music jukebox iTunes need to update the software to avoid a potential security threat." 82 | tech,"Apple attacked over sources row 83 | 84 | Civil liberties group the Electronic Frontier Foundation (EFF) has joined a legal fight between three US online journalists and Apple." 85 | tech,"Broadband in the UK growing fast 86 | 87 | High-speed net connections in the UK are proving more popular than ever." 88 | tech,"Looks and music to drive mobiles 89 | 90 | Mobile phones are still enjoying a boom time in sales, according to research from technology analysts Gartner." 91 | tech,"Mobile multimedia slow to catch on 92 | 93 | There is no doubt that mobile phones sporting cameras and colour screens are hugely popular. Consumers swapping old phones for slinkier, dinkier versions are thought to be responsible for a 26% increase in the number of phones sold during the third quarter of 2004, according to analysts Gartner More than 167 million handsets were sold between July and September 2004, a period that, according to Gartner analyst Carolina Milanesi is ""seldom strong"". But although consumers have mobiles that can take and send snaps, sounds and video clips few, so far, are taking the chance to do so." 94 | tech,"Speak easy plan for media players 95 | 96 | Music and film fans will be able to control their digital media players just by speaking to them, under plans in development by two US firms." 97 | tech,"Intel unveils laser breakthrough 98 | 99 | Intel has said it has found a way to put a silicon-based laser on a chip, raising hopes of much faster networks." 100 | tech,"Security warning over 'FBI virus' 101 | 102 | The US Federal Bureau of Investigation is warning that a computer virus is being spread via e-mails that purport to be from the FBI." 103 | tech,"Learning to love broadband 104 | 105 | We are reaching the point where broadband is a central part of daily life, at least for some, argues technology analyst Bill Thompson." 106 | tech,"Football Manager scores big time 107 | 108 | For the past decade or so the virtual football fans among us will have become used to the annual helping of Championship Manager (CM). Indeed, it seems like there has been a CM game for as many years as there have been PCs." 109 | tech,"Apple attacked over sources row 110 | 111 | Civil liberties group the Electronic Frontier Foundation (EFF) has joined a legal fight between three US online journalists and Apple." 112 | tech,"What's next for next-gen consoles? 113 | 114 | The next generation of video games consoles are in development but what will the new machines mean for games firms and consumers? We may not know when they will be released, what they will be called or even what they will be able to do but one thing is certain - they are coming. Sony, Microsoft and Nintendo are all expected to release new machines in the next 18 months. The details of PlayStation 3, Xbox 2 (codename Xenon) and Nintendo's so-called Revolution are still to be finalised but developers are having to work on titles for the new machines regardless." 115 | tech,"Disney backs Sony DVD technology 116 | 117 | A next generation DVD technology backed by Sony has received a major boost." 118 | tech,"Domain system scam fear 119 | 120 | A system to make it easier to create website addresses using alphabets like Cyrillic could open a back door for scammers, a trade body has warned." 121 | tech,"Format wars could 'confuse users' 122 | 123 | Technology firms Sony, Philips, Matsushita and Samsung are developing a common way to stop people pirating digital music and video." 124 | tech,"Mobiles rack up 20 years of use 125 | 126 | Mobile phones in the UK are celebrating their 20th anniversary this weekend." 127 | tech,"Be careful how you code 128 | 129 | A new European directive could put software writers at risk of legal action, warns former programmer and technology analyst Bill Thompson." 130 | tech,"Anti-spam screensaver scrapped 131 | 132 | A contentious campaign to bump up the bandwidth bills of spammers by flooding their sites with data has been dropped." 133 | tech,"Gadgets galore on show at fair 134 | 135 | The 2005 Consumer Electronics Show in Las Vegas is a geek's paradise with more than 50,000 new gadgets and technologies launched during the four-day event." 136 | tech,"Robotic pods take on car design 137 | 138 | A new breed of wearable robotic vehicles that envelop drivers are being developed by Japanese car giant Toyota." 139 | tech,"Multi-purpose TV aids India 140 | 141 | Two-thirds of the world's population, 4 billion people, live on $2,000 a year or less." 142 | tech,"British Library gets wireless net 143 | 144 | Visitors to the British Library will be able to get wireless internet access alongside the extensive information available in its famous reading rooms." 145 | tech,"'Podcasters' look to net money 146 | 147 | Nasa is doing it, 14-year-old boys in bedrooms are doing it, couples are doing it, gadget lovers - male and female - are definitely doing it." 148 | tech,"'Friends fear' with lost mobiles 149 | 150 | People are becoming so dependent on their mobile phones that one in three are concerned that losing their phone would mean they lose their friends." 151 | tech,"Disney backs Sony DVD technology 152 | 153 | A next generation DVD technology backed by Sony has received a major boost." 154 | tech,"No half measures with Half-Life 2 155 | 156 | Could Half-Life 2 possibly live up to the hype? After almost two years of tantalising previews and infuriating delays it's safe to say that this is the most highly-anticipated computer game of all time." 157 | tech,"Broadband set to revolutionise TV 158 | 159 | BT is starting its push into television with plans to offer TV over broadband." 160 | tech,"Yahoo moves into desktop search 161 | 162 | Internet giant Yahoo has launched software to allow people to search e-mail and other files on their PCs." 163 | tech,"Games win for Blu-ray DVD format 164 | 165 | The next-generation DVD format Blu-ray is winning more supporters than its rival, according to its backers." 166 | tech,"Junk e-mails on relentless rise 167 | 168 | Spam traffic is up by 40%, putting the total amount of e-mail that is junk up to an astonishing 90%." 169 | tech,"Hotspot users gain free net calls 170 | 171 | People using wireless net hotspots will soon be able to make free phone calls as well as surf the net." 172 | tech,"Virgin Radio offers 3G broadcast 173 | 174 | UK broadcaster Virgin Radio says it will become the first station in the world to offer radio via 3G mobiles." 175 | tech,"Commodore finds new lease of life 176 | 177 | The once-famous Commodore computer brand could be resurrected after being bought by a US-based digital music distributor." 178 | tech,"Who do you think you are? 179 | 180 | The real danger is not what happens to your data as it crosses the net, argues analyst Bill Thompson. It is what happens when it arrives at the other end." 181 | tech,"Broadband soars in 2004 182 | 183 | If broadband were a jumbo jet, then 2003 would have seen it taxiing down the runway, firing up its engines and preparing for take-off. But this year has seen it soar." 184 | tech,"China 'ripe' for media explosion 185 | 186 | Asia is set to drive global media growth to 2008 and beyond, with China and India filling the two top spots, analysts have predicted." 187 | tech,"Gates opens biggest gadget fair 188 | 189 | Bill Gates has opened the Consumer Electronics Show (CES) in Las Vegas, saying that gadgets are working together more to help people manage multimedia content around the home and on the move." 190 | tech,"Games maker fights for survival 191 | 192 | One of Britain's largest independent game makers, Argonaut Games, has been put up for sale." 193 | tech,"World tour for top video gamers 194 | 195 | Two UK gamers are about to embark on a world tour as part of the most lucrative-ever global games tournament." 196 | tech,"Freeze on anti-spam campaign 197 | 198 | A campaign by Lycos Europe to target spam-related websites appears to have been put on hold." 199 | tech,"UK gets official virus alert site 200 | 201 | A rapid alerting service that tells home computer users about serious internet security problems is being launched by the UK government." 202 | tech,"Blogs take on the mainstream 203 | 204 | Web logs or blogs are everywhere, with at least an estimated five million on the web and that number is set to grow." 205 | tech,"Intel unveils laser breakthrough 206 | 207 | Intel has unveiled research that could mean data is soon being moved around chips at the speed of light." 208 | tech,"Gamer buys $26,500 virtual land 209 | 210 | A 22-year-old gamer has spent $26,500 (£13,700) on an island that exists only in a computer role-playing game (RPG)." 211 | tech,"Gizmondo gadget hits the shelves 212 | 213 | The Gizmondo combined media player, phone and gaming gadget goes on sale on Saturday." 214 | tech,"Halo fans' hope for sequel 215 | 216 | Xbox video game Halo 2 has been released in the US on 9 November, with a UK release two days later. Why is the game among the most anticipated of all time?" 217 | tech,"Moving mobile improves golf swing 218 | 219 | A mobile phone that recognises and responds to movements has been launched in Japan." 220 | tech,"Loyalty cards idea for TV addicts 221 | 222 | Viewers could soon be rewarded for watching TV as loyalty cards come to a screen near you." 223 | tech,"The gaming world in 2005 224 | 225 | If you have finished Doom 3, Half Life 2 and Halo 2, don't worry. There's a host of gaming gems set for release in 2005." 226 | tech,"Latest Opera browser gets vocal 227 | 228 | Net browser Opera 8.0, due for official release at the end of next month, will be ""the most accessible browser on the market"", according to its authors." 229 | tech,"Software watching while you work 230 | 231 | Software that can not only monitor every keystroke and action performed at a PC but also be used as legally binding evidence of wrong-doing has been unveiled." 232 | tech,"Seamen sail into biometric future 233 | 234 | The luxury cruise liner Crystal Harmony, currently in the Gulf of Mexico, is the unlikely setting for tests of biometric technology." 235 | tech,"Apple laptop is 'greatest gadget' 236 | 237 | The Apple Powerbook 100 has been chosen as the greatest gadget of all time, by US magazine Mobile PC." 238 | tech,"Apple sues 'Tiger' file sharers 239 | 240 | Apple has taken more legal action to stop online leaks of its new products." 241 | sport,"Beckham relief as Real go through 242 | 243 | David Beckham expressed his relief at Real Madrid's passage to the Champions League knockout phase." 244 | sport,"Chelsea clinch cup in extra-time 245 | 246 | (after extra-time - score at 90 mins 1-1)" 247 | sport,"England 17-18 France 248 | 249 | England suffered an eighth defeat in 11 Tests as scrum-half Dimitri Yachvili booted France to victory at Twickenham." 250 | sport,"Stevens named in England line-up 251 | 252 | England have named Bath prop Matt Stevens in the starting line-up for their Six Nations match against Ireland at Lansdowne Road on Sunday." 253 | sport,"Lewis-Francis turns to Christie 254 | 255 | Mark Lewis-Francis has stepped up his preparations for the new season by taking advice from British sprint icon Linford Christie." 256 | sport,"Chepkemei joins Edinburgh line-up 257 | 258 | Susan Chepkemei has decided she is fit enough to run in next month's Great Edinburgh International Cross Country." 259 | sport,"O'Sullivan keeps his powder dry 260 | 261 | When you are gunning for glory and ultimate success keeping the gunpowder dry is essential." 262 | sport,"Pavey focuses on indoor success 263 | 264 | Jo Pavey will miss January's View From Great Edinburgh International Cross Country to focus on preparing for the European Indoor Championships in March." 265 | sport,"Pountney handed ban and fine 266 | 267 | Northampton coach Budge Pountney has been fined £2,000 and banned from match-day coaching for six weeks for calling a referee ""a disgrace""." 268 | sport,"IAAF launches fight against drugs 269 | 270 | The IAAF - athletics' world governing body - has met anti-doping officials, coaches and athletes to co-ordinate the fight against drugs in sport." 271 | sport,"Tindall wants second opinion 272 | 273 | England centre Mike Tindall is to seek a second opinion before having surgery on a foot injury that could force him to miss the entire Six Nations." 274 | sport,"Dallaglio eyeing Lions tour place 275 | 276 | Former England captain Lawrence Dallaglio still harbours hopes of a place on the British and Irish Lions tour to New Zealand." 277 | sport,"Federer breezes into semi-finals 278 | 279 | Roger Federer reached the last four of the Qatar Open with an easy 6-1 6-2 win over seventh seed Feliciano Lopez." 280 | sport,"Gallas sees two-horse race 281 | 282 | Chelsea's William Gallas believes they will battle it out with Arsenal for the Premiership in the coming months." 283 | sport,"Time to get tough on friendlies? 284 | 285 | For an international manager, a friendly provides an important opportunity to work with your players." 286 | sport,"Hewitt falls to Dent 287 | 288 | Lleyton Hewitt suffered a shock defeat to Taylor Dent in the quarter-finals of the Australian Hardcourt Championships in Adelaide on Friday." 289 | sport,"Klinsmann issues Lehmann warning 290 | 291 | Germany coach Jurgen Klinsmann has warned goalkeeper Jens Lehmann he may have to quit Arsenal to keep his World Cup dreams alive." 292 | sport,"Roddick into San Jose final 293 | 294 | Andy Roddick will play Cyril Saulnier in the final of the SAP Open in San Jose on Sunday." 295 | sport,"McIlroy aiming for Madrid title 296 | 297 | Northern Ireland man James McIlroy is confident he can win his first major title at this weekend's Spar European Indoor Championships in Madrid." 298 | sport,"Ireland call up uncapped Campbell 299 | 300 | Ulster scrum-half Kieran Campbell is one of five uncapped players included in Ireland's RBS Six Nations squad." 301 | sport,"Anelka apologises for criticism 302 | 303 | Manchester City striker Nicolas Anelka has issued an apology for criticising the ambitions of the club." 304 | sport,"Roche 'turns down Federer offer' 305 | 306 | Australian tennis coach Tony Roche has turned down an approach from Roger Federer to be the world number one's new full-time coach, say reports." 307 | sport,"Robinson ready for difficult task 308 | 309 | England coach Andy Robinson faces the first major test of his tenure as he tries to get back to winning ways after the Six Nations defeat by Wales." 310 | sport,"Connors boost for British tennis 311 | 312 | Former world number one Jimmy Connors is planning a long-term relationship with the Lawn Tennis Association to help unearth the next Tim Henman." 313 | sport,"European medal chances improve 314 | 315 | What have the European Indoor trials told us? Well, I think we could be heading to the European Championships with half a dozen medal prospects." 316 | sport,"Henman hopes ended in Dubai 317 | 318 | Third seed Tim Henman slumped to a straight sets defeat in his rain-interrupted Dubai Open quarter-final against Ivan Ljubicic." 319 | sport,"Hearts 2-1 Livingston 320 | 321 | Hearts wrapped up their Scottish Cup quarter-final tie against Livingston with two goals in the first 10 minutes." 322 | sport,"FA decides not to punish Mourinho 323 | 324 | The Football Association will take no action against Chelsea boss Jose Mourinho following his sending-off in Sunday's Carling Cup final." 325 | sport,"Isinbayeva heads for Birmingham 326 | 327 | Olympic pole vault champion Yelena Isinbayeva has confirmed she will take part in the 2005 Norwich Union Grand Prix in Birmingham on 18 February." 328 | sport,"Legendary Dutch boss Michels dies 329 | 330 | Legendary Dutch coach Rinus Michels, the man credited with developing ""total football"", has died aged 77." 331 | sport,"Mauresmo opens with victory in LA 332 | 333 | Amelie Mauresmo and Maria Sharapova won their opening matches at the Tour Championships in Los Angeles." 334 | sport,"Melzer shocks Agassi in San Jose 335 | 336 | Second seed Andre Agassi suffered a comprehensive defeat by Jurgen Melzer in the quarter-finals of the SAP Open." 337 | sport,"South Africa sweep top awards 338 | 339 | South Africa's Schalk Burger was named player of the year as the Tri-Nations champions swept the top honours at the International Rugby Board's awards." 340 | sport,"Rovers reject third Ferguson bid 341 | 342 | Blackburn have rejected a third bid from Rangers for Scotland captain Barry Ferguson, BBC Sport has learnt." 343 | sport,"Holmes starts 2005 with GB events 344 | 345 | Kelly Holmes will start 2005 with a series of races in Britain." 346 | sport,"Moya sidesteps Davis Cup in 2005 347 | 348 | Carlos Moya has chosen not to help Spain try and defend the Davis Cup crown they won in Seville in November." 349 | sport,"O'Connell rejects Lions rumours 350 | 351 | Ireland and Munster lock Paul O'Connell has dismissed media reports linking him to the captaincy of the Lions tour to New Zealand this summer." 352 | sport,"Hodgson shoulders England blame 353 | 354 | Fly-half Charlie Hodgson admitted his wayward kicking played a big part in England's 18-17 defeat to France." 355 | sport,"Clijsters could play Aussie Open 356 | 357 | Kim Clijsters has denied reports that she has pulled out of January's Australian Open because of her persistent wrist injury." 358 | sport,"White admits to Balco drugs link 359 | 360 | Banned American sprinter Kelli White says she knowingly took steroids given to her by Bay Area Lab Co-Operative (Balco) president Victor Conte." 361 | sport,"Injury doubts beset Wales squad 362 | 363 | Wales have a clutch of injury worries before Wednesday's international friendly against Hungary in Cardiff." 364 | sport,"McIlroy continues winning streak 365 | 366 | James McIlroy stormed to his second international victory in less than a week, claiming the men's 800m at the TEAG indoor meeting in Erfurt." 367 | sport,"Ireland win eclipses refereeing 'errors' 368 | 369 | The International Rugby Board may have to step in to stop frustrated coaches and players from publicly haranguing referees when things go belly-up." 370 | sport,"FA charges Liverpool and Millwall 371 | 372 | Liverpool and Millwall have been charged by the Football Association over crowd trouble during their Carling Cup match on 26 October." 373 | sport,"Newcastle line up Babayaro 374 | 375 | Newcastle manager Graeme Souness is closing in on signing Chelsea defender Celestine Babayaro when the transfer window reopens." 376 | sport,"Umaga ready for ""fearsome"" Lions 377 | 378 | All Blacks captain Tama Umaga has warned the British and Irish Lions will be his most fearsome opponents yet ahead of their summer tour." 379 | sport,"Jones medals 'must go if guilty' 380 | 381 | World Anti-Doping Agency (WADA) chief Dick Pound says Marion Jones should be stripped of all her medals if found guilty of taking banned substances." 382 | sport,"Cup holders Man Utd visit Everton 383 | 384 | Holders Manchester United and Premiership leaders Chelsea both face difficult away ties against Premiership opposition in the FA Cup fifth round." 385 | sport,"Souness delight at Euro progress 386 | 387 | Boss Graeme Souness felt Newcastle were never really in danger of going out of the Uefa Cup against Heerenveen." 388 | sport,"Leeds v Saracens (Fri) 389 | 390 | Headingley" 391 | sport,"Moya emotional after Davis Cup win 392 | 393 | Carlos Moya described Spain's Davis Cup victory as the highlight of his career after he beat Andy Roddick to end the USA's challenge in Seville." 394 | sport,"Murphy: That was a bruising battle 395 | 396 | That's what I call a tough game. It was very physical and fair play to the Italians they made us work very hard for our victory." 397 | sport,"Tindall aiming to earn Lions spot 398 | 399 | Bath and England centre Mike Tindall believes he can make this summer's Lions tour, despite missing most of the season through injury." 400 | sport,"Bristol City 2-1 Milton Keynes 401 | 402 | Leroy Lita took his goal tally to 13 for the season as his double earned City an LDV Vans Trophy win." 403 | sport,"Jones files Conte lawsuit 404 | 405 | Marion Jones has filed a lawsuit for defamation against Balco boss Victor Conte following his allegations that he gave her performance-enhancing drugs." 406 | sport,"Double injury blow strikes Wales 407 | 408 | Wales centre Sonny Parker and number eight Ryan Jones will miss Saturday's game with Italy because of injury." 409 | sport,"Fuming Robinson blasts officials 410 | 411 | England coach Andy Robinson insisted he was ""livid"" after his side were denied two tries in Sunday's 19-13 Six Nations loss to Ireland in Dublin." 412 | sport,"Farrell saga to drag on - Lindsay 413 | 414 | Wigan chairman Maurice Lindsay says he does not expect a quick solution to the on-going saga of captain Andy Farrell's possible switch to rugby union." 415 | sport,"Mansfield 0-1 Leyton Orient 416 | 417 | An second-half goal from Andy Scott condemned Mansfield to a ninth successive game without a win." 418 | sport,"Cudicini misses Carling Cup final 419 | 420 | Chelsea goalkeeper Carlo Cudicini will miss Sunday's Carling Cup final after the club dropped their appeal against his red card against Newcastle." 421 | sport,"McClaren targets Champions League 422 | 423 | Middlesbrough boss Steve McClaren believes his side can clinch a top-four spot in the Premiership and secure qualification for the Champions League." 424 | sport,"Chelsea sack Mutu 425 | 426 | Chelsea have sacked Adrian Mutu after he failed a drugs test." 427 | sport,"Uefa approves fake grass 428 | 429 | Uefa says it will allow European matches to be played on artificial pitches from the start of next season." 430 | sport,"A year to remember for Irish 431 | 432 | There used to be one subliminal moment during a year in Irish rugby that stood out more than most." 433 | sport,"Safin cool on Wimbledon 434 | 435 | Newly-crowned Australian Open champion Marat Safin has ruled out any chance of winning Wimbledon in the future." 436 | sport,"Holmes back on form in Birmingham 437 | 438 | Double Olympic champion Kelly Holmes was back to her best as she comfortably won the 1,000m at the Norwich Union Birmingham Indoor Grand Prix." 439 | sport,"Hearts of Oak 3-2 Cotonsport 440 | 441 | Hearts of Oak set up an all Ghanaian Confederation Cup final with a 3-2 win over Cameroon's Cotonsport Garoua in Accra on Sunday." 442 | sport,"Reyes tricked into Real admission 443 | 444 | Jose Antonio Reyes has added to speculation linking him with a move from Arsenal to Real Madrid after falling victim to a radio prank." 445 | sport,"Italy aim to rattle England 446 | 447 | Italy coach John Kirwan believes his side can upset England as the Six Nations wooden spoon battle hots up." 448 | sport,"What now for British tennis? 449 | 450 | Tim Henman's decision to quit Davis Cup tennis has left the British team with a gargantuan void to fill." 451 | sport,"Reds sink 10-man Magpies 452 | 453 | Titus Bramble's own goal put Liverpool on the comeback trail as injury-hit Newcastle were well beaten at Anfield." 454 | sport,"London Irish 19-33 Wasps 455 | 456 | Wasps made light of the absence of several internationals to sink London Irish with a trio of second-half tries." 457 | sport,"Venus stunned by Farina Elia 458 | 459 | Venus Williams suffered a first-round defeat for the first time in four years at the Dubai Championships." 460 | sport,"O'Driscoll saves Irish blushes 461 | 462 | Two moments of magic from Brian O'Driscoll guided Ireland to a workmanlike victory against Italy." 463 | sport,"Captains lining up for Aid match 464 | 465 | Ireland's Brian O'Driscoll is one of four Six Nations captains included in the Northern Hemisphere squad for the IRB Rugby Aid match on 5 March." 466 | sport,"Harinordoquy suffers France axe 467 | 468 | Number eight Imanol Harinordoquy has been dropped from France's squad for the Six Nations match with Ireland in Dublin on 12 March." 469 | sport,"Hong Kong in 2011 World Cup bid 470 | 471 | Hong Kong is hoping to join Japan as co-host of the 2011 Rugby World Cup." 472 | sport,"Ajax refuse to rule out Jol move 473 | 474 | Ajax have refused to reveal whether Tottenham's boss Martin Jol is on the Dutch champions' shortlist to become the Amsterdam club's new coach." 475 | sport,"O'Leary agrees new Villa contract 476 | 477 | Aston Villa boss David O'Leary signed a three-and-a-half year contract extension on Thursday, securing his future at the club until summer 2008." 478 | sport,"Borders 19-20 Ulster 479 | 480 | Ulster clung on for a morale-boosting Celtic League win over bottom club Borders at Netherdale on Friday night." 481 | sport,"Irish finish with home game 482 | 483 | Republic of Ireland manager Brian Kerr has been granted his wish for a home game as the final World Cup qualifier." 484 | sport,"Robben sidelined with broken foot 485 | 486 | Chelsea winger Arjen Robben has broken two metatarsal bones in his foot and will be out for at least six weeks." 487 | sport,"Hingis hints at playing comeback 488 | 489 | Martina Hingis has admitted that she might consider a competitive return to tennis if an appearance in Thailand later this month goes well." 490 | sport,"Gerrard happy at Anfield 491 | 492 | Liverpool captain Steven Gerrard has reiterated his desire to stay at Anfield and win trophies with the club." 493 | sport,"Mourinho defiant on Chelsea form 494 | 495 | Chelsea boss Jose Mourinho has insisted that Sir Alex Ferguson and Arsene Wenger would swap places with him." 496 | sport,"Athens memories soar above lows 497 | 498 | Well, it's goodbye to another Olympic year and as usual there were plenty of highs and lows in Athens." 499 | sport,"Veteran Martinez wins Thai title 500 | 501 | Conchita Martinez won her first title in almost five years with victory over Anna-Lena Groenefeld at the Volvo Women's Open in Pattaya, Thailand." 502 | sport,"Smith keen on Home series return 503 | 504 | Scotland manager Walter Smith has given his backing to the reinstatement of the Home International series." 505 | sport,"London hope over Chepkemei 506 | 507 | London Marathon organisers are hoping that banned athlete Susan Chepkemei will still take part in this year's race on 17 April." 508 | sport,"Nadal marches on in Mexico 509 | 510 | Rafael Nadal continued his run of fine form to beat Guillermo Canas and reach the Mexican Open semis in Acapulco." 511 | sport,"Solskjaer raises hopes of return 512 | 513 | Manchester United striker Ole Gunnar Solskjaer said he hoped to return next season following a career-threatening injury to his right knee." 514 | sport,"Ruddock backs Yapp's credentials 515 | 516 | Wales coach Mike Ruddock says John Yapp has what it takes as an international." 517 | sport,"Chelsea denied by James heroics 518 | 519 | A brave defensive display, led by keeper David James, helped Manchester City hold the leaders Chelsea." 520 | sport,"Thanou bullish over drugs hearing 521 | 522 | Katerina Thanou is confident she and fellow sprinter Kostas Kenteris will not be punished for missing drugs tests before the Athens Olympics." 523 | sport,"Ferdinand casts doubt over Glazer 524 | 525 | Rio Ferdinand has said he is unsure of Malcolm Glazer's motives after the American billionaire launched a new offer to buy Manchester United." 526 | sport,"Pearce keen on succeeding Keegan 527 | 528 | Joint assistant boss Stuart Pearce has admitted he would like to succeed Kevin Keegan as manager at Manchester City." 529 | sport,"Thanou desperate to make return 530 | 531 | Greek sprinter Katerina Thanou says she is eager to compete again after being cleared of missing a drugs test by an independent Greek tribunal." 532 | sport,"Sydney return for Henin-Hardenne 533 | 534 | Olympic champion Justine Henin-Hardenne will return to action in January's Sydney International tournament." 535 | sport,"Wada will appeal against ruling 536 | 537 | The World Anti-Doping Agency (Wada) will appeal against the acquittal of Kostas Kenteris and Katerina Thanou on doping charges, if the IAAF does not." 538 | sport,"Blackburn v Burnley 539 | 540 | Ewood Park" 541 | sport,"Off-colour Gardener storms to win 542 | 543 | Britain's Jason Gardener shook off an upset stomach to win the 60m at Sunday's Leipzig International meeting." 544 | sport,"Benitez deflects blame from Dudek 545 | 546 | Liverpool manager Rafael Benitez has refused to point the finger of blame at goalkeeper Jerzy Dudek after Portsmouth claimed a draw at Anfield." 547 | politics,"Row over 'police' power for CSOs 548 | 549 | The Police Federation has said it strongly opposes giving Community Support Officers (CSOs) the power to detain suspects for up to 30 minutes." 550 | politics,"Royal couple watch nation's mood 551 | 552 | Prince Charles and Camilla Parker Bowles are awaiting the nation's reaction after announcing they are to be married on 8 April." 553 | politics,"Blair 'up for it' ahead of poll 554 | 555 | Tony Blair says his personal standing in the eyes of voters will be ""an issue"" in the general election." 556 | politics,"Immigration to be election issue 557 | 558 | Immigration and asylum have normally been issues politicians from the big parties have tiptoed around at election time." 559 | politics,"McConnell in 'drunk' remark row 560 | 561 | Scotland's first minister has told a group of high school pupils that it is okay to get drunk ""once in a while""." 562 | politics,"Brown visits slum on Africa trip 563 | 564 | Chancellor Gordon Brown has visited Kenya's biggest shantytown as he opened a week-long visit to Africa." 565 | politics,"Brown names 16 March for Budget 566 | 567 | Chancellor Gordon Brown will deliver his Budget to the House of Commons on 16 March, the Treasury has announced." 568 | politics,"BNP leader Nick Griffin arrested 569 | 570 | The leader of the British National Party has been arrested as part of a police inquiry following the screening of a BBC documentary." 571 | politics,"MPs tout Lords replacement plan 572 | 573 | A group of MPs has tried to raise the pressure on Tony Blair over reform to the House of Lords by publishing a detailed blueprint for change." 574 | politics,"Labour chooses Manchester 575 | 576 | The Labour Party will hold its 2006 autumn conference in Manchester and not Blackpool, it has been confirmed." 577 | politics,"Economy focus for election battle 578 | 579 | Britain's economic future will be at the heart of Labour's poll campaign, Chancellor Gordon Brown has said." 580 | politics,"EU rules 'won't stop UK spending' 581 | 582 | The shape of the UK's economy In graphics" 583 | politics,"Abbas 'will not tolerate' attacks 584 | 585 | Palestinian leader Mahmoud Abbas has said he will not tolerate attacks such as last Friday's suicide bombing in the Israeli city of Tel Aviv." 586 | politics,"Lord Scarman, 93, dies peacefully 587 | 588 | Distinguished lawyer Lord Scarman, who conducted the inquiry into the 1981 Brixton riots, has died aged 93." 589 | politics,"Cherie accused of attacking Bush 590 | 591 | Cherie Blair has been accused of criticising George W Bush's policies in a private address she gave during a United States lecture tour." 592 | politics,"Blair rejects Tory terror offer 593 | 594 | Tony Blair has rejected a Conservative compromise offer that could have eased the passage of anti-terror legislation." 595 | politics,"Election 'could be terror target' 596 | 597 | Terrorists might try to target the UK in the run-up to the election, London's most senior police officer has said." 598 | politics,"Could rivalry overshadow election? 599 | 600 | Tony Blair and Gordon Brown are desperately trying to stuff the genie of their rivalry back into the bottle." 601 | politics,"Conservative backing for ID cards 602 | 603 | The Tories are to back controversial government plans to introduce ID cards." 604 | politics,"'Debate needed' on donations cap 605 | 606 | A cap on donations to political parties should not be introduced yet, the elections watchdog has said." 607 | politics,"UK firms 'embracing e-commerce' 608 | 609 | UK firms are embracing internet trading opportunities as never before, e-commerce minister Mike O'Brien says." 610 | politics,"'No-one can define new hunt ban' 611 | 612 | The new law banning hunting with dogs is ""so poorly drafted"" no-one can define the offence, pro-hunt MPs say." 613 | politics,"UK set to cut back on embassies 614 | 615 | Nine overseas embassies and high commissions will close in an effort to save money, UK Foreign Secretary Jack Straw has announced." 616 | politics,"Blair returns from peace mission 617 | 618 | Prime Minister Tony Blair has arrived back from his diplomatic mission to the Middle East to try to resurrect the peace process." 619 | politics,"BAA support ahead of court battle 620 | 621 | UK airport operator BAA has reiterated its support for the government's aviation expansion plans to airports throughout the country." 622 | politics,"Blair congratulates Bush on win 623 | 624 | Tony Blair has said he looks forward to continuing his strong relationship with George Bush and working with him during his second term as president." 625 | politics,"Job cuts 'false economy' - TUC 626 | 627 | Plans to shed 71,000 civil service jobs will prove to be a ""false economy"" that could hamper public sector reforms, according to a TUC report." 628 | politics,"Tories urge 'change at the top' 629 | 630 | Tory delegates are gathering for what is expected to be their last conference before the general election, declaring Britain needs ""a change at the top""." 631 | politics,"Kennedy's cautious optimism 632 | 633 | Charles Kennedy is far too canny to make any grand claims about how his party may fare at the general election." 634 | politics,"MPs quiz aides over royal income 635 | 636 | Senior officials at the two bodies generating private income for the Queen and Prince of Wales are to be questioned by MPs." 637 | politics,"UK troops on Ivory Coast standby 638 | 639 | Downing Street has confirmed British troops are on standby in case they need to help evacuate several hundred UK citizens from Ivory Coast." 640 | politics,"Blair hails Turkey-EU talks deal 641 | 642 | Tony Blair has hailed a deal bringing Turkey a step closer to EU membership as important for the world's future ""peace and prosperity""." 643 | politics,"Tory candidate quits over remark 644 | 645 | A Conservative election challenger is quitting after being quoted as wanting a ""period of creative destruction in the public services""." 646 | politics,"Blunkett unveils policing plans 647 | 648 | People could be given the mobile phone number of their local bobby under an overhaul of policing in England and Wales unveiled by David Blunkett." 649 | politics,"Amnesty chief laments war failure 650 | 651 | The lack of public outrage about the war on terror is a powerful indictment of the failure of human rights groups, Amnesty International's chief has said." 652 | politics,"Tory expert denies defeat warning 653 | 654 | The Conservatives' campaign director has denied a report claiming he warned Michael Howard the party could not win the next general election." 655 | politics,"'Hitler' row over Welsh arts cash 656 | 657 | An artist critical of Welsh arts funding being brought under assembly government control has denied comparing the idea with dictatorships in Russia and Germany." 658 | politics,"Blair rejects Iraq advice calls 659 | 660 | Tony Blair has rejected calls for the publication of advice on the legality of the Iraq war amid growing calls for an investigation." 661 | politics,"MP attacked by muggers in Kenya 662 | 663 | An MP has had more than £600 and his passport stolen after being mugged by six men in a park in Kenya." 664 | politics,"Iraq advice claim sparks new row 665 | 666 | The Tories say ministers must respond in Parliament to claims that the legal advice used to justify the Iraq war was drawn up at Number 10." 667 | politics,"UK youth 'interested' in politics 668 | 669 | The majority of young people are interested in politics, holding ""strong opinions"" on policies and have a ""keen appetite"" for direct action." 670 | politics,"Terror detainees win Lords appeal 671 | 672 | Detaining foreign terrorist suspects without trial breaks human rights laws, the UK's highest court has ruled." 673 | politics,"Clarke to press on with ID cards 674 | 675 | New Home Secretary Charles Clarke has vowed to plough on with plans for ID cards despite a call for him to ""pause for thought"" from Charles Kennedy." 676 | politics,"UKIP outspent Labour on EU poll 677 | 678 | The UK Independence Party outspent both Labour and the Liberal Democrats in the European elections, new figures show." 679 | politics,"Baron Kinnock makes Lords debut 680 | 681 | Former Labour leader Neil Kinnock has officially been made a life peer during a ceremony in the House of Lords." 682 | politics,"Tories reject rethink on axed MP 683 | 684 | Sacked MP Howard Flight's local Conservative association has insisted he will not be its candidate at the general election." 685 | politics,"Custody death rate 'shocks' MPs 686 | 687 | Deaths in custody have reached ""shocking"" levels, a committee of MPs and peers has warned." 688 | politics,"Escaped prisoner report ordered 689 | 690 | First Minister Jack McConnell has ordered a report on the decision to allow a paranoid schizophrenic knife attacker to go on a visit unguarded." 691 | politics,"Iraqis win death test case probe 692 | 693 | The family of an Iraqi civilian allegedly killed by UK troops have won a challenge against the government's refusal to order a full inquiry." 694 | politics,"Game warnings 'must be clearer' 695 | 696 | Violent video games should carry larger warnings so parents can understand what their children are playing, the trade and industry secretary has said." 697 | politics,"Correction agency plans dropped 698 | 699 | Plans to create a single correctional agency for Scotland have been scrapped." 700 | politics,"Howard attacks 'pay later' Budget 701 | 702 | Tory leader Michael Howard has dismissed Gordon Brown's Budget as ""vote now, pay later"" spending plans." 703 | politics,"Talks aim to avert pension strike 704 | 705 | Talks aimed at averting a series of national strikes over pensions reforms will take place this weekend." 706 | politics,"Jamieson issues warning to bigots 707 | 708 | Scotland's justice minister has warned bigoted soccer fans that she wants to hit them ""where it hurts most"" by banning them from matches." 709 | politics,"Mayor will not retract Nazi jibe 710 | 711 | London mayor Ken Livingstone has again refused to retract a Nazi insult made to a Jewish reporter." 712 | politics,"Chancellor rallies Labour voters 713 | 714 | Gordon Brown has issued a rallying cry to supporters, warning the ""stakes are too high"" to stay at home or protest vote in the next general election." 715 | politics,"Teens 'know little' of politics 716 | 717 | Teenagers questioned for a survey have shown little interest in politics - and have little knowledge." 718 | politics,"Civil servants in strike ballot 719 | 720 | The UK's biggest civil service union is to ballot its 290,000 members on strikes in protest at government plans to extend their pension age to 65." 721 | politics,"Blair to face trust issue head on 722 | 723 | Tony Blair says he will be facing the issue of trust and his own integrity head on during the election campaign." 724 | politics,"Lib Dems target first-time buyers 725 | 726 | The Liberal Democrats have unveiled plans to build 100,000 new ""affordable"" homes on publicly owned land." 727 | politics,"Will Tory tax cuts lift spirits? 728 | 729 | Michael Howard has finally revealed the full scale of his planned Tory tax cuts." 730 | politics,"UK needs tax cuts, Tories insist 731 | 732 | A major change of direction is needed in Britain if it is to prosper, the shadow chancellor said as the Tory Party spring conference began." 733 | politics,"McConnell details Scots wave toll 734 | 735 | At least three people from Scotland died in the tsunami disaster and a further three are on the missing list, the first minister has told MSPs." 736 | politics,"Blair looks to election campaign 737 | 738 | Tony Blair's big speech will be looked back on as the performance that kicked off the election campaign." 739 | politics,"Terror suspects face house arrest 740 | 741 | UK citizens suspected of involvement in terrorism could face house arrest as part of a series of new measures outlined by the home secretary." 742 | politics,"Ban on hunting comes into force 743 | 744 | Fox hunting with dogs is now illegal in England and Wales after a ban on the activity came into force overnight." 745 | politics,"Green fear for transport ballot 746 | 747 | The Green Party is concerned thousands of residents may not be able to vote in Edinburgh's transport referendum." 748 | politics,"The memory driving Brown's mission 749 | 750 | The memory Gordon Brown says keeps returning to him - the one that he says is burnt into him - is that of a 12 year-old girl, whose parents died of Aids, and who is HIV positive herself." 751 | politics,"Howard unveils election platform 752 | 753 | The Conservatives would stand up for the ""forgotten majority"", Michael Howard pledged as he unveiled the first part of the Tory election manifesto." 754 | politics,"Tories attack burglar 'U-turns' 755 | 756 | Tory leader Michael Howard has accused Tony Blair of performing U-turns over rules on using force against burglars." 757 | politics,"Blair stresses prosperity goals 758 | 759 | Tony Blair says his party's next manifesto will be ""unremittingly New Labour"" and aimed at producing ""personal prosperity for all""." 760 | politics,"Drink remark 'acts as diversion' 761 | 762 | The first minister's statement that it was okay to get drunk ""once in a while"" has diverted attention from the real issues, it has been claimed." 763 | politics,"No election TV debate, says Blair 764 | 765 | Tony Blair has said he will not take part in a TV debate with his political rivals ahead of the next election." 766 | politics,"Brown ally rejects Budget spree 767 | 768 | Chancellor Gordon Brown's closest ally has denied suggestions there will be a Budget giveaway on 16 March." 769 | politics,"Straw praises Kashmir moves 770 | 771 | The UK has welcomed the decision by India and Pakistan to open a bus link across the ceasefire line dividing the disputed region of Kashmir." 772 | politics,"Lib Dems 'to target stamp duty' 773 | 774 | The Liberal Democrats are promising to raise the stamp duty threshold if they win the general election, in a bid to court first-time house buyers." 775 | politics,"Wales 'must learn health lessons' 776 | 777 | The new health minister for Wales says there are lessons to learn from England in tackling waiting lists." 778 | politics,"Research fears over Kelly's views 779 | 780 | Scientists have expressed concerns that new education secretary Ruth Kelly's religious views could hamper vital scientific research." 781 | politics,"Tory leader quits legal position 782 | 783 | David McLetchie has resigned from his post as a partner in a legal firm following criticism over his dual role." 784 | politics,"'Fido' to be taken off vote lists 785 | 786 | The risk of pets and children being given votes could be cut by changing how people register to vote, the UK elections watchdog has said." 787 | politics,"Final hunts held as ban looms 788 | 789 | Hunts in England and Wales have begun on the last day that hunting with dogs is legal, with more due out later." 790 | politics,"Campbell: E-mail row 'silly fuss' 791 | 792 | Ex-No 10 media chief Alastair Campbell is at the centre of a new political row over an e-mail containing a four-letter outburst aimed at BBC journalists." 793 | politics,"'Poll Idols' face first hurdles 794 | 795 | Vote For Me - ITV1's Pop Idol style talent contest for would-be politicians - finally hits our screens this week." 796 | entertainment,"Fightstar take to the stage 797 | 798 | Charlie Simpson took his new band Fightstar to the stage on Friday night, just hours after officially announcing his departure from pop band Busted." 799 | entertainment,"Glasgow hosts tsunami benefit gig 800 | 801 | The top names in Scottish music are taking part in a benefit concert in aid of the victims of the Asian tsunami." 802 | entertainment,"Singer's film to show at festival 803 | 804 | A documentary which takes a candid look at the life of chart-topping singer George Michael will be shown at this year's Berlin Film Festival." 805 | entertainment,"God cut from Dark Materials film 806 | 807 | The director and screenwriter of the film adaptation of Philip Pullman's His Dark Materials is to remove references to God and the church in the movie." 808 | entertainment,"Paraguay novel wins US book prize 809 | 810 | A novel set in 19th century Paraguay has won the $10,000 (£5,390) fiction prize at the US National Book Awards." 811 | entertainment,"Stars shine on Bafta red carpet 812 | 813 | Hollywood stars brought a touch of glamour to London on Saturday for the biggest night in the British film calendar." 814 | entertainment,"Ocean's Twelve raids box office 815 | 816 | Ocean's Twelve, the crime caper sequel starring George Clooney, Brad Pitt and Julia Roberts, has gone straight to number one in the US box office chart." 817 | entertainment,"Music mogul Fuller sells company 818 | 819 | Pop Idol supremo Simon Fuller has sold his 19 Entertainment company to an US entrepreneur in a $156m (£81.5m) deal." 820 | entertainment,"Richard and Judy choose top books 821 | 822 | The 10 authors shortlisted for a Richard and Judy book award in 2005 are hoping for a boost in sales following the success of this year's winner." 823 | entertainment,"US show sued for rat-eating stunt 824 | 825 | A US TV network is being sued for $2.5m (£1.3m) by a viewer who says he was disgusted by watching contestants eat dead rats in a stunt show." 826 | entertainment,"Ring of Fire hit co-writer dies 827 | 828 | Merle Kilgore, co-writer of the country hit Ring of Fire, has died of congestive heart failure aged 70." 829 | entertainment,"Ethnic producers 'face barriers' 830 | 831 | Minority ethnic led (Mel) production companies face barriers in succeeding in the film and television industries, research has suggested." 832 | entertainment,"Adventure tale tops awards 833 | 834 | Young book fans have voted Fergus Crane, a story about a boy who is taken on an adventure by a flying horse, the winner of two Smarties Book Prizes." 835 | entertainment,"Tarantino 'to make Friday sequel' 836 | 837 | Director Quentin Tarantino is in talks to write and direct a new instalment in the Friday the 13th horror franchise, according to the Hollywood Reporter." 838 | entertainment,"Jamelia's return to the top 839 | 840 | R&B star Jamelia had three Brit nominations to go with her triple triumph at last year's Mobo awards." 841 | entertainment,"Fry set for role in Hitchhiker's 842 | 843 | Actor Stephen Fry is joining the cast of the forthcoming film adaptation of The Hitchhiker's Guide To The Galaxy." 844 | entertainment,"Sky takes over Oscar night mantle 845 | 846 | Sky has signed a major new deal to broadcast this year's Academy Awards, taking over from three years of live Oscar coverage on the BBC." 847 | entertainment,"Band Aid retains number one spot 848 | 849 | The charity single by Band Aid 20 has held on the chart top spot for a second week, strengthening its chances of becoming the Christmas number one." 850 | entertainment,"US actor 'found with gun residue' 851 | 852 | Actor Robert Blake had gunshot residue on his hands and clothes the night his wife was shot dead, a court has heard." 853 | entertainment,"Baghdad Blogger on big screen 854 | 855 | A film based on the internet musings of the ""Baghdad Blogger"" has been shown at the Rotterdam Film Festival." 856 | entertainment,"Spector facing more legal action 857 | 858 | Music producer Phil Spector is facing legal action from the mother of the actress he has been accused of killing." 859 | entertainment,"Briton wins short film Oscar 860 | 861 | Three of the five nominees in the live-action short film category at this year's Oscars were British. For Andrea Arnold, who won the category, Ashvin Kumar and Gary McKendry the past month has thrust them from relative obscurity into the limelight." 862 | entertainment,"Holmes wins '2004 top TV moment' 863 | 864 | Sprinter Kelly Holmes' Olympic victory has been named the top television moment of 2004 in a BBC poll." 865 | entertainment,"Oscar nominees gear up for lunch 866 | 867 | Leonardo DiCaprio, Jamie Foxx and Hilary Swank are among those due to attend this year's Oscar nominees luncheon on Monday." 868 | entertainment,"DJ double act revamp chart show 869 | 870 | DJ duo JK and Joel are taking over BBC Radio 1's flagship chart show on Sunday, adding showbiz news, celebrity interviews and between-song banter." 871 | entertainment,"US actor Ossie Davis found dead 872 | 873 | US actor Ossie Davis has been found dead at the age of 87." 874 | entertainment,"Brits return Keane to number one 875 | 876 | Brits success has helped return Keane's award-winning album Hopes and Fears back to the top of the UK album chart." 877 | entertainment,"Hollywood ready for Oscars night 878 | 879 | Hollywood is preparing for the biggest night in the film world's calendar, the 77th Academy Awards, on Sunday." 880 | entertainment,"Elvis regains top chart position 881 | 882 | Elvis Presley has scored his 19th number one single in the UK charts with the re-release of Jailhouse Rock, 27 years after his death." 883 | entertainment,"Rapper films music video in jail 884 | 885 | A US rapper awaiting trial for murder has filmed part of a music video in jail, angering a sheriff who says he was tricked into letting TV crews in." 886 | entertainment,"Van Gogh festival film withdrawn 887 | 888 | Murdered director Theo van Gogh's controversial film Submission has been pulled from the Rotterdam Film Festival because of security fears." 889 | entertainment,"Aviator 'creator' in Oscars snub 890 | 891 | The man who said he got Oscar-nominated movie The Aviator off the ground and signed up Leonardo DiCaprio has been shut out of the Academy Awards race." 892 | entertainment,"Top of the Pops leaves BBC One 893 | 894 | The BBC's flagship pop music programme Top of the Pops is to move from BBC One on Fridays to Sundays on BBC Two." 895 | entertainment,"Eminem beats Elvis to number one 896 | 897 | Rapper Eminem has denied Elvis his fourth number one of the year, after his song, Like Toy Soldiers, stormed to the top of the singles charts." 898 | entertainment,"Moreno debut makes Oscar mark 899 | 900 | Catalina Sandino Moreno has joined a rare group of actresses who have been nominated for an Oscar for starring in a foreign language film." 901 | entertainment,"Double win for Sea Inside 902 | 903 | Spanish movie The Sea Inside has been named best picture and star Javier Bardem best actor at the Bangkok International Film Festival." 904 | entertainment,"Farrell due to make US TV debut 905 | 906 | Actor Colin Farrell is to make his debut on US television in medical sitcom Scrubs, according to Hollywood newspaper Daily Variety." 907 | entertainment,"De Niro film leads US box office 908 | 909 | Film star Robert De Niro has returned to the top of the North American box office with his film Hide and Seek." 910 | entertainment,"Fantasy book wins Hollywood deal 911 | 912 | A British author has had the film rights to her children's bestseller snapped up for a seven-figure sum, with Ridley Scott set to direct." 913 | entertainment,"Musicians to tackle US red tape 914 | 915 | Musicians' groups are to tackle US visa regulations which are blamed for hindering British acts' chances of succeeding across the Atlantic." 916 | entertainment,"Volcano drama erupts on BBC One 917 | 918 | Supervolcano, a docu-drama about a volcanic eruption in Yellowstone National Park in the US, is among the highlights on the BBC One this winter." 919 | entertainment,"X Factor show gets second series 920 | 921 | TV talent show The X Factor is to return for a second series after being recommissioned by ITV." 922 | entertainment,"New York rockers top talent poll 923 | 924 | New York electro-rock group The Bravery have come top of the BBC News website's Sound of 2005 poll to find the music scene's most promising new act." 925 | entertainment,"£1.8m indecency fine for Viacom 926 | 927 | Media giant Viacom has paid out $3.5m (£1.8m) to end investigations into indecency in its US radio and TV shows." 928 | entertainment,"No charges against TV's Cosby 929 | 930 | US comedian Bill Cosby will not face charges stemming from an allegation of sexual misconduct." 931 | entertainment,"Hitch holds on to US box office 932 | 933 | Will Smith's first romantic comedy, Hitch, has topped the North American box office for a second weekend." 934 | entertainment,"Foxx and Swank take actors awards 935 | 936 | Jamie Foxx and Hilary Swank have won the Screen Actors Guild Awards for best male and female film actors, boosting their Oscars hopes this month." 937 | entertainment,"US TV host Clark suffers stroke 938 | 939 | Veteran US television host Dick Clark is in hospital in Los Angeles after suffering a mild stroke." 940 | entertainment,"Oasis star fined for German brawl 941 | 942 | Oasis singer Liam Gallagher has been fined 50,000 euros (£35,000) after a fight in a German hotel two years ago." 943 | entertainment,"India to deport Bollywood actress 944 | 945 | India has ordered the deportation of Iranian-born model and actress Negar Khan to Norway after saying she was working illegally on her visa." 946 | entertainment,"Michael film signals 'retirement' 947 | 948 | Singer George Michael has said that a new film about his life is the start of a retirement from public view." 949 | entertainment,"No UK premiere for Rings musical 950 | 951 | The producers behind the Lord of the Rings musical have abandoned plans to premiere the show in London because no suitable theatre was available." 952 | entertainment,"How the Academy Awards flourished 953 | 954 | The 77th annual Academy Awards are taking place on 27 February with the stars of the movie-making world once again holding their breath to discover who will be showered with the honours this year. But from humble beginnings, how did the modern day extravaganza become the behemoth it is today?" 955 | entertainment,"Keanu Reeves given Hollywood star 956 | 957 | Actor Keanu Reeves, best known for his role in the Matrix movies, has been awarded a star on the prestigious Hollywood Walk of Fame." 958 | entertainment,"Ray Charles studio becomes museum 959 | 960 | A museum dedicated to the career of the late legendary singer Ray Charles is to open in his former recording studio in Los Angeles." 961 | entertainment,"Lee to create new film superhero 962 | 963 | Comic book veteran Stan Lee is to team up with producer Robert Evans to create a movie featuring a new superhero." 964 | entertainment,"Parker's saxophone heads auction 965 | 966 | A saxophone belonging to legendary jazz musician Charlie Parker is expected to fetch up to $1m (£535,000) at an auction of jazz memorabilia next month." 967 | entertainment,"Grammys honour soul star Charles 968 | 969 | The memory of soul legend Ray Charles dominated the music world's leading music ceremony on Sunday as he was given eight posthumous Grammy Awards." 970 | entertainment,"Robots march to US cinema summit 971 | 972 | Animated movie Robots has opened at the top of the US and Canada box office chart, taking $36.5m (£19m) on its first weekend on release." 973 | entertainment,"Rock group Korn's guitarist quits 974 | 975 | The guitarist with US rock band Korn has quit the music business, saying he made the decision after experiencing a religious awakening." 976 | entertainment,"Pete Doherty misses bail deadline 977 | 978 | Singer Pete Doherty will have to spend the weekend in jail because he could not come up with £150,000 bond money for his bail on time." 979 | entertainment,"TV presenter Deeley drops CD:UK 980 | 981 | Cat Deeley has resigned as host of ITV1's Saturday morning children's music show CD:UK after six years." 982 | entertainment,"Band Aid 20 single storms to No 1 983 | 984 | The new version of the Band Aid song Do They Know It's Christmas? has gone straight in at number one in the UK singles chart." 985 | entertainment,"Vera Drake scoops film award 986 | 987 | Oscar hopefuls Mike Leigh and Imelda Staunton were both winners at the 2004 Evening Standard British Film Awards." 988 | entertainment,"Controversial film tops festival 989 | 990 | A controversial film starring Hollywood actor Kevin Bacon as a convicted paedophile won top honours at the London Film Festival on Thursday." 991 | entertainment,"Slater to star in Broadway play 992 | 993 | Actor Christian Slater is stepping into the role of Tom in the Broadway revival of The Glass Menagerie." 994 | entertainment,"Soul sensation ready for awards 995 | 996 | South West teenage singing sensation, Joss Stone, has been nominated in three categories in Wednesday's Brit awards." 997 | entertainment,"Shark Tale DVD is US best-seller 998 | 999 | Oscar-nominated animation Shark Tale has raked in $80m (£42.4m) in the first week of its US DVD release becoming the year's best-selling home video so far." 1000 | entertainment,"U2 to play at Grammy awards show 1001 | 1002 | Irish rock band U2 are to play live at the Grammy Awards presentation in the US next month, organisers have said." 1003 | entertainment,"Mumbai bombs movie postponed 1004 | 1005 | The release of a film about the Mumbai (Bombay) blasts in 1993 has been postponed following protests by those on trial for the bombings." 1006 | entertainment,"Byrds producer Melcher dies at 62 1007 | 1008 | Record producer Terry Melcher, who was behind hits by the Byrds, Ry Cooder and the Beach Boys, has died aged 62." 1009 | entertainment,"Ten-year tragedy of missing Manic 1010 | 1011 | Richey Edwards, guitarist and lyricist for The Manic Street Preachers, vanished 10 years ago, on 1 February 1995. His disappearance remains one of the most tragic mysteries in rock music." 1012 | entertainment,"Oscar nominee Dan O'Herlihy dies 1013 | 1014 | Irish actor Dan O'Herlihy, who was nominated for best actor at the 1955 Oscars, has died at the age of 85." 1015 | entertainment,"Russian film wins BBC world prize 1016 | 1017 | Russian drama The Return (Vozvrashchenie) has been named winner of the BBC Four World Cinema Award." 1018 | entertainment,"Housewives lift Channel 4 ratings 1019 | 1020 | The debut of US television hit Desperate Housewives has helped lift Channel 4's January audience share by 12% compared to last year." 1021 | entertainment,"Da Vinci Code is 'lousy history' 1022 | 1023 | The plot of an international bestseller that thousands of readers are likely to receive as a Christmas present is 'laughable', a clergyman has said." 1024 | entertainment,"Rapper Kanye West's shrewd soul 1025 | 1026 | US hip-hop star Kanye West - who leads the race for this year's Grammys with 10 nominations - rose to prominence by producing songs for artists such as Jay-Z and Alicia Keys." 1027 | business,"UK homes hit £3.3 trillion total 1028 | 1029 | The value of the UK's housing stock reached the £3.3 trillion mark in 2004 - triple the value 10 years earlier, a report indicates." 1030 | business,"US seeks new $280bn smoker ruling 1031 | 1032 | The US Justice Department is to try to overturn a court ruling that threw out its claim for $280bn (£149bn) in damages from tobacco firms." 1033 | business,"Enron bosses in $168m payout 1034 | 1035 | Eighteen former Enron directors have agreed a $168m (£89m) settlement deal in a shareholder lawsuit over the collapse of the energy firm." 1036 | business,"US firm pulls out of Iraq 1037 | 1038 | A US company has pulled out of a major contract to rebuild Iraq's transport system after attacks on reconstruction efforts, Pentagon officials have said." 1039 | business,"US economy shows solid GDP growth 1040 | 1041 | The US economy has grown more than expected, expanding at an annual rate of 3.8% in the last quarter of 2004." 1042 | business,"US trade gap hits record in 2004 1043 | 1044 | The gap between US exports and imports hit an all-time high of $671.7bn (£484bn) in 2004, latest figures show." 1045 | business,"Asia shares defy post-quake gloom 1046 | 1047 | Thailand has become the first of the 10 southern Asian nations battered by giant waves at the weekend to cut its economic forecast." 1048 | business,"Turkey-Iran mobile deal 'at risk' 1049 | 1050 | Turkey's investment in Iran's mobile industry looks set to be scrapped after its biggest mobile firm saw its investment there slashed by MPs." 1051 | business,"Euronext joins bid battle for LSE 1052 | 1053 | Pan-European stock market Euronext has approached the London Stock Exchange (LSE) about a possible takeover bid." 1054 | business,"High fuel prices hit BA's profits 1055 | 1056 | British Airways has blamed high fuel prices for a 40% drop in profits." 1057 | business,"US Airways staff agree to pay cut 1058 | 1059 | A union representing 5,200 flight attendants at bankrupt US Airways have agreed to a new contract that cuts pay by nearly 10%." 1060 | business,"Egypt to sell off state-owned bank 1061 | 1062 | The Egyptian government is reportedly planning to privatise one of the country's big public banks." 1063 | business,"'Golden economic period' to end 1064 | 1065 | Ten years of ""golden"" economic performance may come to an end in 2005 with growth slowing markedly, City consultancy Deloitte has warned." 1066 | business,"Mixed reaction to Man Utd offer 1067 | 1068 | Shares in Manchester United were up over 5% by noon on Monday following a new offer from Malcolm Glazer." 1069 | business,"Bank opts to leave rates on hold 1070 | 1071 | The Bank of England has left interest rates on hold at 4.75% for a sixth month in a row." 1072 | business,"Khodorkovsky quits Yukos shares 1073 | 1074 | Jailed tycoon Mikhail Khodorkovsky has transferred his controlling stake in oil giant Yukos to a business partner." 1075 | business,"'Post-Christmas lull' in lending 1076 | 1077 | UK mortgage lending showed a ""post-Christmas lull"" in January, indicating a slowing housing market, lenders have said." 1078 | business,"EU-US seeking deal on air dispute 1079 | 1080 | The EU and US have agreed to begin talks on ending subsidies given to aircraft makers, EU Trade Commissioner Peter Mandelson has announced." 1081 | business,"Telegraph newspapers axe 90 jobs 1082 | 1083 | The Daily and Sunday Telegraph newspapers are axing 90 journalist jobs - 17% of their editorial staff." 1084 | business,"Reliance unit loses Anil Ambani 1085 | 1086 | Anil Ambani, the younger of the two brothers in charge of India's largest private company, has resigned from running its petrochemicals subsidiary." 1087 | business,"News Corp eyes video games market 1088 | 1089 | News Corp, the media company controlled by Australian billionaire Rupert Murdoch, is eyeing a move into the video games market." 1090 | business,"SEC to rethink post-Enron rules 1091 | 1092 | The US stock market watchdog's chairman has said he is willing to soften tough new US corporate governance rules to ease the burden on foreign firms." 1093 | business,"US to rule on Yukos refuge call 1094 | 1095 | Yukos has said a US bankruptcy court will decide whether to block Russia's impending auction of its main production arm on Thursday." 1096 | business,"Wall Street cool to eBay's profit 1097 | 1098 | Shares in online auction house eBay fell 9.8% in after-hours trade on Wednesday, after its quarterly profits failed to meet market expectations." 1099 | business,"Worldcom ex-boss launches defence 1100 | 1101 | Lawyers defending former WorldCom chief Bernie Ebbers against a battery of fraud charges have called a company whistleblower as their first witness." 1102 | business,"Asia quake increases poverty risk 1103 | 1104 | Nearly two million people across Asia could be thrown into poverty because of the Indian Ocean tsunami, the Asian Development Bank (ADB) has said." 1105 | business,"Lufthansa flies back to profit 1106 | 1107 | German airline Lufthansa has returned to profit in 2004 after posting huge losses in 2003." 1108 | business,"Buyers snap up Jet Airways' shares 1109 | 1110 | Investors have snapped up shares in Jet Airways, India's biggest airline, following the launch of its much anticipated initial public offer (IPO)." 1111 | business,"UK firm faces Venezuelan land row 1112 | 1113 | Venezuelan authorities have said they will seize land owned by a British company as part of President Chavez's agrarian reform programme." 1114 | business,"Saab to build Cadillacs in Sweden 1115 | 1116 | General Motors, the world's largest car maker, has confirmed that it will build a new medium-sized Cadillac BLS at its loss-making Saab factory in Sweden." 1117 | business,"Virgin Blue shares plummet 20% 1118 | 1119 | Shares in Australian budget airline Virgin Blue plunged 20% after it warned of a steep fall in full year profits." 1120 | business,"Euro firms miss out on optimism 1121 | 1122 | More than 90% of large companies around the world are highly optimistic about their economic prospects, a survey of 1,300 bosses suggests." 1123 | business,"Beer giant swallows Russian firm 1124 | 1125 | Brewing giant Inbev has agreed to buy Alfa-Eco's stake in Sun Interbrew, Russia's second-largest brewer, for up to 259.7m euros ($353.3m; £183.75m)." 1126 | business,"Fiat chief takes steering wheel 1127 | 1128 | The chief executive of the Fiat conglomerate has taken day-to-day control of its struggling car business in an effort to turn it around." 1129 | business,"Mexican in US send $16bn home 1130 | 1131 | Mexican labourers living in the US sent a record $16.6bn (£8.82bn) home last year." 1132 | business,"China Aviation seeks rescue deal 1133 | 1134 | Scandal-hit jet fuel supplier China Aviation Oil has offered to repay its creditors $220m (£117m) of the $550m it lost on trading in oil futures." 1135 | business,"UK bank seals South Korean deal 1136 | 1137 | UK-based bank Standard Chartered said it would spend $3.3bn (£1.8bn) to buy one of South Korea's main retail banks." 1138 | business,"Iraqi voters turn to economic issues 1139 | 1140 | Beyond the desperate security situation in Iraq lies an economy in tatters." 1141 | business,"Ford gains from finance not cars 1142 | 1143 | Ford, the US car company, reported higher fourth quarter and full-year profits on Thursday boosted by a buoyant period for its car loans unit." 1144 | business,"Japan economy slides to recession 1145 | 1146 | The Japanese economy has officially gone back into recession for the fourth time in a decade." 1147 | business,"Iraq to invite phone licence bids 1148 | 1149 | Iraq is to invite bids for two telephone licences, saying it wants to significantly boost nationwide coverage over the next decade." 1150 | business,"Lufthansa may sue over Bush visit 1151 | 1152 | German airline Lufthansa may sue federal agencies for damages after the arrival of US president George W Bush disrupted flights." 1153 | business,"Continental 'may run out of cash' 1154 | 1155 | Shares in Continental Airlines have tumbled after the firm warned it could run out of cash." 1156 | business,"Vodafone appoints new Japan boss 1157 | 1158 | Vodafone has drafted in its UK chief executive William Morrow to take charge of its troubled Japanese operation." 1159 | business,"German bidder in talks with LSE 1160 | 1161 | Deutsche Boerse bosses have held ""constructive, professional and friendly"" talks with the London Stock Exchange (LSE), its chief has said." 1162 | business,"House prices drop as sales slow 1163 | 1164 | House prices fell further in November and property sale times lengthened as rate rises took their toll, the Royal Institute of Chartered Surveyors found." 1165 | business,"Chinese wine tempts Italy's Illva 1166 | 1167 | Italy's Illva Saronno has agreed to buy 33% of Changyu, the largest wine maker in China." 1168 | business,"M&S cuts prices by average of 24% 1169 | 1170 | Marks & Spencer has cut prices in London and the regions by an average of 24%, according to research from a City investment bank." 1171 | business,"Oil prices fall back from highs 1172 | 1173 | Oil prices retreated from four-month highs in early trading on Tuesday after producers' cartel Opec said it was now unlikely to cut production." 1174 | business,"Yukos seeks court action on sale 1175 | 1176 | Yukos will return to a US court on Wednesday to seek sanctions against Baikal Finance Group, the little-known firm which has bought its main asset." 1177 | business,"IMF agrees fresh Turkey funding 1178 | 1179 | Turkey has agreed a draft proposal with the International Monetary Fund to borrow $10bn (£5.19bn), extending its ongoing financial support until 2007." 1180 | business,"AstraZeneca hit by drug failure 1181 | 1182 | Shares in Anglo-Swedish drug have closed down 8% in UK trade after the failure of its Iressa drug in a major clinical trial." 1183 | business,"$1m payoff for former Shell boss 1184 | 1185 | Shell is to pay $1m (£522,000) to the ex-finance chief who stepped down from her post in April 2004 after the firm over-stated its reserves." 1186 | business,"Man Utd to open books to Glazer 1187 | 1188 | Manchester United's board has agreed to give US tycoon Malcolm Glazer access to its books." 1189 | business,"BMW cash to fuel Mini production 1190 | 1191 | Less than four years after the new Mini was launched, German car maker BMW has announced £100m of new investment." 1192 | business,"Bombardier chief to leave company 1193 | 1194 | Shares in train and plane-making giant Bombardier have fallen to a 10-year low following the departure of its chief executive and two members of the board." 1195 | business,"UK economy facing 'major risks' 1196 | 1197 | The UK manufacturing sector will continue to face ""serious challenges"" over the next two years, the British Chamber of Commerce (BCC) has said." 1198 | business,"Indian oil firm eyes Yukos assets 1199 | 1200 | India's biggest oil exploration firm, Oil & Natural Gas Corp (ONGC), says it is in talks to buy the former assets of troubled Russian crude producer Yukos." 1201 | business,"Economy 'strong' in election year 1202 | 1203 | UK businesses are set to prosper during the next few months - but this could trigger more interest rate rises, according to a report." 1204 | business,"Yangtze Electric's profits double 1205 | 1206 | Yangtze Electric Power, the operator of China's Three Gorges Dam, has said its profits more than doubled in 2004." 1207 | business,"Shares rise on new Man Utd offer 1208 | 1209 | Shares in Manchester United closed up 4.75% on Monday following a new offer from US tycoon Malcolm Glazer." 1210 | business,"Georgia plans hidden asset pardon 1211 | 1212 | Georgia is offering a one-off 'tax amnesty' to people who hid their earnings under the regime of former president Eduard Shevardnadze." 1213 | business,"Bush to outline 'toughest' budget 1214 | 1215 | President Bush is to send his toughest budget proposals to date to the US Congress, seeking large cuts in domestic spending to lower the deficit." 1216 | business,"Durex maker SSL awaits firm bid 1217 | 1218 | UK condom maker SSL International has refused to comment on reports it may be subject to a takeover early in 2005." 1219 | business,"Criminal probe on Citigroup deals 1220 | 1221 | Traders at US banking giant Citigroup are facing a criminal investigation in Germany over a controversial bond deal." 1222 | business,"Boeing unveils new 777 aircraft 1223 | 1224 | US aircraft firm Boeing has unveiled its new long-distance 777 plane, as it tries to regain its position as the industry's leading manufacturer." 1225 | business,"Rescue hope for Borussia Dortmund 1226 | 1227 | Shares in struggling German football club Borussia Dortmund slipped on Monday despite the club agreeing a rescue plan with creditors on Friday." 1228 | business,"Golden rule boost for Chancellor 1229 | 1230 | Chancellor Gordon Brown has been given a £2.1bn boost in his attempts to meet his golden economic rule, which allows him to borrow only for investment." 1231 | business,"S Korean lender faces liquidation 1232 | 1233 | Creditors of South Korea's top credit card firm have said they will put the company into liquidation if its ex-parent firm fails to back a bail-out." 1234 | business,"Wal-Mart fights back at accusers 1235 | 1236 | Two big US names have launched advertising campaigns to ""set the record straight"" about their products and corporate behaviour." 1237 | business,"Air China in $1bn London listing 1238 | 1239 | China's national airline is to make its overseas stock market debut with a dual listing in London and Hong Kong, the London Stock Exchange (LSE) has said." 1240 | business,"Wall Street cheers Bush victory 1241 | 1242 | The US stock market has closed higher in response to George W Bush's victory in the presidential elections." 1243 | business,"German economy rebounds 1244 | 1245 | Germany's economy, the biggest among the 12 countries sharing the euro, grew at its fastest rate in four years during 2004, driven by strong exports." 1246 | business,"Yukos unit fetches $9bn at auction 1247 | 1248 | A little-known Russian company has bought the main production unit of oil giant Yukos at auction in Moscow." 1249 | business,"India's Deccan seals $1.8bn deal 1250 | 1251 | Air Deccan has ordered 30 Airbus A320 planes in a $1.8bn (£931m) deal as India's first low-cost airline expands in the fast-growing domestic market." 1252 | business,"Battered dollar hits another low 1253 | 1254 | The dollar has fallen to a new record low against the euro after data fuelled fresh concerns about the US economy." 1255 | business,"Dollar hovers around record lows 1256 | 1257 | The US dollar hovered close to record lows against the euro on Friday as concern grows about the size of the US budget deficit." 1258 | business,"Yukos sues four firms for $20bn 1259 | 1260 | Russian oil firm Yukos has sued four companies for their role in last year's forced state auction of its key oil production unit Yuganskneftegas." 1261 | business,"French suitor holds LSE meeting 1262 | 1263 | European stock market Euronext has met with the London Stock Exchange (LSE) amid speculation that it may be ready to launch a cash bid." 1264 | business,"Weak end-of-year sales hit Next 1265 | 1266 | Next has said its annual profit will be £5m lower than previously expected because its end-of-year clearance sale has proved disappointing." 1267 | business,"US adds more jobs than expected 1268 | 1269 | The US economy added 337,000 jobs in October - a seven-month high and far more than Wall Street expectations." 1270 | business,"WorldCom director admits lying 1271 | 1272 | The former chief financial officer at US telecoms firm WorldCom has admitted before a New York court that he used to lie to fellow board members." 1273 | business,"LSE doubts boost bidders' shares 1274 | 1275 | Shares in Deutsche Boerse have risen more than 3% after a shareholder fund voiced opposition to the firm's planned takeover of the London Stock Exchange." 1276 | business,"Google shares fall as staff sell 1277 | 1278 | Shares in Google have fallen 6.7% after employees and early investors in the web search took advantage of the first chance to sell their holdings." 1279 | business,"India unveils anti-poverty budget 1280 | 1281 | India is to boost spending on primary schools and health in a budget flagged as a boost for the ordinary citizen." 1282 | business,"Rover deal 'may cost 2,000 jobs' 1283 | 1284 | Some 2,000 jobs at MG Rover's Midlands plant may be cut if investment in the firm by a Chinese car maker goes ahead, the Financial Times has reported." 1285 | business,"Aids and climate top Davos agenda 1286 | 1287 | Climate change and the fight against Aids are leading the list of concerns for the first day of the World Economic Forum in the Swiss resort of Davos." 1288 | business,"GM, Ford cut output as sales fall 1289 | 1290 | US car firms General Motors (GM) and Ford have been forced to cut production in the face of falling car sales." 1291 | business,"India widens access to telecoms 1292 | 1293 | India has raised the limit for foreign direct investment in telecoms companies from 49% to 74%." 1294 | business,"US trade gap ballooned in October 1295 | 1296 | The US trade deficit widened by more than expected in October, hitting record levels after higher oil prices raised import costs, figures have shown" 1297 | business,"Bush budget seeks deep cutbacks 1298 | 1299 | President Bush has presented his 2006 budget, cutting domestic spending in a bid to lower a record deficit projected to peak at $427bn (£230bn) this year." 1300 | business,"GM in crunch talks on Fiat future 1301 | 1302 | Fiat will meet car giant General Motors (GM) on Tuesday in an attempt to reach agreement over the future of the Italian firm's loss-making auto group." 1303 | business,"German jobless rate at new record 1304 | 1305 | More than 5.2 million Germans were out of work in February, new figures show." 1306 | business,"Hyundai to build new India plant 1307 | 1308 | South Korea's Hyundai Motor has announced that it plans to build a second plant in India to meet the country's growing demand for cars." 1309 | business,"Bargain calls widen Softbank loss 1310 | 1311 | Japanese communications firm Softbank has widened losses after heavy spending on a new cut-rate phone service." 1312 | business,"Market unfazed by Aurora setback 1313 | 1314 | As the Aurora limped back to its dock on 20 January, a blizzard of photos and interviews seemed to add up to an unambiguous tale of woe." 1315 | business,"Europe blames US over weak dollar 1316 | 1317 | European leaders have openly blamed the US for the sharp rise in the value of the euro." 1318 | business,"UK young top Euro earnings league 1319 | 1320 | British children enjoy the highest average annual income in Europe - more than double that of Spanish or Italian youngsters, a report suggests." 1321 | business,"ID theft surge hits US consumers 1322 | 1323 | Almost a quarter of a million US consumers complained of being targeted for identity theft in 2004, official figures suggest." 1324 | business,"Irish duo could block Man Utd bid 1325 | 1326 | Irishmen JP McManus and John Magnier, who own a 29% stake in Manchester United, will reportedly reject any formal £800m offer for the club." 1327 | business,"Ethiopia's crop production up 24% 1328 | 1329 | Ethiopia produced 14.27 million tonnes of crops in 2004, 24% higher than in 2003 and 21% more than the average of the past five years, a report says." 1330 | business,"Latin America sees strong growth 1331 | 1332 | Latin America's economy grew by 5.5% in 2004, its best performance since 1980, while exports registered their best performance in two decades." 1333 | -------------------------------------------------------------------------------- /data/bbc-validate.csv: -------------------------------------------------------------------------------- 1 | tech,"'Evil twin' fear for wireless net 2 | 3 | People using wireless high-speed net (wi-fi) are being warned about fake hotspots, or access points." 4 | tech,"Microsoft makes anti-piracy move 5 | 6 | Microsoft says it is clamping down on people running pirated versions of its Windows operating system by restricting their access to security features." 7 | tech,"Software watching while you work 8 | 9 | Software that can not only monitor every keystroke and action performed at a PC but also be used as legally binding evidence of wrong-doing has been unveiled." 10 | tech,"Gritty return for Prince of Persia 11 | 12 | Still basking in the relatively recent glory of last year's Sands Of Time, the dashing Prince of Persia is back in Warrior Within, and in a more bellicose mood than last time." 13 | tech,"IBM frees 500 software patents 14 | 15 | Computer giant IBM says 500 of its software patents will be released into the open development community." 16 | tech,"Creator of first Apple Mac dies 17 | 18 | Jef Raskin, head of the team behind the first Macintosh computer, has died." 19 | tech,"Looks and music to drive mobiles 20 | 21 | Mobile phones are still enjoying a boom time in sales, according to research from technology analysts Gartner." 22 | tech,"The future in your pocket 23 | 24 | If you are a geek or gadget fan, the next 12 months look like they are going to be a lot of fun." 25 | tech,"Ultra fast wi-fi nears completion 26 | 27 | Ultra high speed wi-fi connections moved closer to reality on Thursday when Intel said it would list standards for the technology later this year." 28 | tech,"DS aims to touch gamers 29 | 30 | The mobile gaming industry is set to explode in 2005 with a number of high-profile devices offering a range of gaming and other features such as movie and music playback. Market leader Nintendo, however, is releasing a handheld console that it says will revolutionise the way games are played." 31 | tech,"EU software patent law delayed 32 | 33 | Controversial new EU rules for the patenting of computer-based inventions have been put on hold due to a last minute intervention from Poland." 34 | tech,"Broadband challenges TV viewing 35 | 36 | The number of Europeans with broadband has exploded over the past 12 months, with the web eating into TV viewing habits, research suggests." 37 | tech,"Fast lifts rise into record books 38 | 39 | Two high-speed lifts at the world's tallest building have been officially recognised as the planet's fastest." 40 | tech,"PlayStation 3 chip to be unveiled 41 | 42 | Details of the chip designed to power Sony's PlayStation 3 console will be released in San Francisco on Monday." 43 | tech,"BT boosts its broadband packages 44 | 45 | British Telecom has said it will double the broadband speeds of most of its home and business customers." 46 | tech,"Blind student 'hears in colour' 47 | 48 | A blind student has developed software that turns colours into musical notes so that he can read weather maps." 49 | tech,"Ask Jeeves joins web log market 50 | 51 | Ask Jeeves has bought the Bloglines website to improve the way it handles content from web journals or blogs." 52 | tech,"Game makers get Xbox 2 sneak peek 53 | 54 | Microsoft has given game makers a glimpse of the new Xbox 2 console." 55 | tech,"Global digital divide 'narrowing' 56 | 57 | The ""digital divide"" between rich and poor nations is narrowing fast, according to a World Bank report." 58 | tech,"File-swappers ready new network 59 | 60 | Legal attacks on websites that help people swap pirated films have forced the development of a system that could be harder to shut down." 61 | tech,"Blog reading explodes in America 62 | 63 | Americans are becoming avid blog readers, with 32 million getting hooked in 2004, according to new research." 64 | tech,"A decade of good website design 65 | 66 | The web looks very different today than it did 10 years ago." 67 | tech,"Net fingerprints combat attacks 68 | 69 | Eighty large net service firms have switched on software to spot and stop net attacks automatically." 70 | tech,"Mobile music challenges 'iPod age' 71 | 72 | Nokia and Microsoft have agreed a deal to work on delivery of music to handsets, while Sony Ericsson has unveiled its phone Walkman and Motorola is working on an iTunes phone." 73 | tech,"Satellite mapping aids Darfur relief 74 | 75 | Aid workers trying to house, feed and clothe millions of homeless refugees in the Sudanese region of Darfur are getting a helping hand from advanced mapping technology." 76 | tech,"Digital guru floats sub-$100 PC 77 | 78 | Nicholas Negroponte, chairman and founder of MIT's Media Labs, says he is developing a laptop PC that will go on sale for less than $100 (£53)." 79 | tech,"Web photo storage market hots up 80 | 81 | An increasing number of firms are offering web storage for people with digital photo collections." 82 | tech,"Firefox browser takes on Microsoft 83 | 84 | Microsoft's Internet Explorer has a serious rival in the long-awaited Firefox 1.0 web browser, which has just been released." 85 | tech,"Call for action on internet scam 86 | 87 | Phone companies are not doing enough to warn customers about internet ""rogue-dialling"" scams, according to premium phone line regulator Icstis." 88 | tech,"DVD copy protection strengthened 89 | 90 | DVDs will be harder to copy thanks to new anti-piracy measures devised by copy protection firm Macrovision." 91 | tech,"Slimmer PlayStation triple sales 92 | 93 | Sony PlayStation 2's slimmer shape has proved popular with UK gamers, with 50,000 sold in its first week on sale." 94 | tech,"Search sites get closer to users 95 | 96 | Search sites want to get to know you better." 97 | tech,"Camera phones are 'must-haves' 98 | 99 | Four times more mobiles with cameras in them will be sold in Europe by the end of 2004 than last year, says a report from analysts Gartner." 100 | tech,"Attack prompts Bush site block 101 | 102 | The official re-election site of President George W Bush is blocking visits from overseas users for ""security reasons""." 103 | tech,"Gamers snap up new Sony PSP 104 | 105 | Gamers have bought almost all of the first batch of Sony's new PlayStation Portable (PSP) games console, which went on sale in Japan on Sunday." 106 | tech,"Supercomputer breaks speed record 107 | 108 | The US is poised to push Japan off the top of the supercomputing chart with IBM's prototype Blue Gene/L machine." 109 | tech,"Putting a face to 'Big Brother' 110 | 111 | Literally putting a face on technology could be one of the keys to improving our interaction with hi-tech gadgets." 112 | tech,"More power to the people says HP 113 | 114 | The digital revolution is focused on letting people tell and share their own stories, according to Carly Fiorina, chief of technology giant Hewlett Packard." 115 | tech,"Commodore finds new lease of life 116 | 117 | The once-famous Commodore computer brand could be resurrected after being bought by a US-based digital music distributor." 118 | tech,"Mobiles rack up 20 years of use 119 | 120 | Mobile phones in the UK are celebrating their 20th anniversary this weekend." 121 | tech,"'No re-draft' for EU patent law 122 | 123 | A proposed European law on software patents will not be re-drafted by the European Commission (EC) despite requests by MEPs." 124 | tech,"Microsoft makes anti-piracy move 125 | 126 | Microsoft says it is clamping down on people running pirated versions of its Windows operating system by restricting their access to security features." 127 | tech,"Napster offers rented music to go 128 | 129 | Music downloading, for those that have rejected the free peer to peer services, can be a costly business." 130 | tech,"2D Metal Slug offers retro fun 131 | 132 | Like some drill sergeant from the past, Metal Slug 3 is a wake-up call to today's gamers molly-coddled with slick visuals and fancy trimmings." 133 | tech,"Virus poses as Christmas e-mail 134 | 135 | Security firms are warning about a Windows virus disguising itself as an electronic Christmas card." 136 | tech,"Lasers help bridge network gaps 137 | 138 | An Indian telecommunications firm has turned to lasers to help it overcome the problems of setting up voice and data networks in the country." 139 | tech,"Mobile picture power in your pocket 140 | 141 | How many times have you wanted to have a camera to hand to catch an unexpected event that would make headlines?" 142 | tech,"What price for 'trusted PC security'? 143 | 144 | You can now buy ""trusted computers"", but can we really trust the PC vendors, asks technology analyst Bill Thompson." 145 | tech,"Microsoft seeking spyware trojan 146 | 147 | Microsoft is investigating a trojan program that attempts to switch off the firm's anti-spyware software." 148 | tech,"Anti-tremor mouse stops PC shakes 149 | 150 | A special adaptor that helps people with hand tremors control a computer mouse more easily has been developed." 151 | tech,"Viewers to be able to shape TV 152 | 153 | Imagine editing Titanic down to watch just your favourite bits or cutting out the slushier moments of Star Wars to leave you with a bare bones action-fest." 154 | tech,"US peer-to-peer pirates convicted 155 | 156 | The first convictions for piracy over peer-to-peer networks have been handed down in the US." 157 | tech,"Musical future for phones 158 | 159 | Analyst Bill Thompson has seen the future and it is in his son's hands." 160 | tech,"Savvy searchers fail to spot ads 161 | 162 | Internet search engine users are an odd mix of naive and sophisticated, suggests a report into search habits." 163 | tech,"Sony PSP handheld console hits US 164 | 165 | The latest handheld gaming gadget, Sony's PlayStation Portable, goes on sale in the US on Thursday." 166 | tech,"Piero gives rugby perspective 167 | 168 | BBC Sport unveils its new analysis tool Piero at the Wales v England rugby union match on Saturday. But what does it do and how does it work?" 169 | tech,"ITunes user sues Apple over iPod 170 | 171 | A user of Apple's iTunes music service is suing the firm saying it is unfair he can only use an iPod to play songs." 172 | tech,"Mobile TV tipped as one to watch 173 | 174 | Scandinavians and Koreans, two of the most adventurous groups of mobile users, are betting on mobile TV." 175 | tech,"Progress on new internet domains 176 | 177 | By early 2005 the net could have two new domain names." 178 | tech,"Consumers 'snub portable video' 179 | 180 | Consumers want music rather than movies while on the move, says a report." 181 | tech,"US woman sues over ink cartridges 182 | 183 | A US woman is suing Hewlett Packard (HP), saying its printer ink cartridges are secretly programmed to expire on a certain date." 184 | tech,"Search wars hit desktop PCs 185 | 186 | Another front in the on-going battle between Microsoft and Google is about to be opened." 187 | tech,"What high-definition will do to DVDs 188 | 189 | First it was the humble home video, then it was the DVD, and now Hollywood is preparing for the next revolution in home entertainment - high-definition." 190 | tech,"Napster offers rented music to go 191 | 192 | Music downloading, for those that have rejected the free peer to peer services, can be a costly business." 193 | tech,"Games help you 'learn and play' 194 | 195 | 'God games' in which players must control virtual people and societies could be educational, says research." 196 | tech,"Spam e-mails tempt net shoppers 197 | 198 | Computer users across the world continue to ignore security warnings about spam e-mails and are being lured into buying goods, a report suggests." 199 | tech,"Britons fed up with net service 200 | 201 | A survey conducted by PC Pro Magazine has revealed that many Britons are unhappy with their internet service." 202 | tech,"PC photo printers challenge pros 203 | 204 | Home printed pictures can be cheaper and higher quality than those from High Street developers, tests shows." 205 | tech,"Big war games battle it out 206 | 207 | The arrival of new titles in the popular Medal Of Honor and Call of Duty franchises leaves fans of wartime battle titles spoilt for choice." 208 | tech,"US state acts to stop 'spammers' 209 | 210 | US state Texas has filed a lawsuit against two men believed to be among the world's top five spammers." 211 | tech,"Gadget market 'to grow in 2005' 212 | 213 | The explosion in consumer technology is to continue into 2005, delegates at the world's largest gadget show, in Las Vegas, have been told." 214 | tech,"Movie body hits peer-to-peer nets 215 | 216 | The movie industry has struck out at file-sharing networks with another round of lawsuits in the US." 217 | tech,"UK pioneers digital film network 218 | 219 | The world's first digital cinema network will be established in the UK over the next 18 months." 220 | tech,"Camera phones are 'must-haves' 221 | 222 | Four times more mobiles with cameras in them will be sold in Europe by the end of 2004 than last year, says a report from analysts Gartner." 223 | tech,"US blogger fired by her airline 224 | 225 | A US airline attendant suspended over ""inappropriate images"" on her blog - web diary - says she has been fired." 226 | tech,"Gangsters dominate gaming chart 227 | 228 | Video games on consoles and computers proved more popular than ever in 2004." 229 | tech,"Doors open at biggest gadget fair 230 | 231 | Thousands of technology lovers and industry experts have gathered in Las Vegas for the annual Consumer Electronics Show (CES)." 232 | tech,"Apple sues to stop product leaks 233 | 234 | Computer firm Apple has issued a lawsuit to prevent online leaks of information about future products." 235 | tech,"Microsoft launches its own search 236 | 237 | Microsoft has unveiled the finished version of its home-grown search engine." 238 | tech,"Voters flock to blog awards site 239 | 240 | Voting is under way for the annual Bloggies which recognise the best web blogs - online spaces where people publish their thoughts - of the year." 241 | sport,"Johnson uncertain about Euro bid 242 | 243 | Jade Johnson is undecided about whether to contest next month's European Indoor Championships in Madrid despite winning the AAAs long jump title on Saturday." 244 | sport,"Henson stakes early Lions claim 245 | 246 | The Six Nations may be a glittering prize in itself but every player from the four Home Unions will also have one eye on a possible trip to New Zealand with the Lions this summer." 247 | sport,"Wilkinson to lead England 248 | 249 | Fly-half Jonny Wilkinson has been named as England's new rugby union captain for the three November Tests." 250 | sport,"Federer forced to dig deep 251 | 252 | Top seed Roger Federer had to save two match points before squeezing past Juan Carlos Ferrero at the Dubai Open." 253 | sport,"Mourinho plots impressive course 254 | 255 | Chelsea's win at Fulham - confirming their position at the Premiership summit - proves that they now have everything in place to mount serious challenges on all fronts this season." 256 | sport,"Campbell rescues Arsenal 257 | 258 | Sol Campbell proved to be an unlikely match-winner to earn Arsenal a hard-fought win at Portsmouth." 259 | sport,"Llewellyn plans Wales retirement 260 | 261 | Wales record cap holder Gareth Llewellyn will retire from Test rugby at the end of the Six Nations." 262 | sport,"Hewitt falls to Dent in Adelaide 263 | 264 | Lleyton Hewitt suffered a shock defeat to Taylor Dent in the quarter-finals of the Australian Hardcourt Championships in Adelaide on Friday." 265 | sport,"Dogged Federer claims Dubai crown 266 | 267 | World number one Roger Federer added the Dubai Championship trophy to his long list of successes - but not before he was given a test by Ivan Ljubicic." 268 | sport,"GB select Holmes for double bid 269 | 270 | Kelly Holmes has been chosen for both the 800m and 1500m at next month's European Indoor Championships - despite not yet confirming her availability." 271 | sport,"Faultless Federer has no equal 272 | 273 | Roger Federer - nice bloke, fantastic tennis player - the ultimate sportsman." 274 | sport,"Moody joins up with England 275 | 276 | Lewis Moody has flown to Dublin to join England's camp ahead of their RBS Six Nations game against Ireland on Sunday." 277 | sport,"Costin aims for comeback in 2006 278 | 279 | Jamie Costin should be paralysed." 280 | sport,"England coach faces rap after row 281 | 282 | England coach Andy Robinson is facing disciplinary action after criticising referee Jonathan Kaplan in his side's Six Nations defeat to Ireland." 283 | sport,"Rush future at Chester uncertain 284 | 285 | Ian Rush's future as Chester manager is uncertain after he and assistant Mark Aizlewood refused a severance package." 286 | sport,"Spain coach faces racism inquiry 287 | 288 | Spain's Football Federation has initiated disciplinary action against national coach Luis Aragones over racist comments about Thierry Henry." 289 | sport,"Stam spices up Man Utd encounter 290 | 291 | AC Milan defender Jaap Stam says Manchester United ""know they made a mistake"" by selling him in 2001." 292 | sport,"Prodigy Monfils blows away Gaudio 293 | 294 | French prodigy Gael Monfils underlined his huge promise by beating French Open champion Gaston Gaudio 6-4 7-6 (7-4) in the first round of the Qatar Open." 295 | sport,"Old Firm pair handed suspensions 296 | 297 | Celtic's Henri Camara and Nacho Novo of Rangers have both been suspended for offences missed by the referee in a recent Old Firm game." 298 | sport,"Merritt close to indoor 400m mark 299 | 300 | Teenager LaShawn Merritt ran the third fastest indoor 400m of all time at the Fayetteville Invitational meeting." 301 | sport,"Gardener battles to narrow win 302 | 303 | Jason Gardener fought all the way to the line to narrowly claim the men's 60m title at the Norwich Union Indoor trials and AAAs Championships." 304 | sport,"Preview: Ireland v England (Sun) 305 | 306 | Lansdowne Road, Dublin" 307 | sport,"Williams says he will never quit 308 | 309 | Defiant Matt Williams says he will not quit as Scotland coach even if his side slump to a new low with defeat by Italy at Murrayfield." 310 | sport,"Owen set for skipper role 311 | 312 | Wales number eight Michael Owen says replacing Gareth Thomas as Wales' captain will be straightforward because of the leadership quality in the squad." 313 | sport,"Greek sprinters suspended by IAAF 314 | 315 | Greek sprinters Kostas Kenteris and Katerina Thanou have been suspended after failing to take drugs tests before the Athens Olympics." 316 | sport,"Newcastle 27-27 Gloucester 317 | 318 | Newcastle centre Mathew Tait answered his critics as he scored one try and made another, but he could not stop Gloucester grabbing a draw." 319 | sport,"Butler strikes gold in Spain 320 | 321 | Britain's Kathy Butler continued her impressive year with victory in Sunday's 25th Cross Internacional de Venta de Banos in Spain." 322 | sport,"Bortolami predicts dour contest 323 | 324 | Italy skipper Marco Bortolami believes Saturday's Six Nations contest against Scotland will be a scrappy encounter." 325 | sport,"Adriano's Chelsea link rejected 326 | 327 | Adriano's agent Gilmar Rinaldi has insisted that he has had no contact with Chelsea over the striker." 328 | sport,"A November to remember 329 | 330 | Last Saturday, one newspaper proclaimed that England were still the number one side in the world." 331 | sport,"Dawson wins England squad recall 332 | 333 | Wasps scrum-half Matt Dawson has been recalled to England's training squad ahead of the RBS Six Nations and been reinstated in the Elite Player Squad." 334 | sport,"Benitez delight after crucial win 335 | 336 | Liverpool manager Rafael Benitez admitted victory against Deportivo La Coruna was vital in their tight Champions League group." 337 | sport,"Holmes urged to compete at Worlds 338 | 339 | Jolanda Ceplak has urged Britain's Kelly Holmes to continue competing at the major championships." 340 | sport,"Robben and Cole earn Chelsea win 341 | 342 | Cheslea salvaged a win against a battling Portsmouth side just as it looked like the Premiership leaders would have to settle for a point." 343 | sport,"Bellamy under new fire 344 | 345 | Newcastle boss Graeme Souness has reopened his dispute with Craig Bellamy after claiming the Welshman was ""not good enough"" for the Magpies. Bellamy left Newcastle to join Celtic on loan after a major row with Souness. Souness - who refused to refer to the 25-year-old by name - said Bellamy did not score enough goals ""The chap that's just gone has scored 9.3 goals a season in his time in senior football - half of those weren't even in the top flight,"" said Souness. ""That's not good enough for a striker at a club like this. ""We need to have two strikers who are near 20 goals on a regular basis.""" 346 | sport,"Clijsters set for February return 347 | 348 | Tennis star Kim Clijsters will make her return from a career-threatening injury at the Antwerp WTA event in February." 349 | sport,"Campbell lifts lid on United feud 350 | 351 | Arsenal's Sol Campbell has called the rivalry between Manchester United and the Gunners ""bitter and personal""." 352 | sport,"Collins named UK Athletics chief 353 | 354 | UK Athletics has ended its search for a new performance director by appointing psychologist Dave Collins." 355 | sport,"Cole refuses to blame van Persie 356 | 357 | Ashley Cole has refused to blame Robin van Persie for leaving Arsenal with no fully-fit strikers for the FA Cup fifth round replay at Sheffield United." 358 | sport,"Jansen suffers a further setback 359 | 360 | Blackburn striker Matt Jansen faces three weeks out after surgery to treat a cartilage problem." 361 | sport,"Williams battles to Aussie title 362 | 363 | Serena Williams staged a remarkable recovery to beat Lindsay Davenport and win her second Australian Open title." 364 | sport,"Duff ruled out of Barcelona clash 365 | 366 | Chelsea's Damien Duff has been ruled out of Wednesday's Champions League clash with Barcelona at the Nou Camp." 367 | sport,"England's defensive crisis grows 368 | 369 | England's defensive worries have deepened following the withdrawal of Tottenham's Ledley King from the squad to face Holland." 370 | sport,"Ferguson puts faith in youngsters 371 | 372 | Manchester United manager Sir Alex Ferguson said he has no regrets after his second-string side lost 3-0 away at Fenerbahce in the Champions League." 373 | sport,"QPR keeper Day heads for Preston 374 | 375 | Queens Park Rangers keeper Chris Day is set to join Preston on a month's loan." 376 | sport,"Wenger handed summer war chest 377 | 378 | Arsenal boss Arsene Wenger has been guaranteed transfer funds to boost his squad the summer." 379 | sport,"Houllier praises Benitez regime 380 | 381 | Former Liverpool manager Gerard Houllier has praised the work of his Anfield successor Rafael Benitez." 382 | sport,"Smith aims to bring back respect 383 | 384 | Scotland manager Walter Smith says he wants to restore the national team's respectability in world football." 385 | sport,"Connors' rallying cry for British tennis 386 | 387 | ""Do you have it in your heart? How much guts do you have? How much do you hate to lose?""" 388 | sport,"Ronaldo considering new contract 389 | 390 | Manchester United winger Cristiano Ronaldo said he is close to agreeing to a new contract at Old Trafford." 391 | sport,"Greek pair set for hearing 392 | 393 | Kostas Kenteris and Katerina Thanou will fight the provisional two-year bans imposed on them by the IAAF at an independent tribunal this weekend." 394 | sport,"Almagro continues Spanish surge 395 | 396 | Unseeded Nicolas Almagro became the fifth Spaniard to reach the last eight at the Buenos Aires Open, ousting eighth seed Mariano Zabaleta." 397 | sport,"Johnson too strong for GB runners 398 | 399 | Britain's Kathy Butler and Hayley Yelling were no match for Benita Johnson in the 51st Cross International Zornotza in Amorebieta, Spain." 400 | sport,"McLeish ready for criticism 401 | 402 | Rangers manager Alex McLeish accepts he is going to be criticised after their disastrous Uefa Cup exit at the hands of Auxerre at Ibrox on Wednesday." 403 | sport,"Redknapp poised for Saints 404 | 405 | Southampton are set to unveil Harry Redknapp as their new manager at a news conference at 1500 GMT on Wednesday." 406 | sport,"Hansen 'delays return until 2006' 407 | 408 | British triple jumper Ashia Hansen has ruled out a comeback this year after a setback in her recovery from a bad knee injury, according to reports." 409 | sport,"Greek pair attend drugs hearing 410 | 411 | Greek sprinters Kostas Kenteris and Katerina Thanou have appeared before an independent tribunal which will decide if their bans should stand." 412 | sport,"Souness backs Smith for Scotland 413 | 414 | Graeme Souness believes Walter Smith would be the perfect choice to succeed Berti Vogts as Scotland manager." 415 | sport,"Ferrero eyes return to top form 416 | 417 | Former world number one Juan Carlos Ferrero insists he can get back to his best despite a tough start to 2005." 418 | sport,"Saint-Andre anger at absent stars 419 | 420 | Sale Sharks director of rugby Philippe Saint-Andre has re-opened rugby's club-versus-country debate." 421 | sport,"Greene sets sights on world title 422 | 423 | Maurice Greene aims to wipe out the pain of losing his Olympic 100m title in Athens by winning a fourth World Championship crown this summer." 424 | sport,"Scots suffer another injury blow 425 | 426 | Scotland's back row crisis has worsened ahead of the RBS Six Nations with news that Scott Gray will miss out on the opening matches." 427 | sport,"O'Driscoll out of Scotland game 428 | 429 | Ireland captain Brian O'Driscoll has been ruled out of Saturday's RBS Six Nations clash against Scotland." 430 | sport,"Wright-Phillips to start on right 431 | 432 | England coach Sven-Goran Eriksson has revealed Shaun Wright-Phillips will start against the Netherlands." 433 | sport,"Jones happy with Henson heroics 434 | 435 | Wales fly-half Stephen Jones admitted he was happy to hand Gavin Henson responsibility for taking the match-winning kick against England." 436 | sport,"Edu describes tunnel fracas 437 | 438 | Arsenal's Edu has lifted the lid on the scenes that followed Manchester United's win over the Gunners." 439 | sport,"Bath faced with Tindall ultimatum 440 | 441 | Mike Tindall's agent has warned Bath they have until next week to improve their contract offer to the England man or risk losing him to a rival club." 442 | sport,"Calder fears for Scottish rugby 443 | 444 | Former Scotland international Finlay Calder fears civil war at the SRU could seriously hamper his country's RBS Six Nations campaign." 445 | sport,"Safin relieved at Aussie recovery 446 | 447 | Marat Safin admitted he thought he was suffering another Australian Open final nightmare when he lost the opening set to Lleyton Hewitt." 448 | sport,"Campbell to extend sprint career 449 | 450 | Darren Campbell has set his sights on running quicker than ever after deciding not to retire from sprinting." 451 | sport,"Palace threat over Cantona masks 452 | 453 | Manchester United fans wearing Eric Cantona masks will not be allowed in Selhurst Park on Saturday." 454 | sport,"Ireland v USA (Sat) 455 | 456 | Saturday 20 November" 457 | sport,"Hewitt survives Nalbandian epic 458 | 459 | Home favourite Lleyton Hewitt came through a dramatic five-set battle with Argentine David Nalbandian to reach the Australian Open semi-finals." 460 | sport,"Clijsters hope on Aussie Open 461 | 462 | Kim Clijsters has denied reports that she has pulled out of January's Australian Open because of her persistent wrist injury." 463 | sport,"Parry relishes Anfield challenge 464 | 465 | BBC Sport reflects on the future for Liverpool after our exclusive interview with chief executive Rick Parry." 466 | sport,"Mourinho expects fight to finish 467 | 468 | Chelsea manager Jose Mourinho expects the Champions League clash with Barcelona to be a fight to the finish." 469 | sport,"Parker misses England clash 470 | 471 | Tom Shanklin will start in the centre for Wales against England in Cardiff on Saturday after Sonny Parker failed to recover from a trapped neck nerve." 472 | sport,"Clyde 0-5 Celtic 473 | 474 | Celtic brushed aside Clyde to secure their place in the Scottish Cup semi-final, but only after a nervy and testing first half." 475 | sport,"Kuznetsova 'failed a drugs test' 476 | 477 | US Open champion Svetlana Kuznetsova has tested positive for a banned drug, according to Belgian authorities." 478 | sport,"White prepared for battle 479 | 480 | Tough-scrummaging prop Julian White is expecting a resurgent Wales to give him a rough ride in England's Six Nations opener in Cardiff on Saturday." 481 | sport,"Ref stands by Scotland decisions 482 | 483 | The referee from Saturday's France v Scotland Six Nations match has defended the officials' handling of the game after criticism by Matt Williams." 484 | sport,"TV calls after Carroll error 485 | 486 | Spurs boss Martin Jol said his team were ""robbed"" at Manchester United after Pedro Mendes' shot clearly crossed the line but was not given." 487 | sport,"Tigers wary of Farrell 'gamble' 488 | 489 | Leicester say they will not be rushed into making a bid for Andy Farrell should the Great Britain rugby league captain decide to switch codes." 490 | sport,"Umaga ready for Lions 491 | 492 | All Blacks captain Tama Umaga has warned the British and Irish Lions will be his most fearsome opponents yet ahead of their summer tour." 493 | sport,"Liverpool pledge to keep Gerrard 494 | 495 | Liverpool chief executive Rick Parry insists the club will never sell Steven Gerrard amid reports Chelsea will renew their bid to lure him from Anfield." 496 | sport,"Lewsey puzzle over disallowed try 497 | 498 | England's Josh Lewsey has claimed he was denied a late try in his side's Six Nations loss to Ireland." 499 | sport,"Johansson takes Adelaide victory 500 | 501 | Second seed Joachim Johansson won his second career title with a 7-5 6-3 win over Taylor Dent at the Australian hardcourt championships in Adelaide." 502 | sport,"Blues slam Blackburn over Savage 503 | 504 | Birmingham have confirmed Blackburn made a bid for Robbie Savage - but managing director Karen Brady has called it ""derisory""." 505 | sport,"Dent continues Adelaide progress 506 | 507 | American Taylor Dent reached the final of the Australian hardcourt event in Adelaide with a crushing 6-1 6-1 win over Argentine Juan Ignacio Chela." 508 | sport,"Real in talks over Gravesen move 509 | 510 | Real Madrid are closing in on a £2m deal for Everton's Thomas Gravesen after the Dane's agent travelled to Spain to hold talks about a move." 511 | sport,"Davenport hits out at Wimbledon 512 | 513 | World number one Lindsay Davenport has criticised Wimbledon over the issue of equal prize money for women." 514 | sport,"Classy Henman makes winning start 515 | 516 | Tim Henman opened his 2005 campaign with a 6-1 7-5 victory over Argentine David Nalbandian at the Kooyong Classic exhibition tournament on Wednesday." 517 | sport,"Celts savour Grand Slam prospect 518 | 519 | The Six Nations has heralded a new order in northern hemisphere rugby this year and Wales and Ireland rather than traditional big guns France and England face a potential Grand Slam play-off in three weeks' time." 520 | sport,"Radcliffe proves doubters wrong 521 | 522 | This won't go down as one of the greatest marathons of Paula's career. But as a test of character, it was the toughest race she's ever taken part in." 523 | sport,"Kenya lift Chepkemei's suspension 524 | 525 | Kenya's athletics body has reversed a ban on marathon runner Susan Chepkemei after she made an official apology." 526 | sport,"Wilkinson fit to face Edinburgh 527 | 528 | England captain Jonny Wilkinson will make his long-awaited return from injury against Edinburgh on Saturday." 529 | sport,"Finnan says Irish can win group 530 | 531 | Steve Finnan believes the Republic of Ireland can qualify directly for the World Cup finals." 532 | sport,"Mutu to hold talks with Juventus 533 | 534 | Disgraced former Chelsea striker Adrian Mutu is to begin talks with Juventus as he looks for a new club." 535 | sport,"Arsenal through on penalties 536 | 537 | Arsenal win 4-2 on penalties" 538 | sport,"Poll explains free-kick decision 539 | 540 | Referee Graham Poll said he applied the laws of the game in allowing Arsenal striker Thierry Henry's free-kick in Sunday's 2-2 draw with Chelsea." 541 | sport,"Gebrselassie in London triple bid 542 | 543 | Double Olympic 10,000m champion Haile Gebrselassie will race in the London Marathon for the next three years." 544 | sport,"Jones files lawsuit against Conte 545 | 546 | Marion Jones has filed a lawsuit for defamation against Balco boss Victor Conte following his allegations that he gave her performance-enhancing drugs." 547 | politics,"No to Royal succession shake-up 548 | 549 | A Labour peer has withdrawn proposals to give female members of the Royal Family the same rights as males." 550 | politics,"Tory 'stalking horse' Meyer dies 551 | 552 | Sir Anthony Meyer, the Tory backbencher who challenged Margaret Thatcher for the party leadership in 1989, has died." 553 | politics,"UK rebate 'unjustified' - Chirac 554 | 555 | French president Jacques Chirac has called the UK's £3bn rebate from the European Union ""unjustified""." 556 | politics,"Blair dismisses quit claim report 557 | 558 | Tony Blair has dismissed reports he told Gordon Brown he would quit before the next general election." 559 | politics,"More reforms ahead says Milburn 560 | 561 | Labour will continue to pursue controversial reforms if it wins a third term in power, the party's election chief Alan Milburn has said." 562 | politics,"Sainsbury's Labour election gift 563 | 564 | Science Minister Lord Sainsbury has made a £2m donation to the Labour Party for its General Election fund." 565 | politics,"MPs to debate 'euthanasia laws' 566 | 567 | MPs are preparing to debate a bill which critics claim would legalise euthanasia ""by the back door""." 568 | politics,"Lib Dems highlight problem debt 569 | 570 | People vulnerable to problem debts should be afforded greater protection from banks aggressively promoting financial products, the Lib Dems say." 571 | politics,"Kennedy calls for Iraq exit plans 572 | 573 | Tony Blair should set out a proper exit strategy from Iraq in the wake of next Sunday's elections in the country, Lib Dem leader Charles Kennedy has said." 574 | politics,"Labour's Cunningham to stand down 575 | 576 | Veteran Labour MP and former Cabinet minister Jack Cunningham has said he will stand down at the next election." 577 | politics,"Clarke to unveil immigration plan 578 | 579 | New controls on economic migrants and tighter border patrols will be part of government plans unveiled on Monday." 580 | politics,"Labour MPs' fears over squabbling 581 | 582 | If there is one thing certain to stiffen the spines of Labour MPs it is the prospect of losing their seats at a general election." 583 | politics,"Petrol duties frozen, Brown says 584 | 585 | Chancellor Gordon Brown has announced a freeze on fuel duty in his pre-budget speech to the Commons on Thursday." 586 | politics,"Blair dismisses quit claim report 587 | 588 | Tony Blair has dismissed reports he told Gordon Brown he would quit before the next general election." 589 | politics,"Straw to attend Auschwitz service 590 | 591 | Foreign Secretary Jack Straw will visit Auschwitz for the 60th anniversary of the former Nazi concentration camp's liberation, it has been announced." 592 | politics,"EU China arms ban 'to be lifted' 593 | 594 | The EU embargo on arms exports to China is likely to be lifted in the next six months despite US objections, UK Foreign Secretary Jack Straw has said." 595 | politics,"Kennedy predicts bigger turnout 596 | 597 | Voters' ""pent up passion"" could confound predictions of a low turnout in the coming general election, Charles Kennedy has said." 598 | politics,"Labour in constituency race row 599 | 600 | Labour's choice of a white candidate for one of the UK's most multi-racial seats proves the need for all-black short lists, says a race group." 601 | politics,"TV debate urged for party chiefs 602 | 603 | Broadcasters should fix a date for a pre-election televised debate between the three main political leaders, according to the Hansard Society." 604 | politics,"Protesters plan airport challenge 605 | 606 | Campaigners against the expansion of Britain's airports have begun challenging the government's plans in the High Court." 607 | politics,"Kilroy launches 'Veritas' party 608 | 609 | Ex-BBC chat show host and East Midlands MEP Robert Kilroy-Silk said he wanted to ""change the face of British politics"" as he launched his new party. Mr Kilroy-Silk, who recently quit the UK Independence Party, said ""our country"" was being ""stolen from us"" by mass immigration. He told a London news conference that Veritas - Latin for ""truth"" - would avoid the old parties' ""lies and spin"". UKIP leader Roger Knapman says he is glad to see the back of Mr Kilroy-Silk." 610 | politics,"Asylum children to face returns 611 | 612 | The UK government is planning to return asylum seeker children without parents to Albania." 613 | politics,"Howard hits back at mongrel jibe 614 | 615 | Michael Howard has said a claim by Peter Hain that the Tory leader is acting like an ""attack mongrel"" shows Labour is ""rattled"" by the opposition." 616 | politics,"MPs' murder sentence concern 617 | 618 | Murder sentences should not be reduced automatically simply because of a guilty plea, says a new MPs' report." 619 | politics,"Act on detention ruling, UK urged 620 | 621 | The government must act quickly on the Law Lords' ruling that detention of foreign terror suspects without trial is unlawful, Mary Robinson has said." 622 | politics,"Labour accused of 'EU propaganda' 623 | 624 | A ""taxpayer subsidised propaganda exercise"" on the EU is being used to lull the British public into a false sense of security, say the Tories." 625 | politics,"Kennedy questions trust of Blair 626 | 627 | Lib Dem leader Charles Kennedy has said voters now have a ""fundamental lack of trust"" of Tony Blair as prime minister." 628 | politics,"Drive to 'save' festive holidays 629 | 630 | Efforts are being made to 'protect' workers' days off on Christmas Day and New Year's Day." 631 | politics,"What really divides the parties 632 | 633 | So what is the gap between Labour and the Tories nowadays?" 634 | politics,"EU fraud clampdown urged 635 | 636 | EU member states are failing to report fraud and irregularities in EU funds on a consistent basis, the UK's public spending watchdog has said." 637 | politics,"Security papers 'found in street' 638 | 639 | An inquiry is under way after files containing security details about the Pakistani president's visit to London were found by a member of the public." 640 | politics,"Parties warned over 'grey vote' 641 | 642 | Political parties cannot afford to take older UK voters for granted in the coming election, says Age Concern." 643 | politics,"Hatfield executives go on trial 644 | 645 | Engineering firm Balfour Beatty and five railway managers are to go on trial for manslaughter over the Hatfield rail crash in 2000." 646 | politics,"Lib Dems target the student vote 647 | 648 | Students can decide the fate of MPs in some seats at the next election, Liberal Democrat leader Charles Kennedy has claimed." 649 | politics,"Minimum rate for foster parents 650 | 651 | Foster carers are to be guaranteed a minimum allowance to help cover their costs, the government has announced." 652 | politics,"MPs issued with Blackberry threat 653 | 654 | MPs will be thrown out of the Commons if they use Blackberries in the chamber Speaker Michael Martin has ruled." 655 | politics,"Regiments' group in poll move 656 | 657 | A regiments' campaign group is to target nine marginal Labour seats at the General Election." 658 | politics,"Ministers lose slopping out case 659 | 660 | The Scottish Executive has lost an appeal against an inmate's compensation for being forced to slop out in prison." 661 | politics,"Malik rejects all-black MP lists 662 | 663 | A call for ethnic minority shortlists to boost the number of black and Asian MPs has been rejected by one of Labour's most senior Asians." 664 | politics,"Labour pig poster 'anti-Semitic' 665 | 666 | The Labour Party has been accused of anti-Semitism over a poster depicting Michael Howard and Oliver Letwin - who are both Jewish - as flying pigs." 667 | politics,"Brown shrugs off economy fears 668 | 669 | Gordon Brown is to freeze petrol duty increases, fund a £1bn package to avoid big council tax rises and boost childcare and maternity leave." 670 | politics,"Ministers deny care sums 'wrong' 671 | 672 | Ministers have insisted they are committed to free personal care for the elderly despite research suggesting the cost of the policy was under-estimated." 673 | politics,"Anglers 'could face prosecution' 674 | 675 | Anglers and fishermen could find themselves prosecuted under plans to crack down on animal cruelty, a committee of MPs has warned." 676 | politics,"Hague 'given up' his PM ambition 677 | 678 | Former Conservative leader William Hague says he will not stand for the leadership again, having given up his ambition to be prime minister." 679 | politics,"How political squabbles snowball 680 | 681 | It's become commonplace to argue that Blair and Brown are like squabbling school kids and that they (and their supporters) need to grow up and stop bickering." 682 | politics,"'Few ready' for information act 683 | 684 | Thousands of public bodies are ill-prepared for the Freedom of Information Act, due to come into force next month, because of government failures, say MPs." 685 | politics,"Women MPs reveal sexist taunts 686 | 687 | Women MPs endure ""shocking"" levels of sexist abuse at the hands of their male counterparts, a new study shows." 688 | politics,"E-University 'disgraceful waste' 689 | 690 | A failed government scheme to offer UK university courses online has been branded a ""disgraceful waste"" by MPs." 691 | politics,"Gurkhas to help tsunami victims 692 | 693 | Britain has offered to send a company of 120 Gurkhas to assist with the tsunami relief effort in Indonesia, Downing Street said." 694 | politics,"'UK will stand firm on EU rebate' 695 | 696 | Britain's £3bn EU rebate is not up for renegotiation at next week's European Council summit, Jack Straw said." 697 | politics,"Hewitt decries 'career sexism' 698 | 699 | Plans to extend paid maternity leave beyond six months should be prominent in Labour's election manifesto, the Trade and Industry Secretary has said." 700 | politics,"Analysis: No pain, no gain? 701 | 702 | He called it his ""masochism strategy"" in the run-up to the Iraq war and now Tony Blair has signed up for another dose of pain." 703 | politics,"MP's shock at long lost daughter 704 | 705 | Labour MP Stephen Pound has told of his shock and his joy on learning he fathered a daughter when he was ""out of control"" during the ""wild"" 1960s." 706 | politics,"Election deal faltered over Heath role 707 | 708 | The Tories failed to hold onto power in 1974 after Liberals demanded Sir Edward Heath quit in return for co-operation." 709 | politics,"Police chief backs drinking move 710 | 711 | A chief constable has backed the introduction of 24-drinking, saying police had a responsibility to ensure people could benefit from a law change." 712 | politics,"Parliament's record of scandal 713 | 714 | In a locked room at the heart of Parliament there is a hive of scandal." 715 | politics,"Kennedy criticises 'unfair' taxes 716 | 717 | Gordon Brown has failed to tackle the ""fundamental unfairness"" in the tax system in his ninth Budget, Charles Kennedy has said." 718 | politics,"Lib Dems demand new inquiry 719 | 720 | A judge should look into the David Blunkett controversy as key questions remain unanswered, the Lib Dems say." 721 | politics,"Labour trio 'had vote-rig factory' 722 | 723 | Three Labour councillors in Birmingham were caught operating a ""vote-rigging factory"", an Election Court has heard." 724 | politics,"Blair defends terror law changes 725 | 726 | The prime minister has defended measures to allow house arrest without trial, saying ""several hundred"" people in the UK are plotting terror attacks." 727 | politics,"Bid to cut court witness stress 728 | 729 | New targets to reduce the stress to victims and witnesses giving evidence in courts in England and Wales have been announced by the lord chancellor." 730 | politics,"Former NI minister Scott dies 731 | 732 | Former Northern Ireland minister Sir Nicholas Scott has died at a London hospice, his family has announced." 733 | politics,"Kilroy names election seat target 734 | 735 | Ex-chat show host Robert Kilroy-Silk is to contest the Derbyshire seat of Erewash at the next general election." 736 | politics,"'Super union' merger plan touted 737 | 738 | Two of Britain's big trade unions could merge to form a ""super union"" of two million members." 739 | politics,"Parties warned over 'grey vote' 740 | 741 | Political parties cannot afford to take older UK voters for granted in the coming election, says Age Concern." 742 | politics,"'Debate needed' on donations cap 743 | 744 | A cap on donations to political parties should not be introduced yet, the elections watchdog has said." 745 | politics,"Lib Dems' 'bold' election policy 746 | 747 | Charles Kennedy has told voters his Liberal Democrats will offer them an ""honest choice"" at the next general election." 748 | politics,"Lib Dems predict 'best ever poll' 749 | 750 | The Lib Dems are set for their best results in both the general election and the local council polls, one of their frontbenchers has predicted." 751 | politics,"Goldsmith: 'I was not leant on' 752 | 753 | The attorney general has again denied being ""leant on"" by Downing Street to make the legal case for invading Iraq." 754 | politics,"MPs assess Scots fishing industry 755 | 756 | A group of MPs are on a two-day fact-finding mission to Scotland to gather evidence for a report into the UK's fishing industry." 757 | politics,"New UKIP defection to 'Veritas' 758 | 759 | The UK Independence Party has lost one of its two London Assembly members to Robert Kilroy-Silk's new political party, expected to launch on Wednesday." 760 | politics,"'Best person' for top legal job 761 | 762 | The ""best person for the job"" should be appointed lord chancellor, and not necessarily a lawyer or MP, the courts minister has told MPs." 763 | politics,"Tories attack EU asylum moves 764 | 765 | David Blunkett has been accused of using the ""politics of confusion"" to disguise new EU immigration measures." 766 | politics,"Voters 'don't trust politicians' 767 | 768 | Eight out of 10 voters do not trust politicians to tell the truth, a new poll conducted for the BBC suggests." 769 | politics,"Borders rail link campaign rally 770 | 771 | Campaigners are to stage a rally calling for a Borders rail link which was closed in 1969 to be reopened." 772 | politics,"Howard rebuts asylum criticisms 773 | 774 | Tory leader Michael Howard has gone on the offensive in response to people questioning how a son of immigrants can propose asylum quotas." 775 | politics,"Plan to give elderly care control 776 | 777 | Elderly and disabled people would choose how their own budget for personal care was spent and organised under government plans." 778 | politics,"Jowell rejects 'Las Vegas' jibe 779 | 780 | The Secretary of State for Culture, Media and Sport, Tessa Jowell, has hit out at critics of the Gambling Bill." 781 | politics,"New foot and mouth action urged 782 | 783 | A senior Tory MP has criticised agriculture department Defra's ""lackadaisical"" approach to planning for a future foot and mouth outbreak." 784 | politics,"Kinnock to urge reform in Lords 785 | 786 | Neil Kinnock has said his acceptance of a seat in the House of Lords will allow him to help ""achieve further progress with substantial democratic reform.""" 787 | politics,"David Blunkett in quotes 788 | 789 | David Blunkett - who has resigned as home secretary - built his reputation as a plain-speaking Yorkshire man." 790 | politics,"Russian ex-spy on hunger strike 791 | 792 | An ex-Russian intelligence officer who risked his life spying for MI6 is entering the seventh week of a hunger strike near 10 Downing Street." 793 | politics,"Campaign 'cold calls' questioned 794 | 795 | Labour and the Conservatives are still telephoning the millions of people who have signed up to make sure they do not get marketing ""cold calls""." 796 | entertainment,"Ray DVD beats box office takings 797 | 798 | Oscar-nominated film biopic Ray has surpassed its US box office takings with a combined tally of $80m (£43m) from DVD and video sales and rentals." 799 | entertainment,"Tautou 'to star in Da Vinci film' 800 | 801 | French actress Audrey Tautou, star of hit film Amelie, will play the female lead in the film adaptation of The Da Vinci Code, it has been reported." 802 | entertainment,"British stars denied major Oscars 803 | 804 | British hopes of winning major Oscars were dashed as UK stars failed to win acting and directing prizes." 805 | entertainment,"Stern dropped from radio stations 806 | 807 | Controversial DJ Howard Stern has been dropped from four US radio stations because he keeps promoting his move to a network broadcasting on satellite." 808 | entertainment,"Black Sabbath top rock album poll 809 | 810 | Black Sabbath have topped a list of the best British rock albums of all time." 811 | entertainment,"Tautou 'to star in Da Vinci film' 812 | 813 | French actress Audrey Tautou, star of hit film Amelie, will play the female lead in the film adaptation of The Da Vinci Code, it has been reported." 814 | entertainment,"Howl helps boost Japan's cinemas 815 | 816 | Japan's box office received a 3.8% boost last year, with ticket sales worth 211bn yen (£1.08bn)." 817 | entertainment,"Godzilla gets Hollywood fame star 818 | 819 | Movie monster Godzilla has received a star on Hollywood's Walk of Fame, honouring both his 50th birthday and the launch of his 28th film." 820 | entertainment,"Applegate's Charity show closes 821 | 822 | US musical Sweet Charity has cancelled its run on Broadway after poor ticket sales for its early shows." 823 | entertainment,"OutKast win at MTV Europe Awards 824 | 825 | US hip-hop duo OutKast have capped a year of award glory with three prizes at the MTV Europe Music Awards in Rome." 826 | entertainment,"No jail for singer Courtney Love 827 | 828 | Singer Courtney Love has been spared jail for assault and drug offences, but must serve three years probation." 829 | entertainment,"Queen recruit singer for new tour 830 | 831 | The remaining members of rock band Queen are to go on tour next year with former Free and Bad Company singer Paul Rodgers taking Freddie Mercury's place." 832 | entertainment,"Scissor Sisters triumph at Brits 833 | 834 | US band Scissor Sisters led the winners at the UK music industry's Brit Awards, walking off with three prizes. The flamboyant act scored a hat-trick in the international categories, winning the best group, best album and best newcomer awards. Glasgow group Franz Ferdinand won two prizes, as did Keane and Joss Stone, who was voted best urban act by digital TV viewers. Robbie Williams' Angels was named the best song of the past 25 years. Scissor Sisters frontwoman Ana Matronic collected the best international album prize from singer Siouxsie Sioux. She told the audience: ""If you told us a year ago we would be getting these awards today we would have called you crazy. You guys made our dream come true.""" 835 | entertainment,"Versace art portfolio up for sale 836 | 837 | The art collection of murdered fashion designer Gianni Versace could fetch up to £9m ($17m) when it is auctioned in New York and London later this year." 838 | entertainment,"Berlin hails European cinema 839 | 840 | Organisers say this year's Berlin Film Festival, which opens on Thursday with period epic Man to Man, will celebrate a revitalised European cinema." 841 | entertainment,"Vera Drake leads UK Oscar hopes 842 | 843 | Mike Leigh's film Vera Drake will lead British hopes at this year's Academy Awards after getting three nominations." 844 | entertainment,"Roxy Music on Isle of Wight bill 845 | 846 | Roxy Music will appear at June's Isle of Wight music festival, along with Morrissey, Supergrass and Idlewild." 847 | entertainment,"Berlin celebrates European cinema 848 | 849 | Organisers say this year's Berlin Film Festival, which opens on Thursday with period epic Man to Man, will celebrate a revitalised European cinema." 850 | entertainment,"DVD review: Harry Potter and the Prisoner of Azkaban 851 | 852 | This third Harry Potter film brought a change of director and a dramatic visual shake-up that really shines on DVD." 853 | entertainment,"Singer Ian Brown 'in gig arrest' 854 | 855 | Former Stone Roses singer Ian Brown was arrested after a fight during a concert in San Francisco on Tuesday, his spokesman has said." 856 | entertainment,"Baby becomes new Oscar favourite 857 | 858 | Clint Eastwood's boxing drama Million Dollar Baby has become the new favourite to win best picture at the Oscars on Sunday." 859 | entertainment,"Campaigners attack MTV 'sleaze' 860 | 861 | MTV has been criticised for ""incessant sleaze"" by television indecency campaigners in the US." 862 | entertainment,"Critics back Aviator for Oscars 863 | 864 | Martin Scorsese's The Aviator will win best film at the Oscars, according to the UK's leading movie critics." 865 | entertainment,"French honour for director Parker 866 | 867 | British film director Sir Alan Parker has been made an officer in the Order of Arts and Letters, one of France's highest cultural honours." 868 | entertainment,"Singer Ferguson 'facing eviction' 869 | 870 | Three Degrees star Sheila Ferguson is the favourite to be evicted from ITV's I'm A Celebrity... Get Me Out Of Here on Monday." 871 | entertainment,"Tautou film tops Cesar prize nods 872 | 873 | French film A Very Long Engagement has received 12 nominations for France's Cesar film awards, despite a recent ruling it was ""not French enough""." 874 | entertainment,"Download chart debut is delayed 875 | 876 | The inclusion of downloaded music in the official singles chart has been delayed for a month." 877 | entertainment,"Queen recruit singer for new tour 878 | 879 | The remaining members of rock band Queen are to go on tour next year with former Free and Bad Company singer Paul Rodgers taking Freddie Mercury's place." 880 | entertainment,"Celebrities get their skates on 881 | 882 | Former England footballer Paul Gascoigne will join EastEnders' actress Scarlett Johnson on BBC One's Strictly Ice Dancing." 883 | entertainment,"Stars pay tribute to actor Davis 884 | 885 | Hollywood stars including Spike Lee, Burt Reynolds and Oscar nominee Alan Alda have paid tribute to actor Ossie Davis at a funeral in New York." 886 | entertainment,"Branson show flops on US screens 887 | 888 | Entrepreneur Sir Richard Branson's US TV show, The Rebel Billionaire, is proving a flop in the ratings." 889 | entertainment,"TV show unites Angolan families 890 | 891 | Angolan families who are attempting to track each other down, after being separated by nearly 30 years of war, are succeeding thanks to a hugely popular TV show." 892 | entertainment,"Downloads enter US singles chart 893 | 894 | Digital music downloads are being included in the main US singles chart for the first time." 895 | entertainment,"Label withdraws McFadden's video 896 | 897 | The new video of former Westlife singer Brian McFadden has been pulled after a Dublin school complained about being associated with his song Irish Son." 898 | entertainment,"Portishead back after eight years 899 | 900 | Cult British group Portishead have revealed they are writing their third album, their first in eight years." 901 | entertainment,"UK TV channel rapped for CSI ad 902 | 903 | TV channel Five has been criticised for sending ""offensive"" and ""threatening"" advertising material to viewers for a new show about murder scene scientists." 904 | entertainment,"Blair buys copies of new Band Aid 905 | 906 | Prime Minister Tony Blair purchased two copies of the charity single Band Aid 20 in Edinburgh on Friday." 907 | entertainment,"Joy Division story to become film 908 | 909 | The life of late Joy Division singer Ian Curtis is to be made into a film, it has been announced." 910 | entertainment,"Top gig award for Scissor Sisters 911 | 912 | New York band Scissor Sisters have won a gig of the year award for their performance at this year's V Festival." 913 | entertainment,"Da Vinci film to star Tom Hanks 914 | 915 | Actor Tom Hanks and director Ron Howard are reuniting for The Da Vinci Code, an adaptation of the international best-selling novel by Dan Brown." 916 | entertainment,"'Landmark movies' of 2004 hailed 917 | 918 | US film professionals have declared Fahrenheit 9/11 and The Passion of the Christ as two of the most significant cultural milestones of 2004." 919 | entertainment,"Cage film's third week at US top 920 | 921 | Nicolas Cage movie National Treasure has topped the US and Canada box office for the third week in a row." 922 | entertainment,"Lasting influence of legend Charles 923 | 924 | Ray Charles, who has won a string of posthumous Grammy Awards, belonged to a pioneering generation of artists that had a huge influence on the course of rock and pop music." 925 | entertainment,"Elvis fans hold birthday bash 926 | 927 | Elvis fans around the world have been marking the legendary singer's 70th birthday on Saturday." 928 | entertainment,"West End to honour finest shows 929 | 930 | The West End is honouring its finest stars and shows at the Evening Standard Theatre Awards in London on Monday." 931 | entertainment,"Famed music director Viotti dies 932 | 933 | Conductor Marcello Viotti, director of Venice's famous La Fenice Theatre, has died in Germany at 50." 934 | entertainment,"Duran Duran show set for US TV 935 | 936 | Chart stars Duran Duran are to appear in a VH1 special in the US including interviews and concert footage." 937 | entertainment,"Film star Fox behind theatre bid 938 | 939 | Leading actor Edward Fox is one of the men behind plans to reopen a Swansea theatre thought to be Wales' oldest." 940 | entertainment,"Musical treatment for Capra film 941 | 942 | The classic film It's A Wonderful Life is to be turned into a musical by the producer of the controversial hit show Jerry Springer - The Opera." 943 | entertainment,"Roundabout continues nostalgia trip 944 | 945 | The new big-screen version of The Magic Roundabout, released in the UK on Friday, is the latest attempt to turn children's television into box-office gold." 946 | entertainment,"Wal-Mart is sued over rude lyrics 947 | 948 | The parents of a 13-year-old girl are suing US supermarket giant Wal-Mart over a CD by rock group Evanescence that contains swear words." 949 | entertainment,"Film production 'falls' 40% in UK 950 | 951 | The number of British films produced in the UK fell 40% in 2004, with movies starring Johnny Depp and Jude Law among those affected, Screen Daily has said." 952 | entertainment,"Brookside actress Keaveney dies 953 | 954 | Actress Anna Keaveney, who appeared in Brookside, My Family and A Touch of Frost, has died of lung cancer aged 55." 955 | entertainment,"Oscar nominees lack pulling power 956 | 957 | This year's clutch of Oscar nominees have been the least popular for 20 years according to box office figures." 958 | entertainment,"Potter director signs Warner deal 959 | 960 | Harry Potter director Alfonso Cuaron has signed a three-year deal with Hollywood studio Warner Brothers, according to Variety trade magazine." 961 | entertainment,"Pupils to get anti-piracy lessons 962 | 963 | Lessons on music piracy and copyright issues are to be taught to secondary school pupils in the UK." 964 | entertainment,"Halloween writer Debra Hill dies 965 | 966 | Screenwriter and producer Debra Hill, best known for her work on the 70s horror classic Halloween, has died in Los Angeles aged 54." 967 | entertainment,"REM concerts blighted by illness 968 | 969 | US rock band REM have been forced to cancel concerts after bass player Mike Mills was taken to hospital suffering from ""severe flu-like symptoms""." 970 | entertainment,"Star Trek fans fight to save show 971 | 972 | Star Trek fans have taken out a full-page ad in the Los Angeles Times in an attempt to persuade TV executives not to scrap Star Trek: Enterprise." 973 | entertainment,"Actor Scott is new Bond favourite 974 | 975 | Bookmaker William Hill has stopped taking bets on who will be the next James Bond, following a succession of large wagers on actor Dougray Scott." 976 | entertainment,"Media seek Jackson 'juror' notes 977 | 978 | Reporters covering singer Michael Jackson's trial in California have asked to see questionnaires completed by potential jurors." 979 | entertainment,"BBC to pour £9m into new comedy 980 | 981 | The BBC is to invest £9m in developing new comedy and entertainment programmes outside London." 982 | entertainment,"Spider-Man creator wins profits 983 | 984 | Spider-Man creator Stan Lee is to get a multi-million dollar windfall after winning a court battle with comic book company Marvel." 985 | entertainment,"Prodigy join V Festival line-up 986 | 987 | Essex act Prodigy are to headline the second stage at this year's V Festival, joining main stage headliners Scissor Sisters and Franz Ferdinand." 988 | entertainment,"Bookmakers back Aviator for Oscar 989 | 990 | The Aviator has been tipped by UK bookmakers as the favourite to win the best film award at this year's Oscars." 991 | entertainment,"Blue beat U2 to top France honour 992 | 993 | Irish band U2 have been honoured at France's biggest music awards, but were beaten to a prize by boy band Blue." 994 | entertainment,"Rapper 50 Cent ends protege feud 995 | 996 | Rapper 50 Cent has ended his public feud with his protege The Game as the pair said they wanted to be good role models for their communities." 997 | entertainment,"Famed music director Viotti dies 998 | 999 | Conductor Marcello Viotti, director of Venice's famous La Fenice Theatre, has died in Germany at 50." 1000 | entertainment,"CSI shows give 'unrealistic view' 1001 | 1002 | People have unrealistic expectations of forensic science thanks to the success of the CSI TV shows, real experts say." 1003 | entertainment,"Stars gear up for Bafta ceremony 1004 | 1005 | Film stars from across the globe are preparing to walk the red carpet at this year's Bafta award ceremony." 1006 | entertainment,"Levy takes Whitbread novel prize 1007 | 1008 | Orange Prize winner Andrea Levy has seen her book Small Island win the Whitbread Novel of the Year Award." 1009 | entertainment,"Sir Paul rocks Super Bowl crowds 1010 | 1011 | Sir Paul McCartney wowed fans with a live mini-concert at American football's Super Bowl - and avoided any Janet Jackson-style controversies." 1012 | entertainment,"Greer attacks 'bully' Big Brother 1013 | 1014 | Germaine Greer has criticised Celebrity Big Brother's ""bullying"" of housemates after quitting the reality TV show." 1015 | entertainment,"Early Elvis recordings go on sale 1016 | 1017 | Some of Elvis Presley's earliest recordings - including takes of All Shook Up - are going under the hammer on Sunday at a Los Angeles auction." 1018 | entertainment,"Deal to ban 'homophobic' reggae 1019 | 1020 | The reggae industry is to refuse to release or stage concerts featuring homophobic songs under a global deal struck with gay rights groups." 1021 | entertainment,"Horror film heads US box office 1022 | 1023 | A low-budget horror film produced by Evil Dead director Sam Raimi has topped the North American box office." 1024 | entertainment,"Ocean's Twelve raids box office 1025 | 1026 | Ocean's Twelve, the crime caper sequel starring George Clooney, Brad Pitt and Julia Roberts, has gone straight to number one in the US box office chart." 1027 | business,"German growth goes into reverse 1028 | 1029 | Germany's economy shrank 0.2% in the last three months of 2004, upsetting hopes of a sustained recovery." 1030 | business,"French boss to leave EADS 1031 | 1032 | The French co-head of European defence and aerospace group EADS Philippe Camus is to leave his post." 1033 | business,"Quiksilver moves for Rossignol 1034 | 1035 | Shares of Skis Rossignol, the world's largest ski-maker, have jumped as much as 15% on speculation that it will be bought by US surfwear firm Quiksilver." 1036 | business,"Karachi stocks hit historic high 1037 | 1038 | The Karachi Stock Exchange (KSE) has recorded its largest single day gain, surging 3.5% to a new high." 1039 | business,"Absa and Barclays talks continue 1040 | 1041 | South Africa biggest retail bank Absa has said it is still in talks with UK bank Barclays over the sale of majority stake in the group." 1042 | business,"Giving financial gifts to children 1043 | 1044 | Your child or grandchild may want the latest toy this Christmas, but how about giving them a present that will help their financial future?" 1045 | business,"EC calls truce in deficit battle 1046 | 1047 | The European Commission (EC) has called a truce in its battle with France and Germany over breaching deficit limits." 1048 | business,"Parmalat founder offers apology 1049 | 1050 | The founder and former boss of Parmalat has apologised to investors who lost money as a result of the Italian dairy firm's collapse." 1051 | business,"Cairn Energy in Indian gas find 1052 | 1053 | Shares in Cairn Energy rose 3.8% to 1,088 pence on Tuesday after the UK firm announced a fresh gas discovery in northern India." 1054 | business,"India seeks to boost construction 1055 | 1056 | India has cleared a proposal allowing up to 100% foreign direct investment in its construction sector." 1057 | business,"Two Nigerian banks set to merge 1058 | 1059 | Nigerian banks United Bank of Africa and Standard Trust Bank have agreed plans to merge and create the biggest bank in West Africa." 1060 | business,"Police detain Chinese milk bosses 1061 | 1062 | Chinese police have detained three top executives at milk firm Yili, with reports suggesting that they are being investigated for embezzlement." 1063 | business,"Argentina closes $102.6bn debt swap 1064 | 1065 | Argentina is set to close its $102.6bn (£53.51bn) debt restructuring offer for bondholders later on Friday, with the government hopeful that most creditors will accept the deal." 1066 | business,"Air Jamaica back in state control 1067 | 1068 | The Jamaican government is regaining control of Air Jamaica in an bid to help the ailing company out of its financial difficulties." 1069 | business,"House prices show slight increase 1070 | 1071 | Prices of homes in the UK rose a seasonally adjusted 0.5% in February, says the Nationwide building society." 1072 | business,"S Korea spending boost to economy 1073 | 1074 | South Korea will boost state spending next year in an effort to create jobs and kick start its sputtering economy." 1075 | business,"Qatar and Shell in $6bn gas deal 1076 | 1077 | Shell has signed a $6bn (£3.12bn) deal with the Middle Eastern sheikhdom of Qatar to supply liquid natural gas (LNG) to North America and Europe." 1078 | business,"US economy still growing says Fed 1079 | 1080 | Most areas of the US saw their economy continue to expand in December and early January, the US Federal Reserve said in its latest Beige Book report." 1081 | business,"Jobs growth still slow in the US 1082 | 1083 | The US created fewer jobs than expected in January, but a fall in jobseekers pushed the unemployment rate to its lowest level in three years." 1084 | business,"India's rupee hits five-year high 1085 | 1086 | India's rupee has hit a five-year high after Standard & Poor's (S&P) raised the country's foreign currency rating." 1087 | business,"Electrolux to export Europe jobs 1088 | 1089 | Electrolux saw its shares rise 14% on Tuesday after it said it would be shifting more of its manufacturing to low-cost countries." 1090 | business,"No seasonal lift for house market 1091 | 1092 | A swathe of figures have provided further evidence of a slowdown in the UK property market." 1093 | business,"Mystery surrounds new Yukos owner 1094 | 1095 | The fate of Russia's Yuganskneftegas - the oil firm sold to a little-known buyer on Sunday - is the subject of frantic speculation in Moscow." 1096 | business,"US to probe airline travel chaos 1097 | 1098 | The US government is to investigate two airlines- US Airways and Delta Air Lines' Comair subsidiary - after travel chaos over the Christmas weekend." 1099 | business,"Rich grab half Colombia poor fund 1100 | 1101 | Half of the money put aside by the Colombian government to help the country's poor is benefiting people who do not need it, a study has found." 1102 | business,"Glazer makes new Man Utd approach 1103 | 1104 | Malcolm Glazer has made a fresh approach to buy Manchester United, which could lead to a bid valuing the Premiership club at £800m." 1105 | business,"Deadline nears for Fiat-GM deal 1106 | 1107 | Fiat and General Motors (GM) have until midnight on 1 February to settle a disagreement over a potential takeover." 1108 | business,"South African car demand surges 1109 | 1110 | Car manufacturers with plants in South Africa, including BMW, General Motors, Toyota and Volkswagen, have seen a surge in demand during 2004." 1111 | business,"Small firms 'hit by rising costs' 1112 | 1113 | Rising fuel and materials costs are hitting confidence among the UK's small manufacturers despite a rise in output, business lobby group the CBI says." 1114 | business,"Warning over US pensions deficit 1115 | 1116 | Taxpayers may have to bail out the US agency that protects workers' pension funds, leading economists have warned." 1117 | business,"Fed warns of more US rate rises 1118 | 1119 | The US looks set for a continued boost to interest rates in 2005, according to the Federal Reserve." 1120 | business,"Gaming firm to sell UK dog tracks 1121 | 1122 | Six UK greyhound tracks have been put up for sale by gaming group Wembley as part of a move which will lead to the break-up of the group." 1123 | business,"Cars pull down US retail figures 1124 | 1125 | US retail sales fell 0.3% in January, the biggest monthly decline since last August, driven down by a heavy fall in car sales." 1126 | business,"SBC plans post-takeover job cuts 1127 | 1128 | US phone company SBC Communications said it expects to cut around 12,800 jobs following its $16bn (£8.5bn) takeover of former parent AT&T." 1129 | business,"Winter freeze keeps oil above $50 1130 | 1131 | Oil prices carried on rising on Wednesday after cold weather on both sides of the North Atlantic pushed US crude prices to four-month highs." 1132 | business,"Kraft cuts snack ads for children 1133 | 1134 | Kraft plans to cut back on advertising of products like Oreo cookies and sugary Kool-Aid drinks as part of an effort to promote healthy eating." 1135 | business,"Qwest may spark MCI bidding war 1136 | 1137 | US phone company Qwest has said it will table a new offer for MCI after losing out to larger rival Verizon, setting the scene for a possible bidding war." 1138 | business,"Saudi ministry to employ women 1139 | 1140 | Women will be employed in Saudi Arabia's foreign ministry for the first time this year, Foreign Minister Prince Saud Al-Faisal has been reported as saying." 1141 | business,"Russia WTO talks 'make progress' 1142 | 1143 | Talks on Russia's proposed membership of the World Trade Organisation (WTO) have been ""making good progress"" say those behind the negotiations." 1144 | business,"US bank boss hails 'genius' Smith 1145 | 1146 | US Federal Reserve chairman Alan Greenspan has given a speech at a Scottish church in honour of the pioneering economist, Adam Smith." 1147 | business,"US budget deficit to reach $368bn 1148 | 1149 | The US budget deficit is set to hit a worse-than-expected $368bn (£197bn) this year, officials said on Tuesday." 1150 | business,"US insurer Marsh cuts 2,500 jobs 1151 | 1152 | Up to 2,500 jobs are to go at US insurance broker Marsh & McLennan in a shake up following bigger-than-expected losses." 1153 | business,"Train strike grips Buenos Aires 1154 | 1155 | A strike on the Buenos Aires underground has caused traffic chaos and large queues at bus stops in the Argentine capital." 1156 | business,"Firms pump billions into pensions 1157 | 1158 | Employers have spent billions of pounds propping up their final salary pensions over the past year, research suggests." 1159 | business,"Brewers' profits lose their fizz 1160 | 1161 | Heineken and Carlsberg, two of the world's largest brewers, have reported falling profits after beer sales in western Europe fell flat." 1162 | business,"Weak dollar trims Cadbury profits 1163 | 1164 | The world's biggest confectionery firm, Cadbury Schweppes, has reported a modest rise in profits after the weak dollar took a bite out of its results." 1165 | business,"Tsunami 'to hit Sri Lanka banks' 1166 | 1167 | Sri Lanka's banks face hard times following December's tsunami disaster, officials have warned." 1168 | business,"Qantas sees profits fly to record 1169 | 1170 | Australian airline Qantas has posted a record fiscal first-half profit thanks to cost-cutting measures." 1171 | business,"China continues rapid growth 1172 | 1173 | China's economy has expanded by a breakneck 9.5% during 2004, faster than predicted and well above 2003's 9.1%." 1174 | business,"IMF 'cuts' German growth estimate 1175 | 1176 | The International Monetary Fund is to cut its 2005 growth forecast for the German economy from 1.8% to 0.8%, the Financial Times Deutschland reported." 1177 | business,"Parmalat to return to stockmarket 1178 | 1179 | Parmalat, the Italian dairy company which went bust after an accounting scandal, hopes to be back on the Italian stock exchange in July." 1180 | business,"HealthSouth ex-boss goes on trial 1181 | 1182 | The former head of US medical services firm HealthSouth overstated earnings and assets to boost the company's share price, it was claimed in court." 1183 | business,"Yukos accused of lying to court 1184 | 1185 | Russian oil firm Yukos lied to a US court in an attempt to stop the Russian government selling off its key production unit, the court has heard." 1186 | business,"Split-caps pay £194m compensation 1187 | 1188 | Investors who lost money following the split-capital investment trust scandal are to receive £194m compensation, the UK's financial watchdog has announced." 1189 | business,"Bat spit drug firm goes to market 1190 | 1191 | A German firm whose main product is derived from the saliva of the vampire bat is looking to raise more than 70m euros ($91m; £49m) on the stock market." 1192 | business,"India calls for fair trade rules 1193 | 1194 | India, which attends the G7 meeting of seven leading industrialised nations on Friday, is unlikely to be cowed by its newcomer status." 1195 | business,"Mixed signals from French economy 1196 | 1197 | The French economy picked up speed at the end of 2004, official figures show - but still looks set to have fallen short of the government's hopes." 1198 | business,"China's Shanda buys stake in Sina 1199 | 1200 | Chinese online game operator Shanda Interactive Entertainment has bought a 20% stake in Sina, the country's biggest internet portal firm." 1201 | business,"Israel looks to US for bank chief 1202 | 1203 | Israel has asked a US banker and former International Monetary Fund director to run its central bank." 1204 | business,"Deutsche attacks Yukos case 1205 | 1206 | German investment bank Deutsche Bank has challenged the right of Yukos to claim bankruptcy protection in the US." 1207 | business,"Yukos unit buyer faces loan claim 1208 | 1209 | The owners of embattled Russian oil giant Yukos are to ask the buyer of its former production unit to pay back a $900m (£479m) loan." 1210 | business,"Giant waves damage S Asia economy 1211 | 1212 | Governments, aid agencies, insurers and travel firms are among those counting the cost of the massive earthquake and waves that hammered southern Asia." 1213 | business,"US firm 'bids for Lacroix label' 1214 | 1215 | A US firm has said it is in final negotiations with luxury goods group LVMH to buy the loss-making Christian Lacroix haute-couture house." 1216 | business,"Brussels raps mobile call charges 1217 | 1218 | The European Commission has written to the mobile phone operators Vodafone and T-Mobile to challenge ""the high rates"" they charge for international roaming." 1219 | business,"Brazil plays down Varig rescue 1220 | 1221 | The Brazilian government has played down claims that it could step in to save the country's biggest airline." 1222 | business,"Cairn shares up on new oil find 1223 | 1224 | Shares in Cairn Energy have jumped 6% after the firm said an Indian oilfield was larger than previously thought." 1225 | business,"Laura Ashley chief stepping down 1226 | 1227 | Laura Ashley is parting company with its chief executive Ainum Mohd-Saaid." 1228 | business,"Go-ahead for Balkan oil pipeline 1229 | 1230 | Albania, Bulgaria and Macedonia has given the go ahead for the construction of a $1.2bn oil pipeline that will pass through the Balkan peninsula." 1231 | business,"India's Maruti sees profits jump 1232 | 1233 | India's biggest carmaker Maruti has reported a sharp increase in quarterly profit after a booming economy and low interest rates boosted demand." 1234 | business,"Strong demand triggers oil rally 1235 | 1236 | Crude oil prices surged back above the $47 a barrel mark on Thursday after an energy market watchdog raised its forecasts for global demand." 1237 | business,"Alfa Romeos 'to get GM engines' 1238 | 1239 | Fiat is to stop making six-cylinder petrol engines for its sporty Alfa Romeo subsidiary, unions at the Italian carmaker have said." 1240 | business,"Ukraine strikes Turkmen gas deal 1241 | 1242 | Ukraine has agreed to pay 30% more for natural gas supplied by Turkmenistan." 1243 | business,"Ailing EuroDisney vows turnaround 1244 | 1245 | EuroDisney, the European home of Mickey Mouse and friends, has said it will sell 253m euros (£175m; $328m) of new shares as it looks to avoid insolvency." 1246 | business,"Egypt and Israel seal trade deal 1247 | 1248 | In a sign of a thaw in relations between Egypt and Israel, the two countries have signed a trade protocol with the US, allowing Egyptian goods made in partnership with Israeli firms free access to American markets." 1249 | business,"Ericsson sees earnings improve 1250 | 1251 | Telecoms equipment supplier Ericsson has posted a rise in fourth quarter profits thanks to clients like Deutsche Telekom upgrade their networks." 1252 | business,"Business fears over sluggish EU economy 1253 | 1254 | As European leaders gather in Rome on Friday to sign the new EU constitution, many companies will be focusing on matters much closer to home - namely how to stay in business." 1255 | business,"Troubled Marsh under SEC scrutiny 1256 | 1257 | The US stock market regulator is investigating troubled insurance broker Marsh & McLennan's shareholder transactions, the firm has said." 1258 | business,"Slowdown hits US factory growth 1259 | 1260 | US industrial production increased for the 21st month in a row in February, but at a slower pace than in January, official figures show." 1261 | business,"US Ahold suppliers face charges 1262 | 1263 | US prosecutors have charged nine food suppliers with helping Dutch retailer Ahold inflate earnings by more than $800m (£428m)." 1264 | business,"Irish company hit by Iraqi report 1265 | 1266 | Shares in Irish oil company Petrel Resources have lost more than 50% of their value on a report that the firm has failed to win a contract in Iraq." 1267 | business,"Fannie Mae 'should restate books' 1268 | 1269 | US mortgage company Fannie Mae should restate its earnings, a move that is likely to put a billion-dollar dent in its accounts, watchdogs have said." 1270 | business,"Stock market eyes Japan recovery 1271 | 1272 | Japanese shares have ended the year at their highest level since 13 July amidst hopes of an economic recovery during 2005." 1273 | business,"Tsunami to cost Sri Lanka $1.3bn 1274 | 1275 | Sri Lanka faces a $1.3bn (£691m) bill in 2005 for reconstruction after the tsunami which killed more than 30,000 of its people, its central bank says." 1276 | business,"Bush to get 'tough' on deficit 1277 | 1278 | US president George W Bush has pledged to introduce a ""tough"" federal budget next February in a bid to halve the country's deficit in five years." 1279 | business,"Making your office work for you 1280 | 1281 | Our mission to brighten up your working lives continues - and this time, we're taking a long hard look at your offices." 1282 | business,"GE sees 'excellent' world economy 1283 | 1284 | US behemoth General Electric has posted an 18% jump in quarterly sales, and in profits, and declared itself ""in great shape""." 1285 | business,"US industrial output growth eases 1286 | 1287 | US industrial production continued to rise in November, albeit at a slower pace than the previous month." 1288 | business,"Markets fall on weak dollar fears 1289 | 1290 | Rising oil prices and the sinking dollar hit shares on Monday after a finance ministers' meeting and stern words from Fed chief Alan Greenspan." 1291 | business,"Millions go missing at China bank 1292 | 1293 | Two senior officials at one of China's top commercial banks have reportedly disappeared after funds worth up to $120m (£64m) went missing." 1294 | business,"Borussia Dortmund near bust 1295 | 1296 | German football club and former European champion Borussia Dortmund has warned it will go bankrupt if rescue talks with creditors fail." 1297 | business,"UK interest rates held at 4.75% 1298 | 1299 | The Bank of England has left interest rates on hold again at 4.75%, in a widely-predicted move." 1300 | business,"EU to probe Alitalia 'state aid' 1301 | 1302 | The European Commission has officially launched an in-depth investigation into whether Italian airline Alitalia is receiving illegal state aid." 1303 | business,"WorldCom bosses' $54m payout 1304 | 1305 | Ten former directors at WorldCom have agreed to pay $54m (£28.85m), including $18m from their own pockets, to settle a class action lawsuit, reports say." 1306 | business,"Deutsche Telekom sees mobile gain 1307 | 1308 | German telecoms firm Deutsche Telekom saw strong fourth quarter profits on the back of upbeat US mobile earnings and better-than-expected asset sales." 1309 | business,"Peugeot deal boosts Mitsubishi 1310 | 1311 | Struggling Japanese car maker Mitsubishi Motors has struck a deal to supply French car maker Peugeot with 30,000 sports utility vehicles (SUV)." 1312 | business,"Venezuela identifies 'idle' farms 1313 | 1314 | Venezuelan authorities have identified more than 500 farms, including 56 large estates, as idle as it continues with its controversial land reform policy." 1315 | business,"Salary scandal in Cameroon 1316 | 1317 | Cameroon says widespread corruption in its finance ministry has cost it 1bn CFA francs ($2m; £1m) a month." 1318 | business,"'Standoff' on Deutsche's LSE bid 1319 | 1320 | Deutsche Boerse investors unhappy with its London Stock Exchange bid will have no chance to throw out the exchange's management until May, Reuters says." 1321 | business,"US data sparks inflation worries 1322 | 1323 | Wholesale prices in the US rose at the fastest rate in more than six years in January, according to government data." 1324 | business,"Survey confirms property slowdown 1325 | 1326 | Government figures have confirmed a widely reported slowdown of the UK's housing market in late 2004." 1327 | business,"Weak dollar hits Reuters 1328 | 1329 | Revenues at media group Reuters slipped 11% during 2004, mainly due to the weakness of the dollar, the group said." 1330 | business,"Metlife buys up Citigroup insurer 1331 | 1332 | US banking giant Citigroup has sold its Travelers Life & Annuity insurance arm to Metlife for $11.5bn (£6.1bn)." 1333 | -------------------------------------------------------------------------------- /experiments/README.md: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /experiments/bert.jsonnet: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/allenai/aiconf-allennlp-tutorial/5d7a4a189dbab61e175019202fc54d6b20e07cbd/experiments/bert.jsonnet -------------------------------------------------------------------------------- /experiments/boe.jsonnet: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/allenai/aiconf-allennlp-tutorial/5d7a4a189dbab61e175019202fc54d6b20e07cbd/experiments/boe.jsonnet -------------------------------------------------------------------------------- /experiments/lstm.jsonnet: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/allenai/aiconf-allennlp-tutorial/5d7a4a189dbab61e175019202fc54d6b20e07cbd/experiments/lstm.jsonnet -------------------------------------------------------------------------------- /process_data.py: -------------------------------------------------------------------------------- 1 | import csv 2 | import pathlib 3 | import os 4 | import re 5 | 6 | import tqdm 7 | 8 | DATA_ROOT = pathlib.Path("data") 9 | BBC_ROOT = DATA_ROOT / 'bbc' 10 | 11 | train = [] 12 | validate = [] 13 | test = [] 14 | 15 | for category in os.listdir(BBC_ROOT): 16 | path = BBC_ROOT / category 17 | if os.path.isdir(path): 18 | for fn in os.listdir(path): 19 | with open(path / fn, errors="ignore") as f: 20 | text = f.read() 21 | 22 | lines = text.split("\n") 23 | lines = [line for line in lines if line] 24 | lines = lines[:2] 25 | text = "\n\n".join(lines) 26 | 27 | number = int(fn[:3]) 28 | 29 | if number % 5 < 3: 30 | train.append((category, text)) 31 | elif number % 5 == 3: 32 | validate.append((category, text)) 33 | else: 34 | test.append((category, text)) 35 | 36 | for fn, instances in [(DATA_ROOT / 'bbc-train.csv', train), 37 | (DATA_ROOT / 'bbc-validate.csv', validate), 38 | (DATA_ROOT / 'bbc-test.csv', test)]: 39 | print(fn) 40 | 41 | with open(fn, 'wt') as f: 42 | writer = csv.writer(f) 43 | for row in tqdm.tqdm(instances): 44 | writer.writerow(row) 45 | -------------------------------------------------------------------------------- /pytest.ini: -------------------------------------------------------------------------------- 1 | [pytest] 2 | addopts = -p no:warnings 3 | -------------------------------------------------------------------------------- /requirements.txt: -------------------------------------------------------------------------------- 1 | allennlp 2 | pytest 3 | ipython 4 | jupyter 5 | -------------------------------------------------------------------------------- /runtime.txt: -------------------------------------------------------------------------------- 1 | python-3.7 2 | --------------------------------------------------------------------------------