{ "info": { "author": "Nick Morley", "author_email": "nick.morley111@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 2 - Pre-Alpha", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Natural Language :: English", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: Implementation :: PyPy" ], "description": "# SpaCy Pattern Builder\n\nUse training examples to build and refine patterns for use with SpaCy's DependencyMatcher.\n\n## Motivation\n\nGenerating patterns programmatically from training data is more efficient than creating them manually.\n\n## Installation\n\nWith pip:\n\n```bash\npip install spacy-pattern-builder\n```\n\n## Usage\n\n```python\n# Import a SpaCy model, parse a string to create a Doc object\nimport en_core_web_sm\n\ntext = 'We introduce efficient methods for fitting Boolean models to molecular data.'\nnlp = en_core_web_sm.load()\ndoc = nlp(text)\n\nfrom spacy_pattern_builder import build_dependency_pattern\n\n# Provide a list of tokens we want to match.\nmatch_tokens = [doc[i] for i in [0, 1, 3]] # [We, introduce, methods]\n\n''' Note that these tokens must be fully connected. That is,\nall tokens must have a path to all other tokens in the list,\nwithout needing to traverse tokens outside of the list.\nOtherwise, spacy-pattern-builder will raise a TokensNotFullyConnectedError.\nYou can get a connected set that includes your tokens with the following: '''\nfrom spacy_pattern_builder import util\nconnected_tokens = util.smallest_connected_subgraph(match_tokens, doc)\nassert match_tokens == connected_tokens # In this case, the tokens we provided are already fully connected\n\n# Specify the token attributes / features to use\nfeature_dict = { # This is equal to the default feature_dict\n 'DEP': 'dep_',\n 'TAG': 'tag_'\n}\n\n# Build the pattern\npattern = build_dependency_pattern(doc, match_tokens, feature_dict=feature_dict)\n\nfrom pprint import pprint\npprint(pattern) # In the format consumed by SpaCy's DependencyMatcher:\n'''\n[{'PATTERN': {'DEP': 'ROOT', 'TAG': 'VBP'}, 'SPEC': {'NODE_NAME': 'node1'}},\n {'PATTERN': {'DEP': 'nsubj', 'TAG': 'PRP'},\n 'SPEC': {'NBOR_NAME': 'node1', 'NBOR_RELOP': '>', 'NODE_NAME': 'node0'}},\n {'PATTERN': {'DEP': 'dobj', 'TAG': 'NNS'},\n 'SPEC': {'NBOR_NAME': 'node1', 'NBOR_RELOP': '>', 'NODE_NAME': 'node3'}}]\n'''\n\n# Create a matcher and add the newly generated pattern\nfrom spacy.matcher import DependencyMatcher\n\nmatcher = DependencyTreeMatcher(doc.vocab)\nmatcher.add('pattern', None, pattern)\n\n# And get matches\nmatches = matcher(doc)\nfor match_id, token_idxs in matches:\n tokens = [doc[i] for i in token_idxs]\n tokens = sorted(tokens, key=lambda w: w.i) # Make sure tokens are in their original order\n print(tokens) # [We, introduce, methods]\n\n```\n\n## Acknowledgements\n\nUses:\n\n- [SpaCy](https://spacy.io)\n- [networkx](https://github.com/networkx/networkx)\n\n", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/cyclecycle/spacy-pattern-builder", "keywords": "spacy-pattern-builder", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "spacy-pattern-builder", "package_url": "https://pypi.org/project/spacy-pattern-builder/", "platform": "", "project_url": "https://pypi.org/project/spacy-pattern-builder/", "project_urls": { "Homepage": "https://github.com/cyclecycle/spacy-pattern-builder" }, "release_url": "https://pypi.org/project/spacy-pattern-builder/0.0.7/", "requires_dist": [ "spacy", "networkx" ], "requires_python": "", "summary": "Reverse engineer patterns for use with the SpaCy DependencyTreeMatcher", "version": "0.0.7" }, "last_serial": 5774768, "releases": { "0.0.1": [ { "comment_text": "", "digests": { "md5": "187c4cbbe20ba1ee1c6bb1acd837f720", "sha256": "9598815f0f3102cbcf4e144d0e0ca1ace1de6045cf3b67f0a72231c71b2a5eb0" }, "downloads": -1, "filename": "spacy_pattern_builder-0.0.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "187c4cbbe20ba1ee1c6bb1acd837f720", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 8063, "upload_time": "2019-05-24T15:49:32", "url": "https://files.pythonhosted.org/packages/6a/c1/5cafbb3a439d320f6335a04a895fbb1beede34ea8b3cee40e4cec935a201/spacy_pattern_builder-0.0.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "b4f559944ad81c473bb9d268668877ec", "sha256": "9dcda1c922eb069ad9906f86bc2bdedd2feaf4763f1da73eb725813e87a48d46" }, "downloads": -1, "filename": "spacy-pattern-builder-0.0.1.tar.gz", "has_sig": false, "md5_digest": "b4f559944ad81c473bb9d268668877ec", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7576, "upload_time": "2019-05-24T15:49:35", "url": "https://files.pythonhosted.org/packages/16/f0/56a7732ad4c8f4e00c4f01ffe3fcfc9327f137433688e39a9cfad88d9ba5/spacy-pattern-builder-0.0.1.tar.gz" } ], "0.0.2": [ { "comment_text": "", "digests": { "md5": "d0df54ddf106b06acd9572d85f7be64f", "sha256": "10ce84f8b0e97a2ea68c32c071f3648fc63c9accc4540562296fb892fad40ee7" }, "downloads": -1, "filename": "spacy_pattern_builder-0.0.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "d0df54ddf106b06acd9572d85f7be64f", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 8075, "upload_time": "2019-05-24T16:09:49", "url": "https://files.pythonhosted.org/packages/b4/12/0515e353811b54cd0e88fad17bf5721f367d00719bbf6d894c5dcdefaee1/spacy_pattern_builder-0.0.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "3b1f8c84add7a792233a55dd3bd290f3", "sha256": "e8274bb93476496c61f920b0f1bff8f4b68381d7c718798255b1d376b77c12d0" }, "downloads": -1, "filename": "spacy-pattern-builder-0.0.2.tar.gz", "has_sig": false, "md5_digest": "3b1f8c84add7a792233a55dd3bd290f3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7569, "upload_time": "2019-05-24T16:09:50", "url": "https://files.pythonhosted.org/packages/ca/61/bd4df6e2126a440aeabcfb99377cb1443f9db6feffaeb218fc1517d03106/spacy-pattern-builder-0.0.2.tar.gz" } ], "0.0.3": [ { "comment_text": "", "digests": { "md5": "bbce6b254a65f157ec2b6e7fb6c1ee5b", "sha256": "8cdec81f7f4109082f54e58fe87aeca7c5c0721e2ee22237d00d8f7c539e3057" }, "downloads": -1, "filename": "spacy_pattern_builder-0.0.3-py3-none-any.whl", "has_sig": false, "md5_digest": "bbce6b254a65f157ec2b6e7fb6c1ee5b", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 8679, "upload_time": "2019-05-25T14:20:36", "url": "https://files.pythonhosted.org/packages/c9/3b/7bc5332caf79fe8fef70a1dc72143a7740becbd71b99ba02b19702f3dbc5/spacy_pattern_builder-0.0.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "cb41165ee72905241d5646af1da7b730", "sha256": "992125bb34efafc808ae786bbef2c763a33e9794362e925279b86e83e1d441d1" }, "downloads": -1, "filename": "spacy-pattern-builder-0.0.3.tar.gz", "has_sig": false, "md5_digest": "cb41165ee72905241d5646af1da7b730", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6468, "upload_time": "2019-05-25T14:20:38", "url": "https://files.pythonhosted.org/packages/bd/28/c897265e2241dd4185d9c62405cfb575d5c4c855bf439fc70e47111c42b6/spacy-pattern-builder-0.0.3.tar.gz" } ], "0.0.4": [ { "comment_text": "", "digests": { "md5": "8467a6a8a7f87829b463eed30a3044e5", "sha256": "6f724e1bdc7328dcfdb08e94feb11a4bd603f823422d32eb39bb010f12cb31e9" }, "downloads": -1, "filename": "spacy_pattern_builder-0.0.4-py3-none-any.whl", "has_sig": false, "md5_digest": "8467a6a8a7f87829b463eed30a3044e5", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 9769, "upload_time": "2019-07-12T15:35:07", "url": "https://files.pythonhosted.org/packages/f9/cd/1b38d60c646d18e0cf265a0f490e68ccd2632da2132fa81937724fbf5b8d/spacy_pattern_builder-0.0.4-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "a267454d85eff9caf512db1ab1bc1896", "sha256": "e73cbe7275b235e4bbc928ec011001849e973101accf3b9c5be1c38fff03eb03" }, "downloads": -1, "filename": "spacy-pattern-builder-0.0.4.tar.gz", "has_sig": false, "md5_digest": "a267454d85eff9caf512db1ab1bc1896", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7347, "upload_time": "2019-07-12T15:35:08", "url": "https://files.pythonhosted.org/packages/6f/f7/6a4f63cefeba25c17ecb679df8474d6101e55b97ff864b8e1ee35df494bc/spacy-pattern-builder-0.0.4.tar.gz" } ], "0.0.5": [ { "comment_text": "", "digests": { "md5": "9eb80a90ae9cf782d35dc69d03f339b9", "sha256": "cdc1ee0bbbee024207aeae0e79cbe5f8f3c772a0a0d97be143836e959882e1f0" }, "downloads": -1, "filename": "spacy_pattern_builder-0.0.5-py3-none-any.whl", "has_sig": false, "md5_digest": "9eb80a90ae9cf782d35dc69d03f339b9", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 9700, "upload_time": "2019-07-24T09:52:24", "url": "https://files.pythonhosted.org/packages/e5/17/d242fe65ae556f6b7ffd2a91f75cdcf03207fe43184eb0c218bb636792e5/spacy_pattern_builder-0.0.5-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "6233b34f2c9de8143e9b205b36b20d71", "sha256": "6eeb5010582c826729742ff5f85edea2a35271db4fc77194a65eeaeaed06ec1d" }, "downloads": -1, "filename": "spacy-pattern-builder-0.0.5.tar.gz", "has_sig": false, "md5_digest": "6233b34f2c9de8143e9b205b36b20d71", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7286, "upload_time": "2019-07-24T09:52:26", "url": "https://files.pythonhosted.org/packages/cc/ac/59528c51660a429451f989d41af248e35ad6a4fe6d24a81502abf3b62384/spacy-pattern-builder-0.0.5.tar.gz" } ], "0.0.6": [ { "comment_text": "", "digests": { "md5": "8ad8b83d03fa6cc7faff5602124ec00e", "sha256": "a130e99f7b2f79dd12c3c21e2e8bc9556a7aa6cbe1a1403511ed038149ad1ab0" }, "downloads": -1, "filename": "spacy_pattern_builder-0.0.6-py3-none-any.whl", "has_sig": false, "md5_digest": "8ad8b83d03fa6cc7faff5602124ec00e", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 10085, "upload_time": "2019-07-31T14:10:11", "url": "https://files.pythonhosted.org/packages/fe/bf/d145b2e36cf6688f9c14c560edc7093a1a5df274c1a50906d2ce4033a81b/spacy_pattern_builder-0.0.6-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "bdf9cb5016e4eab427ade6260101cbcb", "sha256": "de564965b56914b4182d7cb3c1647d8957ef81451f76601ef12eb1506279468e" }, "downloads": -1, "filename": "spacy-pattern-builder-0.0.6.tar.gz", "has_sig": false, "md5_digest": "bdf9cb5016e4eab427ade6260101cbcb", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7673, "upload_time": "2019-07-31T14:10:13", "url": "https://files.pythonhosted.org/packages/9a/6f/48458ea4bd70a70a182ea08954c31ea9add389d989b2a9d79aa65d96b302/spacy-pattern-builder-0.0.6.tar.gz" } ], "0.0.7": [ { "comment_text": "", "digests": { "md5": "aa1423641e40f6c1fb3e161399113a54", "sha256": "6de306a7fde4ec40753c7943eb0aff4cd870eddd3892224b9e756ea6a20c329b" }, "downloads": -1, "filename": "spacy_pattern_builder-0.0.7-py3-none-any.whl", "has_sig": false, "md5_digest": "aa1423641e40f6c1fb3e161399113a54", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 10652, "upload_time": "2019-09-03T09:07:59", "url": "https://files.pythonhosted.org/packages/5f/be/04836f7353cd6b610eb437cba90572dc32acf63a851c1c93901195b2118e/spacy_pattern_builder-0.0.7-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "3028383bee550f5fac1a1067a3159f97", "sha256": "9be924640bd4d72d09da2647f39c82a73db535724a8bd609f633835a3efcb2a6" }, "downloads": -1, "filename": "spacy-pattern-builder-0.0.7.tar.gz", "has_sig": false, "md5_digest": "3028383bee550f5fac1a1067a3159f97", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8134, "upload_time": "2019-09-03T09:08:01", "url": "https://files.pythonhosted.org/packages/ab/8b/4a96ae0f1e936a600a4083bf7725c1380bd79e97ddf4ab9a64fb566b5b74/spacy-pattern-builder-0.0.7.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "aa1423641e40f6c1fb3e161399113a54", "sha256": "6de306a7fde4ec40753c7943eb0aff4cd870eddd3892224b9e756ea6a20c329b" }, "downloads": -1, "filename": "spacy_pattern_builder-0.0.7-py3-none-any.whl", "has_sig": false, "md5_digest": "aa1423641e40f6c1fb3e161399113a54", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 10652, "upload_time": "2019-09-03T09:07:59", "url": "https://files.pythonhosted.org/packages/5f/be/04836f7353cd6b610eb437cba90572dc32acf63a851c1c93901195b2118e/spacy_pattern_builder-0.0.7-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "3028383bee550f5fac1a1067a3159f97", "sha256": "9be924640bd4d72d09da2647f39c82a73db535724a8bd609f633835a3efcb2a6" }, "downloads": -1, "filename": "spacy-pattern-builder-0.0.7.tar.gz", "has_sig": false, "md5_digest": "3028383bee550f5fac1a1067a3159f97", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8134, "upload_time": "2019-09-03T09:08:01", "url": "https://files.pythonhosted.org/packages/ab/8b/4a96ae0f1e936a600a4083bf7725c1380bd79e97ddf4ab9a64fb566b5b74/spacy-pattern-builder-0.0.7.tar.gz" } ] }