CKIP CoreNLP Wrappers

Introduction

Author

Requirements

Installation

pip install ehownet -U

Usage

E-HowNet Parser

See http://ehownet.readthedocs.io/src/grammar.html for E-HowNet grammar.

CLI

# Usage
ehn-parser <text> [<text> ...]

# Example
ehn-parser \
   "{MusicTool|樂器_x:predication={own|有:possession={按鈕|PushingButton:whole={x}}}}" \
   "{InstitutePlace|場所:telic={or({experiment|實驗:location={~}},{research|研究:location={~}})}}" \
   "TimePoint={},manner={urgent|急}"

Output:

Python API

from ehn.parse import EhnParser

text = '{MusicTool|樂器_x:predication={own|有:possession={按鈕|PushingButton:whole={x}}}}'

parser = EhnParser()
ress = parser(text, debug=False)
for res in ress:
   print(res)

Output:

License

CC BY-NC-SA 4.0

Copyright (c) 2019 Mu Yang under the CC-BY-NC-SA 4.0 License. All rights reserved.

E-HowNet Grammar

Text

TEXT
[A-Za-z0-9\x80-\U0010FFFF|+\-.]+
NUMBER
e.g. 1, 0.1, 1e-4
COINDEX
x[0-9]*

Node

Entity

ehn.node.EhnNormalEntity
  • {TEXT}
  • {TEXT:FEATURE}
  • {TEXT:FEATURE,FEATURE}
  • {TEXT:FEATURE,FEATURE,...}
  • {TEXT_COINDEX:FEATURE}
  • {TEXT_COINDEX:FEATURE,FEATURE}
  • {TEXT_COINDEX:FEATURE,FEATURE,...}
ehn.node.EhnFunctionEntity
  • {FUNCTION}
  • {FUNCTION:FEATURE}
  • {FUNCTION:FEATURE,FEATURE}
  • {FUNCTION:FEATURE,FEATURE,...}
  • {FUNCTION_COINDEX:FEATURE}
  • {FUNCTION_COINDEX:FEATURE,FEATURE}
  • {FUNCTION_COINDEX:FEATURE,FEATURE,...}
ehn.node.EhnAnyEntity
{}
ehn.node.EhnTildeEntity
{~} (deprecated)
ehn.node.EhnNameEntity
{"TEXT"}
ehn.node.EhnNumberEntity
{NUMBER}
ehn.node.EhnCoindexEntity
{COINDEX}

Feature

ehn.node.EhnNormalFeature
  • TEXT=ENTITY
  • TEXT=RESTRICTION
ehn.node.EhnFunctionFeature
  • FUNCTION=ENTITY
  • FUNCTION=RESTRICTION

Function

ehn.node.EhnFunction
  • TEXT()
  • TEXT(RESTRICTION)
  • TEXT(ENTITY)
  • TEXT(ENTITY,ENTITY)
  • TEXT(ENTITY,ENTITY,...)

Restriction

ehn.node.EhnRestriction
  • /ENTITY
  • /ENTITY_COINDEX

Valid Expression

ENTITY or any number of FEATUREs joined by ,s.

Examples

  • ENTITY
  • FEATURE
  • FEATURE,FEATURE
  • FEATURE,FEATURE,FEATURE

ehn package

Submodules

ehn.node module

class ehn.node.EhnNodeBase[source]

Bases: object

head

Head name of this node.

nodes()[source]

Yield all descendant nodes (including self) of this node.

tree()[source]

Get tree representation of this node.

class ehn.node.EhnFunctionHeadBase[source]

Bases: object

head
function
class ehn.node.EhnAnchor(head=None)[source]

Bases: object

class ehn.node.EhnRootNode(*features)[source]

Bases: ehn.node.EhnNodeBase

features
add_feature(feature)[source]
class ehn.node.EhnEntityBase[source]

Bases: ehn.node.EhnNodeBase

class ehn.node.EhnNormalEntity(head, *features, anchor=)[source]

Bases: ehn.node.EhnEntityBase

anchor
features
add_feature(feature)[source]
class ehn.node.EhnFunctionEntity(function, *features, anchor=)[source]

Bases: ehn.node.EhnFunctionHeadBase, ehn.node.EhnNormalEntity

class ehn.node.EhnAnyEntity[source]

Bases: ehn.node.EhnEntityBase

head

Head name of this node.

class ehn.node.EhnTildeEntity[source]

Bases: ehn.node.EhnEntityBase

head

Head name of this node.

class ehn.node.EhnNameEntity(head)[source]

Bases: ehn.node.EhnEntityBase

class ehn.node.EhnNumberEntity(head)[source]

Bases: ehn.node.EhnEntityBase

class ehn.node.EhnCoindexEntity(head)[source]

Bases: ehn.node.EhnEntityBase

class ehn.node.EhnFeatureBase[source]

Bases: ehn.node.EhnNodeBase

class ehn.node.EhnNormalFeature(head, value)[source]

Bases: ehn.node.EhnFeatureBase

value
class ehn.node.EhnFunctionFeature(function, value)[source]

Bases: ehn.node.EhnFunctionHeadBase, ehn.node.EhnNormalFeature

class ehn.node.EhnFunction(head, *arguments)[source]

Bases: ehn.node.EhnNodeBase

arguments
add_argument(argument)[source]
class ehn.node.EhnRestriction(value, anchor=)[source]

Bases: ehn.node.EhnNodeBase

head

Head name of this node.

value
anchor

ehn.parse module

exception ehn.parse.EhnSyntaxError(*args, pos=None)[source]

Bases: SyntaxError

show_pos(text)[source]

Show error position.

Parameters:text (str) – original input text
class ehn.parse.EhnLexer(**kwargs)[source]

Bases: ehn.parse._EhnLexer

E-HowNet Lexer.

class ehn.parse.EhnParser(lexer=None, **kwargs)[source]

Bases: ehn.parse._EhnParser

E-HowNet Parser.

Todo List

Index

Module Index