yargy, 用于信息提取的小封装

分享于 

3分钟阅读

GitHub

  繁體 雙語
Tiny package for information extraction
  • 源代码名称:yargy
  • 源代码网址:http://www.github.com/natasha/yargy
  • yargy源代码文档
  • yargy源代码下载
  • Git URL:
    git://www.github.com/natasha/yargy.git
    Git Clone代码到本地:
    git clone http://www.github.com/natasha/yargy
    Subversion代码到本地:
    $ svn co --depth empty http://www.github.com/natasha/yargy
    Checked out revision 1.
    $ cd repo
    $ svn up trunk
    
    Yargy Build StatusBuild statusDocumentation StatusPyPI

    Yargy 是一个Earley解析器,它使用俄语形态学进行事实提取过程,并用纯 python 编写

    安装

    Yargy 同时支持 python 2.7 +/3,3+版本,包括 PyPy。

    $ pip install yargy
    用法
    from yargy import Parser, rule, and_, not_from yargy.interpretation import factfrom yargy.predicates import gramfrom yargy.relations import gnc_relationfrom yargy.pipelines import morph_pipeline
    Name = fact(
     'Name',
     ['first', 'last'],
    )
    Person = fact(
     'Person',
     ['position', 'name']
    )LAST= and_(
     gram('Surn'),
     not_(gram('Abbr')),
    )FIRST= and_(
     gram('Name'),
     not_(gram('Abbr')),
    )POSITION= morph_pipeline([
     'управляющий директор',
     'вице-мэр'])
    gnc = gnc_relation()NAME= rule(
     FIRST.interpretation(
     Name.first
     ).match(gnc),
     LAST.interpretation(
     Name.last
     ).match(gnc)
    ).interpretation(
     Name
    )PERSON= rule(
     POSITION.interpretation(
     Person.position
     ).match(gnc),
     NAME.interpretation(
     Person.name
     )
    ).interpretation(
     Person
    )
    parser = Parser(PERSON)
    match = parser.match('управляющий директор Иван Ульянов')print(match)

    在输出中,你将看到如下所示的内容:

    Person(
     position='управляющий директор',
     name=Name(
     first='Иван',
     last='Ульянов')

    有关语法语法。谓词和管道的详细信息,请参阅 Yargy文档

    许可证

    Yargy 源代码在MIT许可下分发( 允许修改和商业使用)

    支持

    ext  PAC  Extra  info  tiny  informat  
    相关文章