标签: spacy

如何使用spaCy获取依赖树?

我一直试图找到如何使用spaCy获取依赖树,但我找不到任何关于如何获取树的信息,只关于如何导航树.

python spacy

41
推荐指数
6
解决办法
2万
查看次数

使用spacy添加/删除停用词

使用spacy添加/删除停用词的最佳方法是什么?我正在使用token.is_stop函数,并希望对集合进行一些自定义更改.我正在查看文档,但找不到关于停用词的任何内容.谢谢!

python nlp stop-words spacy

34
推荐指数
4
解决办法
3万
查看次数

如何提取数字(以及比较形容词或范围)

我正在研究Python中的两个NLP项目,它们都有类似的任务来从以下句子中提取值和比较运算符:

"... greater than $10 ... ",
"... weight not more than 200lbs ...",
"... height in 5-7 feets ...",
"... faster than 30 seconds ... "
Run Code Online (Sandbox Code Playgroud)

我看到了两种不同的方法来解决这个问题,一种使用非常复杂的正则表达式,另一种使用NER(以及一些正则表达式).

如何解析这些句子中的值?我认为这是NLP中的常见任务.


期望的输出将是这样的:

输入:

"超过10美元"

输出:

{'value': 10, 'unit': 'dollar', 'relation': 'gt', 'position': 3}
Run Code Online (Sandbox Code Playgroud)

python nlp nltk spacy

34
推荐指数
1
解决办法
2517
查看次数

spaCy的词性和依赖标记是什么意思?

spaCy 用一个词性标记每个Tokens中的每个s Document(以两种不同的格式,一种存储在posand和pos_属性中Token,另一种存储在tagtag_属性中)以及对其.head标记的语法依赖(存储在depdep_属性中) ).

其中一些标签是不言自明的,即使是像我这样没有语言学背景的人:

>>> import spacy
>>> en_nlp = spacy.load('en')
>>> document = en_nlp("I shot a man in Reno just to watch him die.")
>>> document[1]
shot
>>> document[1].pos_
'VERB'
Run Code Online (Sandbox Code Playgroud)

其他......不是:

>>> document[1].tag_
'VBD'
>>> document[2].pos_
'DET'
>>> document[3].dep_
'dobj'
Run Code Online (Sandbox Code Playgroud)

更糟糕的是,官方文档甚至不包含大多数这些属性的可能标记列表,也不包含其中任何属性的含义.他们有时会提到他们使用的标记化标准,但这些声明目前还不完全准确,而且最重要的是标准很难追踪.

什么是可能的值tag_,pos_dep_性质,以及它们意味着什么?

python nlp spacy

32
推荐指数
5
解决办法
2万
查看次数

ImportError:没有名为'spacy.en'的模块

我正在开发一个使用Spacy的代码库.我安装spacy使用:

sudo pip3 install spacy
Run Code Online (Sandbox Code Playgroud)

然后

sudo python3 -m spacy download en
Run Code Online (Sandbox Code Playgroud)

在最后一个命令结束时,我收到一条消息:

    Linking successful
/home/rayabhik/.local/lib/python3.5/site-packages/en_core_web_sm -->
/home/rayabhik/.local/lib/python3.5/site-packages/spacy/data/en

You can now load the model via spacy.load('en')
Run Code Online (Sandbox Code Playgroud)

现在,当我尝试运行我的代码时,就行了:

    from spacy.en import English
Run Code Online (Sandbox Code Playgroud)

它给了我以下错误:

ImportError: No module named 'spacy.en'
Run Code Online (Sandbox Code Playgroud)

我查看了Stackexchange,最接近的是: 使用spacy导入错误:"没有名为en的模块" ,这不能解决我的问题.

任何帮助,将不胜感激.谢谢.

编辑:我可能通过执行以下操作解决了这个问题:

 Python 3.5.2 (default, Sep 14 2017, 22:51:06) 
[GCC 5.4.0 20160609] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import spacy
>>> spacy.load('en')
<spacy.lang.en.English object at 0x7ff414e1e0b8>
Run Code Online (Sandbox Code Playgroud)

然后使用:

from spacy.lang.en import English
Run Code Online (Sandbox Code Playgroud)

如果有任何其他答案,我仍然保持开放.

python spacy

28
推荐指数
3
解决办法
4万
查看次数

由于环境错误,无法安装软件包:[Errno 28] 设备上没有剩余空间

我正在尝试安装

python -m spacy download en_vectors_web_lg
Run Code Online (Sandbox Code Playgroud)

但它抛出错误:

Could not install packages due to an EnvironmentError: [Errno 28] No space left on device
Run Code Online (Sandbox Code Playgroud)

