文本计算

2.2 中文分词

分词模式

2
import jieba
# 精准模式
print("|".join(jieba.cut("今天天气不错,我来到北京野生动物园,在野生动物园看到有很多凶猛的动物",cut_all=False)))
# 全模式
print("|".join(jieba.cut("今天天气不错,我来到北京野生动物园,在野生动物园看到有很多凶猛的动物",cut_all=True)))
# 搜索引擎模式
print("|".join(jieba.cut_for_search("今天天气不错,我来到北京野生动物园,在野生动物园看到有很多凶猛的动物")))

从结果上,我们看到在文本分析场景下,使用精准模式是比较适合的,其他两种模式对于词的切分上都太过于细致了。

2.3 文本的表示

1

2

3
# 词库
word_vector_list = ["我们","来","贪心","学院","学习","人工智能","和","Python"]
# 要转成词向量的词
word1 = "我们"
word2 = "学习"

# 定义词向量转换方法
def get_word_vector_result(word):
    word_vector_result = []
    for i in word_vector_list:
        if i == word:
            word_vector_result.append(1)
        else:
            word_vector_result.append(0)
    return word_vector_result

# 打印word1的词向量
print(get_word_vector_result(word1))

# 打印word2的词向量
print(get_word_vector_result(word2))
4
import jieba
# 词库
word_vector_list = ["我们","来","贪心","学院","学习","人工智能","和","Python"]
# 用户输入的语句
s1 = "我来贪心学院学习Python"
s2 = "我学习人工智能"

# 转化成向量的方法
def get_vector(data):
    vector_list = []
    for i in word_vector_list:
        if i in list(jieba.cut(data)):
            vector_list.append(1)
        else:
            vector_list.append(0)
    return vector_list

# 打印向量
print(get_vector(s1))
print(get_vector(s2))
1

2

3

2.4 文本的相似度计算

1

2

3

你可能感兴趣的:(文本计算)