Skip to main content

CKIP CoreNLP Wrappers

Project description

Introduction

Git

https://github.com/ckiplab/ckipnlp

GitHub Version GitHub Release GitHub Issues

PyPI

https://pypi.org/project/ckipnlp

PyPI Version PyPI License PyPI Downloads PyPI Python PyPI Implementation PyPI Status

Documentation

https://ckipnlp.readthedocs.io/

ReadTheDocs Home

Contributers

Requirements

CKIPWS (Optional)

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

CC BY-NC-SA 4.0

Copyright (c) 2018-2020 CKIP Lab under the CC BY-NC-SA 4.0 License.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ckipnlp-0.7.2.tar.gz (18.4 kB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page