tf-idf sickitlearn 将 "word" 与单词分开
tf-idf sickitlearn separate "word" from word
我正在处理文本分类中的一个问题,如果以这种格式 "word" 找到一个单词,那么它的重要性将不同于以这种格式找到的单词word 所以我尝试了这段代码
import re
from sklearn.feature_extraction.text import CountVectorizer
sent1 = "The cat sat on my \"face\" face"
sent2 = "The dog sat on my bed"
content = [sent1,sent2]
vectorizer = CountVectorizer(token_pattern=r"(?u)\b\w\w+\b|!|\?|\"|\'")
vectorizer.fit(content)
print (vectorizer.get_feature_names())
结果是
['"', 'bed', 'cat', 'dog', 'face', 'my', 'on', 'sat', 'the']
我希望的地方
['bed', 'cat', 'dog', 'face','"face"' 'my', 'on', 'sat', 'the']
您需要根据需要调整 token_pattern
参数。以下内容适用于提供的示例:
pattern = r"\S+[^!?.\s]"
vectorizer = CountVectorizer(token_pattern=pattern)
但是,您可能需要进一步完善模式。 https://regex101.com 可能有助于让您的正则表达式恰到好处。
您的令牌模式是
token_pattern=r"(?u)\b\w\w+\b|!|\?|\"|\'"
正在查找单词 (\b\w\w+\b) 或感叹号、问号或引号。试试像
token_pattern=r"(?u)\b\w\w+\b|\"\b\w\w+\b\"|!|\?|\'"
注意部分
\"\b\w\w+\b\"
查找被引号括起来的单词。
我正在处理文本分类中的一个问题,如果以这种格式 "word" 找到一个单词,那么它的重要性将不同于以这种格式找到的单词word 所以我尝试了这段代码
import re
from sklearn.feature_extraction.text import CountVectorizer
sent1 = "The cat sat on my \"face\" face"
sent2 = "The dog sat on my bed"
content = [sent1,sent2]
vectorizer = CountVectorizer(token_pattern=r"(?u)\b\w\w+\b|!|\?|\"|\'")
vectorizer.fit(content)
print (vectorizer.get_feature_names())
结果是
['"', 'bed', 'cat', 'dog', 'face', 'my', 'on', 'sat', 'the']
我希望的地方
['bed', 'cat', 'dog', 'face','"face"' 'my', 'on', 'sat', 'the']
您需要根据需要调整 token_pattern
参数。以下内容适用于提供的示例:
pattern = r"\S+[^!?.\s]"
vectorizer = CountVectorizer(token_pattern=pattern)
但是,您可能需要进一步完善模式。 https://regex101.com 可能有助于让您的正则表达式恰到好处。
您的令牌模式是
token_pattern=r"(?u)\b\w\w+\b|!|\?|\"|\'"
正在查找单词 (\b\w\w+\b) 或感叹号、问号或引号。试试像
token_pattern=r"(?u)\b\w\w+\b|\"\b\w\w+\b\"|!|\?|\'"
注意部分
\"\b\w\w+\b\"
查找被引号括起来的单词。