所以最近我一直在玩 WikiDump。我对其进行了预处理并在 Word2Vec + Gensim 上对其进行了训练
有谁知道 Spacy 中是否只有一个脚本可以同时生成标记化、句子识别、词性标记、词形还原、依赖解析和命名实体识别
我一直无法找到明确的文件谢谢
Spacy 只需使用en_nlp = spacy.load('en'); doc=en_nlp(sentence)
. 该文档为您提供了有关如何访问每个元素的详细信息。
下面给出一个例子:
In [1]: import spacy
...: en_nlp = spacy.load('en')
In [2]: en_doc = en_nlp(u'Hello, world. Here are two sentences.')
可以使用以下方法获得句子doc.sents
:
In [4]: list(en_doc.sents)
Out[4]: [Hello, world., Here are two sentences.]
名词块由以下给出doc.noun_chunks
:
In [6]: list(en_doc.noun_chunks)
Out[6]: [two sentences]
命名实体由 给出doc.ents
:
In [11]: [(ent, ent.label_) for ent in en_doc.ents]
Out[11]: [(two, u'CARDINAL')]
标记化:您可以遍历文档以获取标记。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
或遍历解析树token.lefts
。您可以编写一个函数来打印依赖项:
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 文档。
有一个 Github 问题线程,用于将模型添加到新语言的管道中,或改进当前语言:
https://github.com/explosion/spaCy/issues/3056
据我了解,在最坏的情况下,您可能需要以 spacy 需要使用您自己的模型的格式标记数据;然后使用这些标记的数据在 spacy 中训练模型。
他们已将 spacy 版本更新为 spacy-alpha V2.0.0。
您可以在此处查看新文档此处