使用REGEXP和字典中的标记在UIMA中创建注释

使用REGEXP和字典中的标记在UIMA中创建注释,regex,uima,ruta,Regex,Uima,Ruta,我需要使用正则表达式和字典中的标记来标记注释。这是我的规则 任何{REGEXP(“new”)、Book.names.ct==“personal Book”->MARK(newpersonal Book)} 必须使用以下输入: 新个人书籍申请 打开一本新的个人书籍 该程序在代码中没有显示错误,但没有为输入标记注释“NewPersonalBook”。 如何解决这个问题?我不确定是否理解您的情况,但我试图复制您试图做的事情 我创建了一本单词表个人书,nicebook personal book, ni

我需要使用正则表达式和字典中的标记来标记注释。这是我的规则

任何{REGEXP(“new”)、Book.names.ct==“personal Book”->MARK(newpersonal Book)}

必须使用以下输入:

  • 新个人书籍申请
  • 打开一本新的个人书籍
  • 该程序在代码中没有显示错误,但没有为输入标记注释“NewPersonalBook”。
    如何解决这个问题?

    我不确定是否理解您的情况,但我试图复制您试图做的事情

    我创建了一本单词表个人书,nicebook

    personal book, nicebook 然后我有我的文本示例

    new personal book application. open a new personal book. my new nicebook is nice. 新的个人书籍申请。打开一本新的个人书籍。我的新书很好。 剧本

    WORDLIST BooksList = 'books.txt'; DECLARE Book, NewBook; Document{-> MARKFAST(Book, BooksList)}; W{REGEXP("new")} Book.ct == "personal book" {-> MARK(NewBook, 1, 2)}; //if you want to test a specific text W{REGEXP("new")} Book {-> MARK(NewBook, 1, 2)}; //this will annotate NewBook for a books with the word new before it WORDLIST BooksList='books.txt'; 申报书,新书; 文件{->MARKFAST(书籍、图书列表)}; W{REGEXP(“new”)}Book.ct==“个人书籍”{->MARK(NewBook,1,2)}//如果要测试特定的文本 W{REGEXP(“new”)}书{->MARK(NewBook,1,2)}//这将在NewBook之前为一本书添加新的注释 如果您不希望“new”单词带有注释,则需要删除整数参数(因为它们表示您希望涵盖的范围,在本例中,第一个匹配的文本“new”,第二个匹配的文本将是图书文本)


    免责声明:我是UIMA RUTA的新手,希望这能有所帮助

    我不确定我是否理解你的情况,但我试图复制你试图做的事情

    我创建了一本单词表个人书,nicebook

    personal book, nicebook 然后我有我的文本示例

    new personal book application. open a new personal book. my new nicebook is nice. 新的个人书籍申请。打开一本新的个人书籍。我的新书很好。 剧本

    WORDLIST BooksList = 'books.txt'; DECLARE Book, NewBook; Document{-> MARKFAST(Book, BooksList)}; W{REGEXP("new")} Book.ct == "personal book" {-> MARK(NewBook, 1, 2)}; //if you want to test a specific text W{REGEXP("new")} Book {-> MARK(NewBook, 1, 2)}; //this will annotate NewBook for a books with the word new before it WORDLIST BooksList='books.txt'; 申报书,新书; 文件{->MARKFAST(书籍、图书列表)}; W{REGEXP(“new”)}Book.ct==“个人书籍”{->MARK(NewBook,1,2)}//如果要测试特定的文本 W{REGEXP(“new”)}书{->MARK(NewBook,1,2)}//这将在NewBook之前为一本书添加新的注释 如果您不希望“new”单词带有注释,则需要删除整数参数(因为它们表示您希望涵盖的范围,在本例中,第一个匹配的文本“new”,第二个匹配的文本将是图书文本)


    免责声明:我是UIMA RUTA新手,希望这有助于解决问题,因为问题可能是第二个条件,即尝试解决类型手册的注释,其偏移量与任何类型的匹配注释相同。如果不是文本span“new”,图书注释可能会更大。所以条件不匹配。你能扩展这个例子吗?也许像下面这样的东西可以工作:
    b:Book{b.names.ct==“personal Book”,REGEXP(.*new.*)->NewPersonalBook}
    I gues问题可能是第二种情况,它试图解决类型Book的注释,其偏移量与匹配类型ANY的注释的偏移量相同。如果不是文本span“new”,图书注释可能会更大。所以条件不匹配。你能扩展这个例子吗?也许像下面这样的东西可以工作:
    b:Book{b.names.ct==“personal Book”,REGEXP(.*new.*)->NewPersonalBook}