Phrase recognizer component for spacy pipeline
Project description
Installation from pip3
pip3 install --verbose phrase_detective
python -m spacy download en_core_web_trf
python -m spacy download es_dep_news_trf
python -m spacy download de_dep_news_trf
Usage
Please refer to api docs
Detect noun phrases
import spacy
from spacy import Language
from phrase_detective import NounPhraseRecognizer, PKG_INDICES
@Language.factory("nprecog")
def create_np_parser(nlp: Language, name: str):
return NounPhraseRecognizer(nlp)
def noun_phrase(lang, sentence):
nlp = spacy.load(PKG_INDICES[lang])
nlp.add_pipe("nprecog")
doc = nlp(sentence)
for np in doc._.noun_phrases:
print(np.text)
Detect verb phrases
import spacy
from spacy import Language
from phrase_detective import VerbKnowledgeRecognizer, PKG_INDICES
@Language.factory("vkbrecog")
def create_vkb_parser(nlp: Language, name: str):
return VerbKnowledgeRecognizer(nlp)
def verb_knowledge(lang, sentence):
nlp = spacy.load(PKG_INDICES[lang])
nlp.add_pipe("vkbrecog")
doc = nlp(sentence)
for v in doc._.verbs:
print("TEXT: {}, TAG: {}, FORM: {}, ORIGNAL: {}".format(v.text, v.tag_, spacy.explain(v.tag_), v.lemma_))
for pp in doc._.passive_phrases:
print(pp.text)
for vp in doc._.verb_phrases:
print(vp)
Development
Clone project
git clone https://github.com/qishe-nlp/phrase-detective.git
Install poetry
Install dependencies
poetry update
Test and Issue
poetry run pytest -rP
which run tests under tests/*
Create sphinx docs
poetry shell
cd apidocs
sphinx-apidoc -f -o source ../phrase_detective
make html
python -m http.server -d build/html
Hose docs on github pages
cp -rf apidocs/build/html/* docs/
Build
- Change
version
inpyproject.toml
andphrase_detective/__init__.py
- Build python package by
poetry build
Git commit and push
Publish from local dev env
- Set pypi test environment variables in poetry, refer to poetry doc
- Publish to pypi test by
poetry publish -r test
Publish through CI
- Github action build and publish package to test pypi repo
git tag [x.x.x]
git push origin master
- Manually publish to pypi repo through github action
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Close
Hashes for phrase_detective-0.1.33-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 32dac3271eaa3009bdcb464e227224f4f4826f4a96d0881f2830672a0b619718 |
|
MD5 | fe71a6f4818cbb2349da97fd05c1e178 |
|
BLAKE2b-256 | a9cb2cf27780ecfdd8661e954d2663439d3fcdeaf271537fffb83fb8c3df9a47 |