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
Please refer to api docs
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)
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)
git clone https://github.com/qishe-nlp/phrase-detective.git
Install poetry
poetry update
poetry run pytest -rP
which run tests under tests/*
poetry shell
cd apidocs
sphinx-apidoc -f -o source ../phrase_detective
make html
python -m http.server -d build/html
cp -rf apidocs/build/html/* docs/
- Change
version
inpyproject.toml
andphrase_detective/__init__.py
- Build python package by
poetry build
- Set pypi test environment variables in poetry, refer to poetry doc
- Publish to pypi test by
poetry publish -r test
- 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