CKIP CoreNLP Wrappers
Project description
Introduction
Git
PyPI
Documentation
Contributers
Wei-Yun Ma at CKIP (Maintainer)
External Links
Requirements
CKIPWS (Optional)
CKIP Word Segmentation Linux version 20190524+
CKIPParser (Optional)
CKIP Parser Linux version 20190506+ (20190725+ recommended)
Installation
Denote <ckipws-linux-root> as the root path of CKIPWS Linux Version, and <ckipparser-linux-root> as the root path of CKIPParser Linux Version.
Install Using Pip
pip install --upgrade ckipnlp
pip install --no-deps --force-reinstall --upgrade ckipnlp \
--install-option='--ws' \
--install-option='--ws-dir=<ckipws-linux-root>' \
--install-option='--parser' \
--install-option='--parser-dir=<ckipparser-linux-root>'
Ignore ws/parser options if one doesn’t have CKIPWS/CKIPParser.
Installation Options
Option |
Detail |
Default Value |
---|---|---|
--[no-]ws |
Enable/disable CKIPWS. |
False |
--[no-]parser |
Enable/disable CKIPParser. |
False |
--ws-dir=<ws-dir> |
CKIPWS root directory. |
|
--ws-lib-dir=<ws-lib-dir> |
CKIPWS libraries directory |
<ws-dir>/lib |
--ws-share-dir=<ws-share-dir> |
CKIPWS share directory |
<ws-dir> |
--parser-dir=<parser-dir> |
CKIPParser root directory. |
|
--parser-lib-dir=<parser-lib-dir> |
CKIPParser libraries directory |
<parser-dir>/lib |
--parser-share-dir=<parser-share-dir> |
CKIPParser share directory |
<parser-dir> |
--data2-dir=<data2-dir> |
“Data2” directory |
<ws-share-dir>/Data2 |
--rule-dir=<rule-dir> |
“Rule” directory |
<parser-share-dir>/Rule |
--rdb-dir=<rdb-dir> |
“RDB” directory |
<parser-share-dir>/RDB |
Usage
See http://ckipnlp.readthedocs.io/ for API details.
CKIPWS
import ckipnlp.ws
print(ckipnlp.__name__, ckipnlp.__version__)
ws = ckipnlp.ws.CkipWs(logger=False)
print(ws('中文字喔'))
for l in ws.apply_list(['中文字喔', '啊哈哈哈']): print(l)
ws.apply_file(ifile='sample/sample.txt', ofile='output/sample.tag', uwfile='output/sample.uw')
with open('output/sample.tag') as fin:
print(fin.read())
with open('output/sample.uw') as fin:
print(fin.read())
CKIPParser
import ckipnlp.parser
print(ckipnlp.__name__, ckipnlp.__version__)
ps = ckipnlp.parser.CkipParser(logger=False)
print(ps('中文字喔'))
for l in ps.apply_list(['中文字喔', '啊哈哈哈']): print(l)
ps.apply_file(ifile='sample/sample.txt', ofile='output/sample.tree')
with open('output/sample.tree') as fin:
print(fin.read())
Utilities
import ckipnlp
print(ckipnlp.__name__, ckipnlp.__version__)
from ckipnlp.util.ws import *
from ckipnlp.util.parser import *
# Format CkipWs output
ws_text = ['中文字(Na) 喔(T)', '啊哈(I) 哈哈(D)']
# Show Sentence List
ws_sents = WsSentenceList.from_text(ws_text)
print(repr(ws_sents))
print(ws_sents.to_text())
# Show Each Sentence
for ws_sent in ws_sents: print(repr(ws_sent))
for ws_sent in ws_sents: print(ws_sent.to_text())
# Show CkipParser output as tree
tree_text = '#1:1.[0] S(theme:NP(possessor:N‧的(head:Nhaa:我|Head:DE:的)|Head:Nab(DUMMY1:Nab(DUMMY1:Nab:早餐|Head:Caa:、|DUMMY2:Naa:午餐)|Head:Caa:和|DUMMY2:Nab:晚餐))|quantity:Dab:都|target:PP(Head:P30:往|DUMMY:NP(property:Ncb:天|Head:Ncda:上))|Head:VA11:飛|aspect:Di:了)#'
tree = ParserTree.from_text(tree_text)
tree.show()
# Get heads of tree
for node in tree.get_heads(): print(node)
# Get heads of node 1
for node in tree.get_heads(1): print(node)
# Get heads of node 2
for node in tree.get_heads(2): print(node)
# Get heads of node 13
for node in tree.get_heads(13): print(node)
# Get relations
for rel in tree.get_relations(): print(rel)
FAQ
License
Copyright (c) 2018-2020 CKIP Lab under the CC BY-NC-SA 4.0 License.
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.