基于谓词逻辑的英德语文本信息抽取

holmes-extractor的Python项目详细描述


holmes是一个python 3库(在3.7.2版中测试),它支持 涉及从英语和德语文本中提取信息的用例。在所有用例中,信息提取 是基于分析每个句子的组成部分所表达的语义关系:

  • chatbot用例中,系统使用一个或多个搜索短语进行配置。 然后,福尔摩斯寻找其含义与这些搜索短语的含义相对应的结构。 已搜索的文档,在本例中,它对应于单个文本或语音片段 由最终用户输入或发出。在匹配中,搜索短语中的每个非语法单词 对应于文档中的一个或多个非语法单词,然后可以将其提取为结构化信息。

  • structural matching用例使用的技术基础与chatbot完全相同 情况下,但是搜索相对于预先存在的文档或文档来说通常是非常多的。 比chatbot用例中分析的代码片段长。

  • topic matching用例的目的是在一个或多个文档中找到其含义的段落 类似于另一个文档,它承担query文档的角色,或者类似于 查询短语由用户临时输入。holmes从查询短语或 查询文档,根据每个短语匹配要搜索的文档,并合并要查找的结果 文件中最相关的段落。因为没有严格的要求 查询文档中的单词与所搜索文档中的一个或多个特定单词匹配,则会找到更多匹配项 在结构匹配用例中,但是匹配不包含可以 用于后续处理。

  • supervised document classification用例使用培训数据 学习一个分类器,该分类器根据新文档的内容为新文档分配一个或多个分类标签。 它通过将新文档与从 与在主题匹配用例中从查询文档中提取短语的方法相同。技术是 灵感来源于基于单词包的分类算法,该算法使用n-grams,但目的是导出其组件的n-grams 词汇在语义上是相互关联的,而不是恰好在语言的表面表示中是相邻的。

在所有四个用例中,单个单词使用number of strategies匹配。 找出包含单独匹配单词的两个语法结构是否在逻辑上和 构成匹配,holmes转换由spaCy库提供的语法分析信息 进入语义结构,允许使用谓词逻辑比较文本。作为福尔摩斯的使用者,你不需要 了解这一过程的复杂性,尽管有一些 important tips为聊天机器人和 结构化匹配用例,您应该尝试并加入其中。

霍姆斯的目标是提供通用的解决方案,这些解决方案可以或多或少地与 相对较少的调整、调整或训练,并且能够快速地应用于广泛的用例。 其核心是一个逻辑的、可编程的、基于规则的系统,它描述了 语言表达语义关系。尽管受监督的文档分类用例确实包含了 神经网络,尽管霍姆斯所建立的空间库本身已经用机器进行了预先训练。 学习,本质上是基于规则的性质,霍姆斯意味着聊天机器人,结构匹配和主题匹配使用 可以放箱子在未经任何培训的情况下使用开箱即用和监督文件分类用例 通常需要相对较少的训练数据,这是一个很大的优势,因为预先标记的训练数据 不适用于许多现实问题。

有关详细信息,请参见main documentation on Github

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java为什么加载个人密钥库需要这么多时间?   当我使用main创建Android应用程序UI时,如何通过java修改它。xml文件?   java Tomcat 6和7:WebappClassLoader:尝试为名称org/apache/openjpa/persistence/osgi/BundleUtils复制类定义   java`parseInt()`和`parseDouble()`throw`NumberFormatExeption`   JavaSpringMongoDB填充引用   在LinuxMint中打开Eclipse时发生java错误;OpenJDK 64位服务器VM警告:忽略选项MaxPermSize=512m;支持在8.0中被删除   使用PKCS7Padding的AES CBC加密在Java和Objective中有不同的结果   java为什么Jackson要用一个以类命名的额外层来包装我的对象?   json在Java中使用parallelStream提取值   JavaSpring存储库自动生成方法:按给定的顶部编号+按字段描述排序选择   java是否有可序列化的标准闭包接口?   .NET与Java在初创公司的web应用程序开发   如何修复java。java中的lang.unsatifiedLinkError   JavaFX+Spring Boot+Hibernate应用程序对多个环境的java支持   自定义视图组中的java更改未呈现