从UD到增强UD表示的python转换器

ud2ude的Python项目详细描述


乌德乌德

这个(名字不好的)UD2UDE项目(代表通用依赖性到通用依赖性增强)是一个“u2dude”项目系列的主要项目,所有这些都与我论文的主要目标有关。在

  1. Converter:(当前项目,)对enhancedUD converter的通用依赖性,旨在将core nlp的Java转换器移植到python(3.6)转换器中,并嵌入我研究过的插件(“extra或Aryeh的增强”)。在
  2. Model:基于UD(和PENN转换为UD)数据集的spaCy训练模型。在
  3. Demo:{将在稳定时移动到public}JS和python代码,利用转换器。只需检查一下here

Converter

The converter converts UD (v1.4) to enhancedUD, enhancedUD++, and extra-enhancements (discovered as part of my thesis). It supports Conll-U and Odin formats (and some conversions between them).

Generally, I tried to maintain the same behavior (mentioned here,这是由{a8})尽可能合理地实现的。在

转换器包括以下转换:

paper (or here)UD formal guidelines (v2)coreNLP codeConverternotes
nmod/acl/advcl case infoeUDeUD (under 'obl' for v2)eUDeUD1. Even though multi-word prepositions are processed only under eUD++, it is still handled under eUD to add it in the case information.
2. Lowercased (and not lemmatized - important for MWP)
Passive agent--eUDeUDOnly if the nmod both has a "by" son and has an 'auxpass' sibling, then instead of nmod:by we fix to nmod:agent
conj case infoeUDeUDeUDeUD1. Adds the type of conjunction to all conjunct relations
2. Some multi-word coordination markers are collapsed to conj:and or conj:negcc
Process Multi-word prepositionseUD++eUD (?)eUD++eUD++Predetermined lists of 2w and 3w preps.
Demote quantificational modifiers (A.K.A Partitives and light noun constructions)eUD++(see here)eUD++eUD++Predetermined list of the quantifier or light noun.
Conjoined prepositions and prepositional phraseseUD++-eUD++eUD++
Propagated governors and dependentseUD (A, B, C)eUD (A, B, C, D)eUD (A, B, C)eUD (A, B, C)1. This includes: (A) conjoined noun phrases, (B) conjoined adjectival phrases, (C) subjects of conjoined verbs, and (D) objects of conjoined verbs.
2. Notice (D) is relevant to be added theoretically but was omitted for practical uncertainty (see 4.2 at the paper).
Subjects of controlled verbseUDeUDeUDeUD1. Includes the special case of 'to' with no following verb ("he decided not to").
2. Heuristic for choosing the propagated subject (according to coreNLP docu): if the control verb has an object it is propagated as the subject of the controlled verb, otherwise they use the subject of the control verb.
Subjects of controlled verbs - when 'to' marker is missing??-extra1. Example: "I started reading the book"
2. For some reason not included in the coreNLP code, unsure why
Relative pronounseUD++eUD (?)eUD++eUD++
Reduced relative clause-eUD (?)-extra
Subjects of adverbial clauses---extraHeuristic for choosing the propagated entity:
1. If the marker is "to", the object (if it is animated - but for now we don’t enforce it) of the main clause is propagated as subject, otherwise the subject of the main clause is propagated.
2. Else, if the marker is not one of "as/so/when/if" (this includes no marker at all which is mostly equivalent to "while" marker), both the subject and the object of the main clause are equivalent options (unless no object found, then the subject is propagated).
Noun-modifying participles(see here)--extra
Correct possible subject of Noun-modifying participles---extra1. This is a correctness of the subject decision of the previous bullet.
2. If the noun being modified is an object/modifier of a verb with some subject, then that subject might be the subject of the Noun-modifying participle as well. (it is uncertain, and seems to be correct only for the more abstract nouns, but that’s just a first impression).
Propagated modifiers (in conjunction constructions)---extraHeuristics and assumptions:
1. Modifiers that appear after both parts of the conjunction may (the ratio should be researched) refer to both parts. Moreover, If the modifiers father is not the immediate conjunction part, then all the conjunction parts between the father and the modifier are (most probably) modified by the modifier.
2. If the modifier father is the immediate conjunction part, we propagate the modifier backward only if the new father, doesn't have any modifiers sons (this is to restrict a bit the amount of false-positives).
3. We don’t propagate modifier forwardly (that is, if the conjunct part appears after the modifier, we assume they don’t refer).
4. Should be tested for cost/effectiveness as it may bring many false-positives.
Locative and temporal adverbial modifier propagation (indexicals)---extra1. Rational: If a locative or temporal adverbial modifier is stretched away from the verb through a subject/object/modifier(nmod) it should be applied as well to the verb itself.
2. Example: "He was running around, in these woods here".
Subject propagation of 'dep'---extraRational: 'dep' is already problematic, as the parser didn't know what relation to assign it. In case the secondary clause doesn't have a subject, most probably it should come from the main clause. It is probably an advcl/conj/parataxis/or so that was missing some marker/cc/punctuation/etc.
Apposition propagation(see here)--extra
nmod propagation through subj/obj/nmod---extraFor now we propagate only modifiers cased by 'like' or 'such_as' prepositions (As they imply reflexivity), and we copy their heads' relation (that is, obj for obj subj for subj and nmod for nmod with its corresponding case).
possessive---extraShare possessive modifiers through conjunctions (e.g. My father and mother went home -> My father and (my) mother...
Expanding multi word prepositions---extraAdd an nmod relation when advmod+nmod is observed while concatinating the advmod and preposition to be the new modifiers preposition (this expands the closed set of eUD's 'Process Multi-word preposition').
Active-passive alteration(see here)--extraInvert subject and object of passive construction (while keeping the old ones).
Copula alteration---extraAdd a verb placeholder, reconstruct the tree as if the verb was there.
Hyphen alteration---extraAdd subject and modifier relations to the verb in the middle of an noun-verb adjectival modifing another noun (e.g. a Miami-based company).

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

推荐PyPI第三方库


热门话题
java不兼容类型:MainActivity无法转换为LifecycleOwner   java安卓是一种更有效的读取大文本文件的方法   java导出LWJGL本地人与项目?(IntelliJ IDEA)   JDK更新后,JavaJShell不再在下一行打印输出   父类对象上的继承Java比较子属性   Java:有没有一个容器可以有效地结合HashMap和ArrayList?   安卓 Java对象指针   java在annotationdriven Spring MVC应用程序中实现大气   java 安卓源代码构建应用找不到安卓supportv4。罐子   文件系统上的抽象层和Java中的jar/zip   java在水平滚动视图中添加多个图像?   java如何从firebase实时数据库中获取字符串数组   WIndows 10工作站上的java未满足链接错误   java命令在终端中工作,但在使用过程中出现“无结束引号”错误。执行官