CKIP CoreNLP Wrappers¶
Introduction¶
Author¶
- Mu Yang <emfomy@gmail.com>
Requirements¶
- Python 3.5+
- PLY (Python Lex-Yacc) 3.11+
- TreeLib 1.5.5+
- wcwidth 0.1.7+
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:
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
ehn package¶
Submodules¶
ehn.node module¶
-
class
ehn.node.
EhnRootNode
(*features)[source]¶ Bases:
ehn.node.EhnNodeBase
-
features
¶
-
-
class
ehn.node.
EhnEntityBase
[source]¶ Bases:
ehn.node.EhnNodeBase
-
class
ehn.node.
EhnNormalEntity
(head, *features, anchor=)[source]¶ Bases:
ehn.node.EhnEntityBase
-
anchor
¶
-
features
¶
-
-
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
¶
-