Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/330.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何使用CountVectorizer获得短语的计数而不计算短语中的单词?_Python_Scikit Learn_Nlp_Tokenize - Fatal编程技术网

Python 如何使用CountVectorizer获得短语的计数而不计算短语中的单词?

Python 如何使用CountVectorizer获得短语的计数而不计算短语中的单词?,python,scikit-learn,nlp,tokenize,Python,Scikit Learn,Nlp,Tokenize,我正在从事一个NLP项目,我希望能将句子标记化,并获得不同标记的计数。有时,我希望几个词成为一个短语,而不计算短语中的单词 我发现scikit learn中的CountVectorizer在计算短语时很有用,但我不知道如何删除短语中的单词 例如: words=['cat','dog','walking','mydog'] 示例=[“我在公园遛狗和猫”] vect=计数向量器(词汇=单词,ngram_范围=(1,2)) dtm=向量拟合变换(示例) 打印(dtm) 我得到: >>&g

我正在从事一个NLP项目,我希望能将句子标记化,并获得不同标记的计数。有时,我希望几个词成为一个短语,而不计算短语中的单词

我发现scikit learn中的CountVectorizer在计算短语时很有用,但我不知道如何删除短语中的单词

例如:

words=['cat','dog','walking','mydog']
示例=[“我在公园遛狗和猫”]
vect=计数向量器(词汇=单词,ngram_范围=(1,2))
dtm=向量拟合变换(示例)
打印(dtm)
我得到:

>>> vect.get_feature_names()
['cat', 'dog', 'walking', 'my dog']
>>> print(dtm)
  (0, 0)    1
  (0, 1)    1
  (0, 2)    1
  (0, 3)    1
我想要的是:

>>> print(dtm)
  (0, 0)    1
  (0, 2)    1
  (0, 3)    1

但是我想在字典中保留
'dog'
,因为它可能会在其他文本中单独出现。

CountVectorizer
中没有任何特定的配置来首先应用较长的字符串并将其从字符串中删除,以防止计算较短的子字符串

因此,一种解决方案可以像您所做的那样使用
CountVectorzier
。之后,
迭代单词,找出包含在较长短语中的单词,然后从包含的较短短语中减去较长短语的数量,在
CountVectorizer
的第一个结果中,
CountVectorizer
中没有任何特定的配置来首先应用较长的字符串并将其从字符串中删除,以防止对较短的子字符串进行计数

因此,一种解决方案可以像您所做的那样使用
CountVectorzier
。之后,
对单词进行迭代以找到包含在较长短语中的单词,然后从包含的较短短语中减去较长短语的数量,在
CountVectorizer
的第一个结果中,问题不清楚。是否要删除出现在其他短语中的单词?那么“
但是我想把‘dog’保留在字典里,因为它可能会在其他文本中单独出现。
”的意思是什么?正是。我是说,在这句话中,我想保留“我的狗”,但删除“狗”,但如果句子中没有“我的狗”,我想保留“狗”。问题不清楚。是否要删除出现在其他短语中的单词?那么“
但是我想把‘dog’保留在字典里,因为它可能会在其他文本中单独出现。
”的意思是什么?正是。我是说在这句话中,我想保留“我的狗”,但删除“狗”,但如果句子中没有“我的狗”,我想保留“狗”。@YuanChen我不知道。@YuanChen我不知道。