我可以知道为什么会产生错误吗?是说我在安装目录中没有足够的空间吗??

python spacy

25
推荐指数
4
解决办法
3万
查看次数

与spacy的名词短语

如何使用spacy从文本中提取名词短语?
我不是指词性标签.在文档中,我找不到任何关于名词短语或常规解析树的内容.

python spacy

24
推荐指数
2
解决办法
2万
查看次数

SpaCy OSError:找不到型号'en'

即使我下载了模型,也无法加载它

[jalal@goku entity-sentiment-analysis]$ which python
/scratch/sjn/anaconda/bin/python
[jalal@goku entity-sentiment-analysis]$ sudo python -m spacy download en
[sudo] password for jalal: 
Collecting https://github.com/explosion/spacy-models/releases/download/en_core_web_sm-2.0.0/en_core_web_sm-2.0.0.tar.gz
  Downloading https://github.com/explosion/spacy-models/releases/download/en_core_web_sm-2.0.0/en_core_web_sm-2.0.0.tar.gz (37.4MB)
    100% |????????????????????????????????| 37.4MB 9.4MB/s 
Installing collected packages: en-core-web-sm
  Running setup.py install for en-core-web-sm ... done
Successfully installed en-core-web-sm-2.0.0

    Linking successful
    /usr/lib/python2.7/site-packages/en_core_web_sm -->
    /usr/lib64/python2.7/site-packages/spacy/data/en

    You can now load the model via spacy.load('en')

import spacy 

nlp = spacy.load('en')
---------------------------------------------------------------------------
OSError                                   Traceback (most recent call last)
<ipython-input-2-0fcabaab8c3d> in <module>()
      1 import spacy
      2 
----> 3 nlp = spacy.load('en')

/scratch/sjn/anaconda/lib/python3.6/site-packages/spacy/__init__.py in …
Run Code Online (Sandbox Code Playgroud)

nlp spacy

21
推荐指数
4
解决办法
3万
查看次数

Spacy链接错误

运行时:

import spacy
nlp = spacy.load('en')
Run Code Online (Sandbox Code Playgroud)

打印如下:

警告:找不到'en'的模型只加载'en'标记生成器.

/site-packages/spacy/data除init文件外,它是空的.所有文件路径只指向我的单个python安装.

任何有助于解决此问题的帮助.

谢谢!将

python models spacy

20
推荐指数
4
解决办法
2万
查看次数

SpaCy:如何加载Google新闻word2vec向量?

我尝试了几种加载google news word2vec向量的方法(https://code.google.com/archive/p/word2vec/):

en_nlp = spacy.load('en',vector=False)
en_nlp.vocab.load_vectors_from_bin_loc('GoogleNews-vectors-negative300.bin')
Run Code Online (Sandbox Code Playgroud)

以上给出:

MemoryError: Error assigning 18446744072820359357 bytes
Run Code Online (Sandbox Code Playgroud)

我也试过.gz打包向量; 或者使用gensim将它们加载并保存为新格式:

from gensim.models.word2vec import Word2Vec
model = Word2Vec.load_word2vec_format('GoogleNews-vectors-negative300.bin', binary=True)
model.save_word2vec_format('googlenews2.txt')
Run Code Online (Sandbox Code Playgroud)

然后,该文件包含每行上的单词及其单词向量.我试着加载它们:

en_nlp.vocab.load_vectors('googlenews2.txt')
Run Code Online (Sandbox Code Playgroud)

但它返回"0".

这样做的正确方法是什么?

更新:

我可以将自己创建的文件加载到spacy中.我在每一行使用带有"string 0.0 0.0 ...."的test.txt文件.然后使用.bzip2将此txt压缩到test.txt.bz2.然后我创建一个spacy兼容的二进制文件:

spacy.vocab.write_binary_vectors('test.txt.bz2', 'test.bin')
Run Code Online (Sandbox Code Playgroud)

我可以加载到spacy:

nlp.vocab.load_vectors_from_bin_loc('test.bin')
Run Code Online (Sandbox Code Playgroud)

这有效!但是,当我为googlenews2.txt执行相同的过程时,我收到以下错误:

lib/python3.6/site-packages/spacy/cfile.pyx in spacy.cfile.CFile.read_into (spacy/cfile.cpp:1279)()

OSError: 
Run Code Online (Sandbox Code Playgroud)

python nlp word2vec spacy

19
推荐指数
2
解决办法
9117
查看次数

标签 统计

spacy ×10

python ×9

nlp ×5

models ×1

nltk ×1

stop-words ×1

word2vec ×1