- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有以下结果,如您所见,爱德华这个名字有不同的结果(null 和 male)。这发生在几个名字上。
edward, Gender: null
james, Gender: MALE
karla, Gender: null
edward, Gender: MALE
此外,如何自定义性别词典?我想添加西类牙文和中文名称。
最佳答案
你提出了很多问题!
1.) Karla 不在默认的性别映射文件中,所以这就是它变得空的原因
2.) 如果你想制作你自己的自定义文件,它应该是这样的格式:
约翰\t男性
每行应该有一个 NAME\tGENDER 条目
GenderAnnotator 只能使用 1 个文件进行映射,因此您需要创建一个包含您要添加的名称的新文件。
默认的性别映射文件位于 stanford-corenlp-3.5.2-models.jar 文件中。
您可以通过这种方式从该 jar 中提取默认的性别映射文件:
mkdir tmp-stanford-models-expanded
cp/path/of/stanford-corenlp-3.5.2-models.jar tmp-stanford-models-expanded
cd tmp-stanford-models-expanded
jar xf stanford-corenlp-3.5.2-models.jar
现在应该有 tmp-stanford-models-expanded/edu
你想要的文件是 tmp-stanford-models-expanded/edu/stanford/nlp/models/gender/first_name_map_small
3.) 以这种方式构建您的管道以使用您的自定义性别词典:
Properties props = new Properties();
props.setProperty("annotators",
"tokenize, ssplit, pos, lemma, gender, ner");
props.setProperty("gender.firstnames","/path/to/your/gender_dictionary.txt");
StanfordCoreNLP pipeline = new StanfordCoreNLP(props);
4.) 尝试在你的管道中运行 gender BEFORE ner(参见我上面对注释器的排序)。如果 token 已经具有 NER 标签,则 RegexNERSequenceClassifier(这是添加性别标签的类)可能会被阻止。在我看来,首先运行性别注释器会解决问题。因此,当您构建管道时,请确保性别优先于 ner。
序列“edward james karla edward”被 NER 标记器标记为“O O PERSON PERSON”。我不完全确定为什么前两个标记的 NER 标签为“O”。我会注意到“Edward James Karla Edward”产生“PERSON PERSON PERSON PERSON”,并记住句子中位置的 NER 标记因素,因此可能在句子开头小写导致第一个标记“edward” "标记为 "O"?
如果您对此有任何疑问,请告诉我,我很乐意提供更多帮助!
长话短说
1.) Karla 被标记错误,因为那个名字不在性别词典中
2.) 您可以使用 NAME\tGENDER 创建自己的性别映射文件,确保属性“gender.firstnames”设置为您的新性别映射文件的路径。
3.) 确保性别注释器在 ner 注释器之前,这应该可以解决问题!
关于stanford-nlp - 为什么 stanford corenlp 性别识别是不确定的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31259708/
网站corenlp.run这应该是 CoreNLP 的演示站点,它显示了与我在本地机器上运行 CoreNLP 管道时完全不同的结果。 该网站实际上显示了正确的结果,而本地机器版本则没有。我想知道是否有
我不明白如何从我的 Java 应用程序加载 CoreNLP 的 Shift-Reduce Constituency Parser (SRCP)。 我正在使用 Apache Maven 来管理我的项目的
我正在尝试部署 stanford-corenlp-3.2.0-models.jar 但我的主机说 jar 太大? 如果我只是想使用 POS,我可以使用什么 jar 来代替。 或者我怎样才能分割 jar
当我启动CoreNLP Server时在 Linux 上: java -mx4g -cp "*" edu.stanford.nlp.pipeline.StanfordCoreNLPServer -po
从 https://github.com/stanfordnlp/CoreNLP 下载 CoreNLP 。当我运行时 $ java -mx4g src.edu.stanford.nlp.parser.
我正在尝试使用 Stanford CoreNLP。我使用了网络上的一些代码来了解 coreference 工具的运行情况。我尝试在 Eclipse 中运行该项目,但一直遇到内存不足异常。我尝试增加堆大
我正在使用斯坦福 coreNLP ( http://nlp.stanford.edu/software/corenlp.shtml ) 来解析句子并提取单词之间的依赖关系。 我已经设法像提供的链接中的
我正在尝试使用 Stanford coreNLP 将句子拆分为单词。我对包含撇号的单词有疑问。 例如,句子:我今年 24 岁。 像这样拆分:[我]['][24][岁][老] 是否可以使用 Stanfo
我想使用斯坦福 CoreNLP(或其他工具)提取两个实体之间的完整关系。 例如: Windows is more popular than Linux. This tool requires Java
stanford-corenlp 中的默认线程数是多少?具体来说,命名实体提取器,然后是信息提取器。另外,我希望两者都使用单个线程进行调试,我该如何设置? 谢谢! 最佳答案 默认为 1 个线程。 有两
我试图让斯坦福 CoreNLP 作为服务器正常运行(尽管问题可能会影响非服务器使用),但不断收到此错误: "ERROR CoreNLP - Failure to load language speci
在从斯坦福 CoreNLP 网站构建示例应用程序时,我遇到了一个奇怪的异常: Exception in thread "main" java.lang.RuntimeException: edu.st
我已经在 Eclipse 中设置了一个 Maven 项目。 他们只是一个类,src/main/java/App.java 包 com.nlptools.corenlp; import java.uti
我正在使用 CoreNlp 从大文本中提取信息。然而,它使用“三重”方法,其中单个句子产生许多输出,这很好,但有些句子没有意义。我试图通过运行另一个无监督 NLP 并尝试利用 CoreNlp 中的函数
我的代码开头有以下内容: import twitter4j.*; import java.util.List; import java.util.Properties; import ja
我正在尝试按照http://nlp.stanford.edu/downloads/corenlp.shtml中的说明在Stanford CoreNLP中添加一个新的注释器。 “添加新注释器Stanfo
我刚开始使用 Java 编写的程序,并且在让斯坦福CoreNLP 做它应该做的事情时遇到了很多麻烦。我将程序解压到它自己的目录中,并向其中添加了程序应该处理的 XML 文件。我用来在命令行中处理文件的
我正在尝试使用斯坦福 CoreNLP 关系提取器 ( http://nlp.stanford.edu/software/relationExtractor.shtml )。 我已经安装了 CoreNL
我在使用斯坦福大学的句子注释器时遇到了问题。作为输入,我得到了文本,其中包含句子,但其中某些部分的点后没有空格。像这样: Dog loves cat.Cat loves mouse. Mouse ha
我正在研究以下问题:我想使用 Stanford CoreNLP 将句子拆分为子句。例句可以是: "Richard is working with CoreNLP, but does not reall
我是一名优秀的程序员,十分优秀!