1

我有一套财务文件(定期存款文件、信用卡文件)。我想自动识别和标记这些文档中的金融实体/工具。

例如,如果文件中包含“保留在不通知的情况下以利息偿还的权利”这一短语。我想识别与之相关的财务术语,并用它标记,对于这句话,它是“可调用的”。对于“允许提前提款”这个短语,相关的财务术语是“Putable”,所以如果这个短语在文档中,我想用术语“Putable”标记它。

金融术语将来自金融行业业务本体。有没有可能为此目的使用斯坦福解析器?我可以为此目的使用 POS 标记器吗?我可能必须用金融工具训练斯坦福解析器,如果可能的话,我如何训练斯坦福解析器来识别金融工具?

4

3 回答 3

7

开箱即用的解析器或词性标注器不会识别诸如此类的特定领域概念。但是,它们提供的自然语言分析可能是解决方案的有用构建块。或者,如果您需要识别的短语与固定短语足够接近,它们可能是不必要的,您应该专注于找到固定短语并对其进行分类。

虽然这些不是“命名实体”,但问题更接近于命名实体识别,因为您正在识别语义短语类。您可以注释您希望查找的短语示例并使用命名实体识别器(例如,斯坦福 NER)训练模型,或者编写匹配实例的规则(使用类似 GATE 中的 ANNIE 或斯坦福的 TokensRegexPattern。

于 2012-05-09T22:34:05.873 回答
2

您必须解析整个句子,您必须从中识别值。然后标记值并识别名词、动词等。

您可以借助此处显示的示例输出。通过使用,您可以使用必须开发的字典术语来解析和识别术语。

您也可以在此处使用相同的 API

希望这会帮助你。

于 2012-05-09T16:52:35.160 回答
1

POS 标记会将您的文本文件转换为 XML 文件。实现词性标注和命名实体识别的一种简单方法是:

import java.io.IOException;
import edu.stanford.nlp.pipeline.StanfordCoreNLP;

public class POSTagging{
  public static void main(String[] args) {
    String arguments= "-annotators tokenize,ssplit,pos,lemma,ner -filelist ./filelist/filelist.txt -outputDirectory ./annotated";
    String[] commArgs=arguments.split(" ");
    try {
      StanfordCoreNLP.main(commArgs);
    } catch (IOException e) {
      e.printStackTrace();
    } catch (ClassNotFoundException e) {
      e.printStackTrace();
    }
  }
}

运行此程序后,您将拥有带注释的 XML 文件。您将不得不使用JAXP或类似的东西来解析它们。

于 2012-05-09T22:54:45.690 回答