空间管道?

2024-10-06 13:01:52 发布

您现在位置:Python中文网/ 问答频道 /正文

所以最近我一直在玩WikiDump。 我对它进行了预处理并在Word2Vec+Gensim上进行了训练

有人知道Spacy中是否只有一个脚本可以生成 标记化、句子识别、词性标注、词性化、依赖性分析和命名实体识别

我没能找到清晰的文件 谢谢你


Tags: 文件标记实体脚本spacyword2vec命名句子
3条回答

有一个Github问题线程,用于将模型添加到新语言的管道中,或改进当前语言:

https://github.com/explosion/spaCy/issues/3056

据我所知,在最坏的情况下,您可能需要使用您自己的模型以spacy所需的格式标记数据;然后使用这个标记的数据来训练spacy中的模型。在

他们已经将spacy版本更新到spacy alphav2.0.0。在

您可以在这里查看新文档 Here

Spacy只需使用en_nlp = spacy.load('en'); doc=en_nlp(sentence),就可以实现所有这些功能。documentation提供了有关如何访问每个元素的详细信息。在

示例如下:

In [1]: import spacy
   ...: en_nlp = spacy.load('en')

In [2]: en_doc = en_nlp(u'Hello, world. Here are two sentences.')

使用doc.sents可以获得句子:

^{pr2}$

名词块由doc.noun_chunks给出:

In [6]: list(en_doc.noun_chunks)
Out[6]: [two sentences]

Named entitydoc.ents给出:

In [11]: [(ent, ent.label_) for ent in en_doc.ents]
Out[11]: [(two, u'CARDINAL')]

标记化:可以迭代doc以获取令牌。token.orth_给出令牌的str。在

In [12]: [tok.orth_ for tok in en_doc]
Out[12]: [u'Hello', u',', u'world', u'.', u'Here', u'are', u'two', u'sentences', u'.']

POS由token.tag_给出:

In [13]: [tok.tag_ for tok in en_doc]
Out[13]: [u'UH', u',', u'NN', u'.', u'RB', u'VBP', u'CD', u'NNS', u'.']

柠檬化:

In [15]: [tok.lemma_ for tok in en_doc]
Out[15]: [u'hello', u',', u'world', u'.', u'here', u'be', u'two', u'sentence', u'.']

依赖关系分析。您可以使用token.dep_token.rights或{}来遍历解析树。您可以编写一个函数来打印依赖项:

In [19]: for token in en_doc:
    ...:     print(token.orth_, token.dep_, token.head.orth_, [t.orth_ for t in token.lefts], [t.orth_ for t in token.rights])
    ...:     
(u'Hello', u'ROOT', u'Hello', [], [u',', u'world', u'.'])
(u',', u'punct', u'Hello', [], [])
(u'world', u'npadvmod', u'Hello', [], [])
...

有关更多详细信息,请参阅spacy文档。在

相关问题 更多 >