{"action":"created","issue":{"url":"https://api.github.com/repos/factorie/factorie/issues/350","labels_url":"https://api.github.com/repos/factorie/factorie/issues/350/labels{/name}","comments_url":"https://api.github.com/repos/factorie/factorie/issues/350/comments","events_url":"https://api.github.com/repos/factorie/factorie/issues/350/events","html_url":"https://github.com/factorie/factorie/pull/350","id":125206355,"number":350,"title":"Chain NER speedups","user":{"login":"Craigacp","id":729696,"avatar_url":"https://avatars.githubusercontent.com/u/729696?v=3","gravatar_id":"","url":"https://api.github.com/users/Craigacp","html_url":"https://github.com/Craigacp","followers_url":"https://api.github.com/users/Craigacp/followers","following_url":"https://api.github.com/users/Craigacp/following{/other_user}","gists_url":"https://api.github.com/users/Craigacp/gists{/gist_id}","starred_url":"https://api.github.com/users/Craigacp/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Craigacp/subscriptions","organizations_url":"https://api.github.com/users/Craigacp/orgs","repos_url":"https://api.github.com/users/Craigacp/repos","events_url":"https://api.github.com/users/Craigacp/events{/privacy}","received_events_url":"https://api.github.com/users/Craigacp/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":13,"created_at":"2016-01-06T16:04:31Z","updated_at":"2016-01-24T01:45:51Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/factorie/factorie/pulls/350","html_url":"https://github.com/factorie/factorie/pull/350","diff_url":"https://github.com/factorie/factorie/pull/350.diff","patch_url":"https://github.com/factorie/factorie/pull/350.patch"},"body":"These commits improve the speed of the ChainNer feature generation. It uses a few of the tricks from the previous optimisations to StackedChainNer which give small performance bumps and allocate fewer objects. In addition it changes how the \"FIRSTMENTION\" feature is generated, by swapping it from an O(n^2) operation in the number of tokens to a O(n) operation (by memoising the feature generation). This also reduces the number of strings which are created during the feature generation. It's this latter optimisation which gives the vast majority of the speedup. The new code generates the same features as the current code so it's a drop in replacement that doesn't require retraining the models.\r\n\r\nOn a quick test running NER tagging on Barack Obama's wikipedia page this reduces the runtime of 20 iterations from 18.7s to 7.7s, so it's about 2.4x faster.\r\n\r\nThese changes are orthogonal to the ones Philip has a pull request for."},"comment":{"url":"https://api.github.com/repos/factorie/factorie/issues/comments/174241465","html_url":"https://github.com/factorie/factorie/pull/350#issuecomment-174241465","issue_url":"https://api.github.com/repos/factorie/factorie/issues/350","id":174241465,"user":{"login":"strubell","id":3266999,"avatar_url":"https://avatars.githubusercontent.com/u/3266999?v=3","gravatar_id":"","url":"https://api.github.com/users/strubell","html_url":"https://github.com/strubell","followers_url":"https://api.github.com/users/strubell/followers","following_url":"https://api.github.com/users/strubell/following{/other_user}","gists_url":"https://api.github.com/users/strubell/gists{/gist_id}","starred_url":"https://api.github.com/users/strubell/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/strubell/subscriptions","organizations_url":"https://api.github.com/users/strubell/orgs","repos_url":"https://api.github.com/users/strubell/repos","events_url":"https://api.github.com/users/strubell/events{/privacy}","received_events_url":"https://api.github.com/users/strubell/received_events","type":"User","site_admin":false},"created_at":"2016-01-24T01:45:51Z","updated_at":"2016-01-24T01:45:51Z","body":"Ok, new models are in all-models-1.2-SNAPSHOT"}}