当前位置: 首页 > 知识库问答 >
问题:

使用stanfordnlp库中的REGEXNER注释作者姓名

胡致远
2023-03-14
import stanfordnlp

from stanfordnlp.server import CoreNLPClient
# example text
print('---')
print('input text')
print('')

text = "In practice, its scope is broad and includes the analysis of a diverse set of samples such as gut microbiome (Qin et al., 2010), (Minot et al., 2011), environmental (Mizuno et al., 2013) or clinical (Willner et al., 2009), (Negredo et al., 2011), (McMullan et al., 2012) samples."

# set up the client
print('---')
print('starting up Java Stanford CoreNLP Server...')
#Properties dictionary
prop={'regexner.mapping': 'rgxrules.txt', 'annotators': 'tokenize,ssplit,pos,lemma,ner,regexner'}
# set up the client


with CoreNLPClient(properties=prop,timeout=100000, memory='16G',be_quiet=False ) as client:
    # submit the request to the server
    ann = client.annotate(text)
    # get the first sentence
    sentence = ann.sentence[0]

我试图解决这个问题,就是将这一行添加到传递给CorenlpClient的rgxrules.txt文件中。下面是我在这个文件中的一行:

[[A-Z][a-z]] /et/ /al\./\tPERSON

这并不能解决运行代码时可以检查的问题。另外,我不知道如何补充一个事实,我只想要与[[A-Z][A-Z]]匹配的词,而且这个词出现在等前面。要用人称来注释,而不是整个句子“迈诺特等人”。例如。

你知道我怎么解决这个问题吗。

共有1个答案

程亦
2023-03-14

在匹配java正则表达式方面,我很确定您需要类似于

[A-Za-z]+等[.]

但是,我不知道有什么方法可以避免标记例如让一个令牌向前看。如果在regex文件中添加另一行,用O替换会发生什么?可能需要说明PersonO允许的覆盖

 类似资料:
  • 我有一把刀: 问题是,当我试图使用DAO进行加载调用时,使用DynamoDBMapper以field d1作为哈希键来获取项目,它会抛出一个DynamoDBExc0019,说:为公共DAO. getField2()找到了空键,但实际上表的值对应于field d2。问题,这是因为Lombok注释而不是手动突变代码,还是一般来说我们一起使用Lombok和DynamoDBAnnotions?

  • 在我们的git日志中,我们有时会在Author列的用户名后面看到一个星号。同一用户在其他提交中列出时没有星号。 星号代表什么? 我正在使用IntelliJ IDEA 15.0.6。

  • 我对这条规则有两个问题: > 在注释函数的最后一个参数中,我找不到正确的语法来将文本字符串与捕获组变量组合在一起。上面的“操作”字段导致以下异常: ParseException:在第34行第72列遇到“+”“+”。我期待其中之一:“)”...“,”... 显然,当我使用“+”将字符串追加到一起时,最后一个参数没有正确地强制转换为字符串。 将最后一个参数中的字符串组合到注释函数中的正确方法是什么?

  • 我已经制作了几个应用程序,它们使用了纯注释Spring配置。现在,我想试着建一个图书馆。 < li >库应该使用纯注释Spring配置。 < li >使用该库的项目应该能够在没有任何特殊Spring配置的情况下使用该库。事实上,我希望这个库可以与Spring和非Spring项目互换使用。所有的Spring配置都应该在库jar中处理。 < li >该库应该可用于非web应用程序的项目。 < li >

  • 我有一个仅有一个简单rest控制器的Spring-Boot应用程序。在这个控制器上,我添加了jmx注释@ManagedResource和@ManagedOperation,它工作得很好。它在JMX中被正确地公开。这个应用程序依赖于一个“全局共享”库来共享我们所有模块的许多基本功能。 但是如果我向这个库中的一个类添加相同的注释,它就会被忽略!在您询问之前,是的,库是用最新的更改导入的。日志中没有错误

  • 我有一个简单的类叫BeaconDao 然而,当我用@service或@component标记beaconDao时,一切都运行得非常好。有人能看出问题所在吗?