无监督学习K-means文本聚类实践

2023-11-05

无监督学习(Unsupervised Learning)希望能够发现数据本身的规律和模式,与有监督学习相比,无监督不需要对数据进行标记。这样可以节约大量的人力物力成本。某种程度上说,机器学习的终极目标就是无监督学习。

从功能上看,无监督学习可以帮助我们发现数据的‘簇’,同时也可以帮助我们寻找‘离群点’,还可以对高维度特征的数据进行数据降维,保留数据主要的特征,对高维空间数据进行处理。

聚类是试图将数据集中的样本划分为若干个通常不相交的子集,每个子集称为一个“簇”(cluster)。聚类的过程仅能自动形成簇的结构,簇所对应的含义需要使用者来把握命名。聚类常用于寻找内在的分布结构,也可作为分类等其他学习任务的前驱过程。

在NLP领域中,一个重要的应用方向是文本聚类,文本聚类算法有很多,例如K-means、DBScan、BIRCH、CURE等。其中最经典的就是K-means算法。

文本聚类存在大量的使用场景:如数据挖掘、信息检索、主题检测、文本概括等。

文本聚类对文档集合进行划分,使同类别的文档聚合在一起,不同类别的文档相似度较低。文本聚类不需要事先对文档进行标记,具有高度的自动化能力。

算法接收参数K,然后将事先输入的n个数据对象划分为k个聚类以便使获得的聚类满足聚类中的对象相似度较高,而不同聚类中的对象相似度较小。

算法思想:以空间中的K个点为中心进行聚类,对最靠近它们的对象归类,通过迭代的方法,逐次更新各聚类中心的值,知道得到最好的聚类结果。

算法描述:

1)适当选择 c 个类的初始中心点;

2)在第k次迭代中,对任意一个样本求其到c个中心的距离,将该样本归到距离最短的那个中心所在的类;

3)利用均值等方法更新该类的中心值;

4)对于所有的c个聚类中心,如果利用步骤2)和3)的迭代更新后,值保持不变,则迭代结束;否则继续迭代。

初始的聚类点对后续的最终划分影响非常大,选择合适的初始点,可以加快算法的收敛速度和增强类的区分度。

选择初始聚类点的方法有如下几种:

》随机选择法:随机的选择k个对象作为初始聚类点。

》最小最大法:先选择所有对象中的相距最遥远的两个对象作为聚类点。 然后选择第三个点,使得它与确定的聚类点的最小距离是所有点中最大的,然后按照相同的原则选取。

》最小距离法:选择一个正数r,把所有对象的中心作为第一个聚类点,然后依次输入对象,当前输入对象与己确认的聚点的距离都大于r 时,则该对象作为一个新的聚类点。

》最近归类法:划分方法就是决定当前对象应该分到哪个簇中。划分方法中最为流行的是最近归类法,即将当前对象归类于最近的聚类点。

数据:豆瓣读书数据

实践代码如下:

1、爬取豆瓣读书数据:https://blog.csdn.net/weixin_40547993/article/details/90608952

2、数据预处理

import re
import string
import jieba

# 加载停用词
with open("dict/stop_words.utf8", encoding="utf8") as f:
    stopword_list = f.readlines()


def tokenize_text(text):
    tokens = jieba.lcut(text)
    tokens = [token.strip() for token in tokens]
    return tokens


def remove_special_characters(text):
    tokens = tokenize_text(text)
    pattern = re.compile('[{}]'.format(re.escape(string.punctuation)))
    filtered_tokens = filter(None, [pattern.sub('', token) for token in tokens])
    filtered_text = ' '.join(filtered_tokens)
    return filtered_text


def remove_stopwords(text):
    tokens = tokenize_text(text)
    filtered_tokens = [token for token in tokens if token not in stopword_list]
    filtered_text = ''.join(filtered_tokens)
    return filtered_text


def normalize_corpus(corpus):
    normalized_corpus = []
    for text in corpus:

        text =" ".join(jieba.lcut(text))
        normalized_corpus.append(text)

    return normalized_corpus

3、提取特征、聚类,这里设置K=10

# -*- coding: UTF-8 -*-
import pandas as pd
import numpy as np
import os

from sklearn.feature_extraction.text import CountVectorizer, TfidfVectorizer


def build_feature_matrix(documents, feature_type='frequency',
                         ngram_range=(1, 1), min_df=0.0, max_df=1.0):
    feature_type = feature_type.lower().strip() # feature_type为tfidf

    if feature_type == 'binary':
        vectorizer = CountVectorizer(binary=True,
                                     max_df=max_df, ngram_range=ngram_range)
    elif feature_type == 'frequency':
        vectorizer = CountVectorizer(binary=False, min_df=min_df,
                                     max_df=max_df, ngram_range=ngram_range)
    elif feature_type == 'tfidf':
        vectorizer = TfidfVectorizer()
    else:
        raise Exception("Wrong feature type entered. Possible values: 'binary', 'frequency', 'tfidf'")

    feature_matrix = vectorizer.fit_transform(documents).astype(float)

    return vectorizer, feature_matrix

#第一步:读取数据
book_data = pd.read_csv('data/data.csv') #读取文件
#,sep=",",error_bad_lines=False,engine='python',encoding='utf-8'
print(book_data.head())  #2822 rows x 5 columns
# print("csv数据",os.linesep,book_data)

book_titles = book_data['title'].tolist()
book_content = book_data['content'].tolist()

print('书名:', book_titles[0])
print('内容:', book_content[0][:10]) #内容前10个字

#第二步:数据载入、分词
from normalization import normalize_corpus

# normalize corpus
norm_book_content = normalize_corpus(book_content)  #返回的是分词后的集合['现代人 内心 流失 的 东西……','在 第一次世界大战 的……',……]

# 第三步:提取 tf-idf 特征
vectorizer, feature_matrix = build_feature_matrix(norm_book_content,
                                                  feature_type='tfidf',
                                                  min_df=0.2, max_df=0.90,
                                                  ngram_range=(1, 2))
# 查看特征数量
print(feature_matrix.shape)  #得到tf-idf矩阵,稀疏矩阵表示法  (2822, 16281) 2822行,16281个词汇(根据16281个词汇建立词的索引)
"""
  (0, 11185)	0.17921956529547814   表示为:第0个列表元素,**词典中索引为11185的元素**, 权值0.17921956529547814
  (0, 3199)	0.1644425715576606
  (0, 10416)	0.21232583039538178
  (0, 1451)	0.15573088636535332
"""
# 获取特征名字
feature_names = vectorizer.get_feature_names() #显示所有文本的词汇,列表类型
# print(vectorizer.vocabulary_)    #词汇表,字典类型
# print(feature_matrix.toarray())   #.toarray() 是将结果转化为稀疏矩阵
# 打印某些特征
print(feature_names[:10]) #显示前10个文本的词汇,列表类型


#第四步:提取完特征后,进行聚类
from sklearn.cluster import KMeans

#KMeans++
def k_means(feature_matrix, num_clusters=10):
    km = KMeans(n_clusters=num_clusters,
                max_iter=10000)  #km打印结果是KMeans的参数
    km.fit(feature_matrix)
    clusters = km.labels_  #编号 [4 6 6 ... 2 2 2]
    return km, clusters

#设置k=10,聚出10个类别
num_clusters = 10
km_obj, clusters = k_means(feature_matrix=feature_matrix,
                           num_clusters=num_clusters)
book_data['Cluster'] = clusters  #在原先的csv文本中加入一列Cluster后的数字
# print(book_data)


#第五步:查看每个cluster的数量
from collections import Counter

# 获取每个cluster的数量
c = Counter(clusters)
print(c.items())
#dict_items([(2, 415), (3, 177), (5, 1084), (9, 221), (4, 285), (0, 47), (7, 168), (8, 66), (6, 269), (1, 90)])


def get_cluster_data(clustering_obj, book_data,
                     feature_names, num_clusters,
                     topn_features=10):
    cluster_details = {}
    # 获取cluster的center
    ordered_centroids = clustering_obj.cluster_centers_.argsort()[:, ::-1]
    # 获取每个cluster的关键特征
    # 获取每个cluster的书
    for cluster_num in range(num_clusters):
        cluster_details[cluster_num] = {}
        cluster_details[cluster_num]['cluster_num'] = cluster_num
        key_features = [feature_names[index]
                        for index
                        in ordered_centroids[cluster_num, :topn_features]]
        cluster_details[cluster_num]['key_features'] = key_features

        books = book_data[book_data['Cluster'] == cluster_num]['title'].values.tolist()
        cluster_details[cluster_num]['books'] = books

    return cluster_details

def print_cluster_data(cluster_data):
    # print cluster details
    for cluster_num, cluster_details in cluster_data.items():
        print('Cluster {} details:'.format(cluster_num))
        print('-' * 20)
        print('Key features:', cluster_details['key_features'])
        print('book in this cluster:')
        print(', '.join(cluster_details['books']))
        print('=' * 40)

import matplotlib.pyplot as plt
from sklearn.manifold import MDS
from sklearn.metrics.pairwise import cosine_similarity
import random
from matplotlib.font_manager import FontProperties


def plot_clusters(num_clusters, feature_matrix,
                  cluster_data, book_data,
                  plot_size=(16, 8)):
    # generate random color for clusters
    def generate_random_color():
        color = '#%06x' % random.randint(0, 0xFFFFFF)
        return color

    # define markers for clusters
    markers = ['o', 'v', '^', '<', '>', '8', 's', 'p', '*', 'h', 'H', 'D', 'd']
    # build cosine distance matrix
    cosine_distance = 1 - cosine_similarity(feature_matrix)
    # dimensionality reduction using MDS
    mds = MDS(n_components=2, dissimilarity="precomputed",
              random_state=1)
    # get coordinates of clusters in new low-dimensional space
    plot_positions = mds.fit_transform(cosine_distance)
    x_pos, y_pos = plot_positions[:, 0], plot_positions[:, 1]
    # build cluster plotting data
    cluster_color_map = {}
    cluster_name_map = {}
    for cluster_num, cluster_details in cluster_data[0:500].items():
        # assign cluster features to unique label
        cluster_color_map[cluster_num] = generate_random_color()
        cluster_name_map[cluster_num] = ', '.join(cluster_details['key_features'][:5]).strip()
    # map each unique cluster label with its coordinates and books
    cluster_plot_frame = pd.DataFrame({'x': x_pos,
                                       'y': y_pos,
                                       'label': book_data['Cluster'].values.tolist(),
                                       'title': book_data['title'].values.tolist()
                                       })
    grouped_plot_frame = cluster_plot_frame.groupby('label')
    # set plot figure size and axes
    fig, ax = plt.subplots(figsize=plot_size)
    ax.margins(0.05)
    # plot each cluster using co-ordinates and book titles
    for cluster_num, cluster_frame in grouped_plot_frame:
        marker = markers[cluster_num] if cluster_num < len(markers) \
            else np.random.choice(markers, size=1)[0]
        ax.plot(cluster_frame['x'], cluster_frame['y'],
                marker=marker, linestyle='', ms=12,
                label=cluster_name_map[cluster_num],
                color=cluster_color_map[cluster_num], mec='none')
        ax.set_aspect('auto')
        ax.tick_params(axis='x', which='both', bottom='off', top='off',
                       labelbottom='off')
        ax.tick_params(axis='y', which='both', left='off', top='off',
                       labelleft='off')
    fontP = FontProperties()
    fontP.set_size('small')
    ax.legend(loc='upper center', bbox_to_anchor=(0.5, -0.01), fancybox=True,
              shadow=True, ncol=5, numpoints=1, prop=fontP)
    # add labels as the film titles
    for index in range(len(cluster_plot_frame)):
        ax.text(cluster_plot_frame.ix[index]['x'],
                cluster_plot_frame.ix[index]['y'],
                cluster_plot_frame.ix[index]['title'], size=8)
        # show the plot
    plt.show()



#第六步:查看结果
cluster_data = get_cluster_data(clustering_obj=km_obj,
                                book_data=book_data,
                                feature_names=feature_names,
                                num_clusters=num_clusters,
                                topn_features=5)

print_cluster_data(cluster_data)

#画出簇类
# plot_clusters(num_clusters=num_clusters,
#               feature_matrix=feature_matrix,
#               cluster_data=cluster_data,
#               book_data=book_data,
#               plot_size=(16, 8))

打印结果:

  ...
0 ...
1 ...
2 ...
3 ...
4 ...

[5 rows x 5 columns]
书名: 解忧杂货店
内容: 现代人内心流失的东西
Building prefix dict from the default dictionary ...
Loading model from cache C:\Users\ADMINI~1\AppData\Local\Temp\jieba.cache
Loading model cost 0.605 seconds.
Prefix dict has been built succesfully.
(2822, 16281)
['000', '01', '07', '09', '10', '100', '1000', '1001', '108758', '11']
dict_items([(0, 1004), (2, 218), (3, 326), (4, 268), (9, 281), (8, 150), (7, 251), (6, 55), (1, 182), (5, 87)])
Cluster 0 details:
--------------------
Key features: ['作者', '自己', '世界', '本书', '故事']
book in this cluster:
解忧杂货店, 追风筝的人, 房思琪的初戀樂園, 活着, 双峰: 神秘史, 戴上手套擦泪, 追风筝的人, 外婆的道歉信, 戴上手套擦泪, 追风筝的人, 房思琪的初戀樂園, 外婆的道歉信, 活着, 双峰: 神秘史, 目送, 时间的果, 人间草木, 吃鲷鱼让我打嗝, 孤独六讲, 活着, 时间的果, 人间草木, 恋情的终结, 山海经全译, 解忧杂货店, 东京本屋, 百鬼夜行 阳, 不思议图书馆, 海边的卡夫卡, 咖啡未冷前, 目送, 时间的果, 人间草木, 穿过圩场, 悲伤与理智, 一个人的村庄, 冬牧场, 所谓好玩的事,我再也不做了, 海边的卡夫卡, 国境以南 太阳以西, 远方的鼓声, 舞!舞!舞!, 没有女人的男人们, 东京奇谭集, 遇到百分之百的女孩, 一只狼在放哨, 万物静默如谜, 海子诗全集, 奥克诺斯, 博尔赫斯诗选, 唯有孤独恒常如新, 飞鸟集, 月光落在左手上, 恶之花, 二十首情诗与绝望的歌, 给孩子的诗, 二十亿光年的孤独, 荒原, 夜莺与玫瑰, 猜猜我有多爱你, 牧羊少年奇幻之旅, 失物之书, 银河铁道之夜, 安吉拉·卡特的精怪故事集, 格林童话全集, 狐狸的窗户, 王小波全集, 理想国与哲人王, 假如你愿意你就恋爱吧, 万寿寺, 三十而立, 王小波全集, 呐喊, 门萨的娼妓, 幻想图书馆, 写在人生边上, 理想国与哲人王, 写在人生边上 人生边上的边上 石语, 普通读者, 这就是二十四节气, 猜猜我有多爱你, 梦书之城, 深夜小狗神秘事件, 山海经全译, 三国演义(全二册), 诗经, 闲情偶寄, 东京梦华录, 既见君子, 叶嘉莹说汉魏六朝诗, 三国演义(全二册), 活着, 现实一种, 兄弟(下), 音乐影响了我的写作, 温暖和百感交集的旅程, 我没有自己的名字, 我能否相信自己, 黄昏里的男孩, 我胆小如鼠, 半生缘, 张爱玲文集, 色,戒, 红楼梦魇, 雷峰塔, 传奇(上下), 传奇, 额尔古纳河右岸, 动物凶猛, 棋王.樹王.孩子王, 城门开, 写在人生边上 人生边上的边上 石语, 人·兽·鬼, 写在人生边上, 管锥编(全五册), 宋诗选注, 钱锺书英文文集, 钱锺书手稿集•外文笔记(第一辑), 钱钟书文集, 槐聚心史, 羊脂球, 安娜·卡列尼娜(上下), 丧钟为谁而鸣, 呐喊, 鲁迅全集(2005最新修订版), 朝花夕拾, 狂人日记, 野草, 伤逝, 彷徨, 故事新编, 中国小说史略, 鲁迅杂文全集, 两地书, 鲁迅与当代中国, 热风, 魏晋风度及其他, 鲁迅小说全集, 鲁迅全集(1), 山海经全译, 三国演义(全二册), 诗经, 闲情偶寄, 东京梦华录, 既见君子, 叶嘉莹说汉魏六朝诗, 心灵的焦灼, 斯·茨威格中短篇小说选, 巴西:未来之国, 变形的陶醉, 玛丽·斯图亚特, 不朽, 慢, 米兰·昆德拉传, 广岛之恋, 杜拉斯传, 抵挡太平洋的堤坝, 夏夜十点半钟, 玛格丽特·杜拉斯, 生死桥, 树犹如此, 夏宇詩集/Salsa, 孤獨,或類似的東西, 東課樓經變, 周夢蝶詩文集, 七声, 無愛紀, 鳄鱼手记, 她是女子,我也是女子, 简媜散文, 我城, 切尔诺贝利之花, 伊甸园世界01:星之上, 我在伊朗长大, 再一次, 海贼王, 塔希里亚故事集, 半小时漫画中国史(修订版), 嫌疑人X的献身, 恶意, 玫瑰的名字, S., 长夜难明, 希腊棺材之谜, 放学后, 夏日启示录, 活了100万次的猫, 向左走·向右走, 猜猜我有多爱你, 这些都是你给我的爱, Yaxin, le faune Gabriel, 你看起来好像很好吃, 秘密花园, 睡不着:Tango一日一画, 阿狸·梦之城堡, 朝花惜时, 我不喜欢这世界,我只喜欢你, 从你的全世界路过, 动物凶猛, 余生,请多指教, 坏一坏, 致我们终将逝去的青春, 微微一笑很倾城, 解忧杂货店, 嫌疑人X的献身, 恶意, 放学后, 新参者, 时生, 雪地殺機, 圣女的救济, 秘密, 拉普拉斯的魔女, 超·杀人事件, 三体, 你一生的故事, 银河系漫游指南, 献给阿尔吉侬的花束, 火星救援, 摩天楼, 软件体的生命周期, 微微一笑很倾城, 岛屿之书, 完美爱情标本店, 鹤唳华亭, 曾有一个人,爱我如生命, 夜旅人, 海棠依舊: 知否? 知否? 應是綠肥紅瘦 卷一, 四月间事, 孤城闭, 双峰: 神秘史, 七根凶简, 嫌疑人X的献身, S., 长夜难明, 锦衣行, 神雕侠侣, 射雕英雄传(全四册), 有匪2:离恨楼, 七夜雪, 刀背藏身, 剑桥倚天屠龙史, 倚天屠龙记(共四册), 贝伦与露西恩, 碟形世界:猫和少年魔笛手, 冰与火之歌, 草原动物园, 克苏鲁神话, 无根之木, 九州·缥缈录, 塔希里亚故事集, 精灵宝钻, 有顶天家族, 散步去, 海贼王, 大叔上等, 灌篮高手31, 浪客行 1, 非法侵入(01), 死亡筆記 1, 铳梦, 竹光侍 1, 天是红河岸, 我可以被擁抱嗎?因為太過寂寞而叫了蕾絲邊應召, PRIDE, 长安乱, 零下一度, 飄移中國, 魔道祖师, 桃花债 上, 義父~梅花日記~, 不可抗力 上, 關照你的花蕾, 成化十四年, 麒麟之与子同袍, 同級生, 不疯魔不成活, 乱世为王(上卷), 圆舞, 她比烟花寂寞, 玫瑰的故事, 开到荼蘼, 承欢记, 亦舒作品集(共60册), 人淡如菊, 朝花夕拾, 寒武纪, 她的二三事, 印度墨, 亦舒新经典, 乐未央, 不羁的风, 亦舒作品系列, 阿修罗, 嫌疑人X的献身, 恶意, S., 长夜难明, 希腊棺材之谜, 放学后, 夏日启示录, 一朵桔梗花, 占星术杀人魔法, 13.67, 三毛典藏全集, 滚滚红尘, 流星雨, 傾城, 悟空传, 明朝那些事儿(壹), 盗墓笔记, 鬼吹灯之精绝古城, 琅琊榜, 致我们终将逝去的青春, 鹤唳华亭, 海棠依舊: 知否? 知否? 應是綠肥紅瘦 卷一, 怨氣撞鈴1·食骨, 魔道祖师, 莲花, 素年锦时, 蔷薇岛屿, 清醒纪, 且以永日, 安妮宝贝系列, 古书之美, 月, 悲伤逆流成河, 幻城, 小时代1.0折纸时代, 左手倒影,右手年华。, 爵迹•燃魂书, 小时代3.0:刺金时代, 小时代1.5·青木时代VOL.1, 小时代1.5·青木时代VOL.2, 夜旅人, 海棠依舊: 知否? 知否? 應是綠肥紅瘦 卷一, 大唐明月1·风起长安, 步步惊心, 不负如来不负卿1, 史上第一混乱·第一季神仙预备役, 凤囚凰(上中), 扶摇皇后(上下), 独步天下(上下卷), 绾青丝Ⅰ, 第一风华1·天赐良缘(上下), 官居一品(全七册), 神雕侠侣, 射雕英雄传(全四册), 倚天屠龙记(共四册), 白马啸西风, 连城诀, 飞狐外传(上下), 不干了!我开除了黑心公司, 春宵苦短,少女前進吧!, 迟来的翅膀, 未聞花名(上), 四叠半神话大系, 末日時在做什麼?有沒有空?可以來拯救嗎? 01, 空之境界(上), 奇诺之旅I, Fate/Zero Vol.1 [第四次圣杯战争秘话], 渴望死亡的小丑, 斬首循環, 言叶之庭, 冰菓, 刀剑神域 01, 古书堂事件手帖 01, 圖書館戰爭, 狼與辛香料, 少女不十分, 三日間的幸福, 尼罗河上的惨案, 罗杰疑案, 死亡之犬, 幕后凶手, 阿加莎·克里斯蒂侦探推理“波洛”系列(全32册), 告诉我,你怎样去生活, ABC谋杀案, 大侦探波洛精选集, 牙医谋杀案, 阳光下的罪恶, 奉命谋杀, 捕鼠器, 啤酒谋杀案, 无尽长夜, 谋杀启事, 斯泰尔斯庄园奇案, 向左走·向右走, 星空, 月亮忘記了, 我的错都是大人的错, 我的心中每天开出一朵花, 世界別為我擔心, 我只能為你畫一張小卡片, 我的世界都是你, 照相本子, 布瓜的世界, 谢谢你毛毛兔,这个下午真好玩, 三体, 你一生的故事, 碟形世界:猫和少年魔笛手, 银河系漫游指南, 火星救援, 软件体的生命周期, 少数派报告, 深渊上的火, 朝花惜时, 十六夜膳房, 每天早上和你一起醒来, 夏洛克是我的名字, 我还是很喜欢你, 拂过冬季到云来, 这世界正在遗忘不改变的人, 最初不过你好, 七根凶简, 冰与火之歌, 大师和玛格丽特, 哈利·波特与魔法石, 精灵宝钻, 哈利·波特与阿兹卡班的囚徒, 哈利·波特与死亡圣器, 魔戒(第一部), 冰与火之歌(卷三), 生死桥, 13.67, 她是女子,我也是女子, 别来无恙, 龙头凤尾, 無愛紀, 任你行, 飞毡, 青蛇, 穿KENZO的女人, 向左走·向右走, 星空, 月亮忘記了, 我的错都是大人的错, 我的心中每天开出一朵花, 世界別為我擔心, 我只能為你畫一張小卡片, 我的世界都是你, 照相本子, 布瓜的世界, 谢谢你毛毛兔,这个下午真好玩, 哈利·波特与魔法石, 哈利·波特与阿兹卡班的囚徒, 哈利·波特与死亡圣器, 偶发空缺, 诗翁彼豆故事集, 蚕, 神奇的魁地奇球, 哈利·波特百科全书, 哈利·波特的哲学世界, Harry Potter Page to Screen, Fantastic Beasts and Where to Find Them, 一个人住第9年, 一個人去旅行, 一個人上東京, 30分老妈, 节日万岁!, 一个人的42公里, 一个人的美食之旅, 一個人的第一次, 150cm Life 2, 一個人去跑步, 楚留香传奇, 三少爷的剑, 古龙作品全集(全53卷), 七种武器(全三册), 绝代双骄(全三册), 小李飞刀系列, 谁来跟我干杯, 七夜雪, 曼珠沙华, 忘川 上, 镜·双城, 帝都赋, 大漠荒颜, 羽·赤炎之曈, 忘川 下, 七夜雪, 花镜, 沧海, 彼岸花, 那些生命中温暖而美好的事情, 不朽, 年华是无效信, 剩者为王, 有生之年, 尘埃星球, 文艺风象·假妆, 《文艺风象+文艺风赏》第一期合刊, 文艺风象·A梦, 文艺风象·消夏, 文艺风象·TA和TA的猫, 水仙已乘鲤鱼去, 鲤·写信, 鲤·上瘾, 鲤·孤独, 鲤·来不及, 鲤·谎言, 十爱, 葵花走失在1890, 是你来检阅我的忧伤了吗, 昼若夜房间, 微微一笑很倾城, 拂过冬季到云来, 巧克力味的暑假/阳光姐姐小书房, 年华是无效信, 高考战斗手册, 聲之形 01, 青春好似大脸狗, 做好学生有点累-伍美珍作品, 男生贾里  女生贾梅, 那些回不去的年少时光(套装上下册), 大国的崩溃, 天朝的崩溃, 丝绸之路, 明朝那些事儿(壹), 史记(全十册), 影响力, 逃避自由, 沟通的艺术(插图修订第14版), 哥德尔、艾舍尔、巴赫, 苏菲的世界, 加缪手记, 天外有天, 当呼吸化为空气, 阿拉伯的劳伦斯, 别闹了,费曼先生, 只是孩子, 音乐使人自由, 沈从文的后半生, 东京本屋, 丝绸之路, 知觉之门, 菊与刀, 菊与刀, 脸的历史, 如花在野, 梵高手稿, 手绘的奇思妙想, 零ZEЯRO, Thoughts on Design, 色彩设计的原理, 西文字体, 房思琪的初戀樂園, 动物农场, 大国的崩溃, 我的应许之地, 利维坦, 毛泽东选集 第一卷, 穿墙透壁, 建筑家安藤忠雄, 外部空间设计, 空间的诗学, 建筑,从那一天开始, 交往与空间, 负建筑, 贝聿铭全集, 悉达多, 西藏生死书, 耶路撒冷三千年, 圣经, 我的应许之地, 金刚经, 金刚经说什么, 科学与宗教的领地, 慕尼黑的清真寺, A Secular Age, 沉默, 千面英雄, 眼泪与圣徒, 故事, 我心狂野, 导演的诞生, 与奥逊·威尔斯共进午餐, 贾想1996—2008, 电影镜头设计, 高数笔谈, 怎样解题, 线性代数及其应用, 数学:确定性的丧失, 具体数学(英文版第2版), 高观点下的初等数学, 线性代数应该这样学, 利维坦, 君主论, 极权主义的起源, The King's Two Bodies, 政治秩序的起源, 联邦党人文集, 寻找家园, 写作这回事, 记忆小屋, 為了活下去:脫北女孩朴研美, 天外有天, 天朝的崩溃, 明朝那些事儿(壹), 史记(全十册), 哈佛中国史(全六卷), 东晋门阀政治, 大秦帝国, 陈寅恪魏晋南北朝史讲演录, 南明史, 三国志(全五册), 潜规则, 魏晋之际的政治权力与家族网络, 加缪手记, 穿过圩场, 毛泽东选集 第一卷, 传习录, 史记(全十册), 易经, 论语, 菜根谭, 王阳明全集(全二册), 黄帝内经, 管锥编(全五册), 禅说庄子:齐物论, 音乐使人自由, 创造乡村音乐, 古典音乐简单到不行!, 乐之本事, 怎样鉴别黄色歌曲, 莫扎特与纳粹, 与小泽征尔共度的午后音乐时光, 有生之年非听不可的1001张唱片, 菊与刀, 人间草木, 海错图笔记, 素履之往, 曾国藩(上中下), 曾国藩家书, 我是你的男人, 世界因你不同, 褚时健传, 小顾聊绘画·壹, 秘密花园, 30天学会绘画, 伯里曼人体结构绘画教学, 长昼的安魂曲, 茶馆, 奥狄浦斯王, 莎士比亚全集(全8册), 推销员之死, 哈姆莱特, 雷雨, 莎士比亚四大悲剧, 玩偶之家, 萧伯纳戏剧选, 脸的历史, Sensuous Surfaces, 疯狂艺术史:从莫奈到毕加索, 照夜白, 风景与记忆, 写给大家的西方美术史, 金刚经, 寂静之道, 佛祖都说了些什么?, 佛教的见地与修道, 悉达多, 楞严经, 当和尚遇到钻石, 藏传佛教象征符号与器物图解, 学佛三书(共3册), 五灯会元(全三册), 佛教常识答问, 地藏菩萨本愿经, 第二次世界大战战史, 无畏之海, 中国古代战争的地理枢纽, 滑铁卢, 苦难辉煌, 一战秘史, 进击的局座, 麒麟之与子同袍, 命运攸关的抉择, 艾希曼在耶路撒冷, 巴黎烧了吗?, 邻人, 活着回来的男人, 拥抱战败, 第三帝国的兴亡(上中下), 纳粹医生, 纯粹理性批判, 悲剧的诞生, 查拉图斯特拉如是说, 人性的,太人性的, 什么是批判?/ 自我的文化, 谈谈方法, 天朝的崩溃, 战争与革命中的西南联大, 天国之秋, 重说中国近代史, 剑桥中华民国史(上卷), 科举改制与最后的进士, 记忆的政治, 花舞大唐春, 汉帝国的遗产, 庞贝三日, 逝者的面具, 中国古代壁画 唐代, 致命的自负, 容忍与自由, 联邦党人文集, 30天学会绘画, 伯里曼人体结构绘画教学, 清宫海错图, 世界美术名作二十讲, 陌生的经验, 如何看懂印象派, 剑桥艺术史:绘画观赏, 透视的艺术, 恋情的终结, 情书, 夜航西飞, 旅行与读书, 我已与一万亿株白桦相逢, 西班牙旅行笔记, 不去会死!, 罗摩桥, 活着, 东京本屋, 明天也是小春日和, 囚徒健身, 如花在野, 追风筝的人, 沟通的艺术(插图修订第14版), 刻意练习, 被讨厌的勇气, 活出生命的意义, 拆掉思维里的墙, 自醒:从被动努力到主动进步的转变, 你自以为的极限,只是别人的起点, 你不用假装过得很好, 沟通的艺术(插图修订第14版), 影响力, 24个比利, 逃避自由, 決鬥寫真論, 摄影构图学, 论摄影, Photoshop修色圣典, 走来走去, 一次・图片和故事, 失焦, 房思琪的初戀樂園, 灿烂千阳, 时间的果, 初夜, 夜莺, 只有医生知道!, 他们说,我是幸运的, 零秒工作, 横向领导力, 高难度谈话, 学会提问, 说话就是生产力, 雅舍谈吃, 汪曾祺谈吃, 品尝的科学, 旅行者的早餐, 明日的便当, 随园食单, 日本料理神髓, 民国太太的厨房, 厨房里的人类学家, 五味, 食物与厨艺, 文心, 正面管教, 育儿基本, 傅雷家书, 优秀的绵羊, 爱弥儿, 游戏力, 夜航西飞, 旅行与读书, 我已与一万亿株白桦相逢, 西班牙旅行笔记, 不去会死!, 罗摩桥, 新世界, 超越死亡, 当下的力量, 改变,从心开始, 观呼吸, 简单冥想术:激活你的潜在创造力, 次第花开, 意识光谱, 事事本无碍, 脈輪全書, 只有医生知道!, 人体的故事, 囚徒健身, 肠子的小心思, 无器械健身, 女性健康私密书, 酸痛拉筋解剖书, 硬派健身, 核心基础运动, 吃的真相, 植物性饮食革命, 拉伸, 西尔斯健康育儿百科, 轻断食, 外婆的道歉信, 每天早上和你一起醒来, 看不见的爱, 萤火虫小巷, 你是我的命运, 像我这样笨拙地生活, 彼得·科恩木工基础, 折纸大全, 女孩子的手编小饰品111款, 刺绣针法百种简史与示范, 橡皮章中毒, 最简单的家庭木工, 大人的科学:流光幻彩折纸灯, 最详尽的缝纫教科书, 爱上有缝纫机的日子, 缝纫基础知识, 大人的科学:浪漫四季星空灯, 从零开始学缝纫, 把刺绣变简单, 青木和子的唯美刺绣, 玩转手工100招, 大模型:改变世界的十大机械, 幸福的婚姻, 如何让你爱的人爱上你, 性学观止(上下册), 女醫師教你真正愉悅的性愛, 極致挑逗:雙人共撫全圖解120招, 搞定男人, 男人不屌女人不High, 爱的五种能力, 黄帝内经, 遵生八笺, 问中医几度秋凉, 人体使用手册, 营养圣经, 植物性饮食革命, 中国健康调查报告, 养生书, 神奇的肌肤能量书, 顾中一说:我们到底应该怎么吃?, 脸要穷养,身要娇养(全新图文修订版), 瑜伽, 全注全译黄帝内经(上下), 沟通的艺术(插图修订第14版), 谈话的力量, 高难度谈话, 关键对话, 不要用爱控制我, 爱是一种选择, 强势, 沃顿商学院最实用的谈判课(原书第2版), 高效能人士的7个习惯(人际关系篇), 人情与面子, 人际沟通技巧, 这样装修不后悔(插图修订版), BEAMS AT HOME 2, 最简单的小户型收纳整理术, 家庭收纳1000例, 家的模样, 装修不上当,省心更省钱(新), 最简单的家庭木工, 出国自助游教室, 老火车的时光慢游, 意大利, 青海全攻略, 巴黎, 路上有微光, 越南自助游, 中国自助游, 台北旅遊全攻略, 雪山乌托邦, 明天就去尼泊尔, 资本论(第一卷), 致命的自负, 影响力, 创业维艰, 卓有成效的管理者, MBA教不了的创富课, 旁观者, 第五项修炼, 10人以下小团队管理手册, 资本论(第一卷), 致命的自负, 浪潮之巅, 创业维艰, MBA教不了的创富课, 影响力, 投资最重要的事, 股票作手回忆录, 证券分析, 货币金融学, 大而不倒, 信用创造、货币供求与经济结构, 投资最重要的事, 证券分析, 股票作手回忆录, 随机漫步的傻瓜, 股市真规则, 说谎者的扑克牌, 影响力, 文案创作完全手册, 参与感, 顾客为什么购买, 不做无效的营销, 超级符号就是超级创意, 创业维艰, MBA教不了的创富课, The Innovators, 创新公司, 精益创业实战, 四步创业法, 创新与企业家精神, 投资最重要的事, 财务自由之路, 巴菲特的护城河, 股市进阶之道, 财报就像一本故事书, 个人理财, 文案创作完全手册, 超级符号就是超级创意, 文案训练手册, 广告文案, 大量流出, 中兴百货广告作品全集, 洞见, 股票作手回忆录, 股市真规则, 股市进阶之道, 笑傲股市, 证券分析, 海龟交易法则, 走出幻觉走向成熟, 跌荡一百年(下), 看得见的手, 联想风云, 华为的世界, 艰难的辉煌, 塞氏企业传奇, 解构德隆, 活动策划完全手册, 獨立策展人Independent Curators, 广告人手记, 赖声川的创意学, 广告媒体策划, 叶茂中的营销策划, 广告与促销, 創意筆記本: 概念力, 地理学与生活 (全彩插图第11版), 哥德尔、艾舍尔、巴赫, 杂草记, 生命的跃升, 众病之王, 浪潮之巅, 创业维艰, 游戏改变世界, 大数据时代, 长尾理论, 硅谷之谜, 代码大全(第2版), JavaScript高级程序设计(第3版), Fluent Python, 哥德尔、艾舍尔、巴赫, 时间的形状, 万物起源, Pattern Recognition And Machine Learning, Algorithms to Live By, 人工智能的未来, TCP/IP详解 卷1:协议, Fluent Python, 编程之美, Getting Real, Deep Web File #網絡奇談, 深入剖析Tomcat, 无人驾驶, 硅谷之谜, 什么是科学, 星际唱片, 科技之巅, 通信之道——从微积分到5G, Fundamentals of Wireless Communication, Facebook效应, 数据可视化之美, The Nature of Code, 应需而变, Understanding Your Users, Handbook of Usability Testing, 随心所欲, Letting Go of the Words, Neural Networks for Pattern Recognition, Neural Networks, Embodiment and the Inner Life, 实用程序育儿法, Dive Into Python 3, 代码大全(第2版), Programming Ruby中文版, 梦断代码, 代码整洁之道
========================================
Cluster 1 details:
--------------------
Key features: ['本书', '介绍', '理论', '领域', '技术']
book in this cluster:
红楼梦, 江城, 红楼梦, 经济学原理(上下), 红楼梦, 山海经, 大好河山可骑驴, 红楼梦, 红楼梦, 山海经, 大好河山可骑驴, 哈利·波特与火焰杯, 哈利·波特与密室, 哈利·波特与火焰杯, 哈利·波特与密室, 哈利·波特百科全书, 社会心理学, 逻辑学导论, 梵高传, 社会心理学, 贸易的猜忌, 造房子, 写给大家看的设计书(第3版), 造房子, 写给大家看的设计书(第3版), 江城, 社会心理学, 贸易的猜忌, 造房子, 街道的美学, 建筑十书, 石挥谈艺录, 概率论与数理统计, 概率论沉思录, 离散数学及其应用(原书第5版), 贸易的猜忌, 音乐与情感, 听音乐(插图第6版), 怎样欣赏音乐, 西方文明中的音乐, 认识乐理, 穷查理宝典, 梵高传, 鞋狗, 像艺术家一样思考, 石挥谈艺录, 竞逐富强, 汉代物质文化资料图说, 白沙宋墓, 一课经济学, 扭曲的人性之材, 像艺术家一样思考, 梵高传, 江城, 社会心理学, Excel图表之道, 食物信息图, 江城, 手作族一定要会的缝纫基本功, 皮革工藝. vol.9 基礎技法篇, 金赛性学报告, 范志红:不懂健康,难做美丽女人, 收纳全书, 经济学原理(上下), 国富论, 经济学的思维方式(第11版), 定位, 管理的实践, 金字塔原理, 经济学原理(上下), 国富论, 经济学的思维方式(第11版), 定位, 鞋狗, 投资中最简单的事, 价值评估, 期货市场技术分析, 漫步华尔街, 一本书读懂财报, 穷查理宝典, 投资中最简单的事, 日本蜡烛图技术, 期货市场技术分析, 价值评估, 漫步华尔街, 定位, 一个广告人的自白, 消费者行为学 (第8版·中国版), 市场营销原理, 增长黑客, 跨越鸿沟, 黑客与画家, 鞋狗, 增长黑客, 投资中最简单的事, 一个广告人的自白, 计算广告, 文案发烧, 定位, 日本蜡烛图技术, 投资中最简单的事, 公司价值分析, 专业投机原理, 文案发烧, 活动策划全攻略, 黑客与画家, 必然, 运营之光, 增长黑客, 编码, 算法导论(原书第2版), 算法(第4版), 黑客与画家, 集体智慧编程, Python编程:从入门到实践, 程序员的自我修养, 程序员修炼之道, 控制论与科学方法论, Web界面设计, Web信息架构(第3版), Web界面设计, Web信息架构(第3版), 机器学习, 编码, 算法导论(原书第2版), 集体智慧编程, 算法(第4版), 程序员的自我修养, 编译原理, JavaScript语言精粹, 网络是怎样连接的, JAVASCRIPT权威指南(第四版), 你不知道的JavaScript(上卷), Flask Web开发:基于Python的Web应用开发实战, 高性能JavaScript, 构建高性能Web站点, Web性能权威指南, PHP和MySQL Web开发(原书第4版), Web前端黑客技术揭秘, Web之困:现代Web应用安全指南, 必然, Web界面设计, Designing Interfaces中文版, 大话无线通信, 大话通信, 信号与系统, 无线通信, 大话移动通信, 通信原理, 数据通信与网络, 通信原理, 通信行业求职宝典, 射频和无线技术入门, 通信新读, 信息论基础, 数字通信, 数字通信, 通信之美, 数字通信, 交互式培训, 设计网事, UCD火花集2, 神经网络与机器学习(原书第3版), 意识的宇宙, 模式识别与神经网络, 神经网络在应用科学和工程中的应用, 神经网络与深度学习, 神经计算原理, 神经网络模型及其MATLAB仿真程序设计, 深度学习, 神经网络, 脑的高级功能与神经网络, MATLAB神经网络原理与实例精解, 计算机程序设计艺术(第1卷), Head First Python(中文版), C专家编程, 程序员的自我修养, 机器学习系统设计, Effective java 中文版(第2版), 高性能网站建设指南, 程序开发心理学, JAVASCRIPT语言精髓与编程实践
========================================
Cluster 2 details:
--------------------
Key features: ['我们', '如何', '生命', '这些', '什么']
book in this cluster:
巨人的陨落, 新名字的故事, 囚鸟, 巨人的陨落, 新名字的故事, 囚鸟, 活着为了讲述, 巨人的陨落, 囚鸟, 活着为了讲述, 这些人,那些事, 爱你就像爱生命, 黄金时代, 一只特立独行的猪, 巨人的陨落, 来自新世界 (上下), 这些人,那些事, 鲍勃·迪伦诗歌集 (1961-2012), 诗的八堂课, 现实与欲望, 摇摇晃晃的人间, 黄金时代, 一只特立独行的猪, 爱你就像爱生命, 一只特立独行的猪, 角儿, 爷爷变成了幽灵, 声律启蒙, 呼啸山庄, 在细雨中呼喊, 夹边沟记事, 呼啸山庄, 茶花女, 声律启蒙, 好笑的爱, 爱,谎言与写作, 疯狂艺术史:从达芬奇到伦勃朗, 卢浮宫的守护者, 半落, ZOO, 爷爷变成了幽灵, 最好的我们, 那些回不去的年少时光, 幻夜, 来自新世界 (上下), 萤火之森, 半落, 敲响密室之门, 眠空, 大方 No.2, 刻下来的幸福时光, 最好的我们, 那些回不去的年少时光, 我知道你会来,所以我等, 文艺风象·毕业即胜利, 文艺风象·闪开!让专业不对口的来, 鲤·暧昧, 鲤·最好的时光, 鲤·因爱之名, 鲤·偶像, 最好的我们, 我们纯真的青春, 巨人的陨落, 夹边沟记事, 十二幅地图中的世界史, 少有人走的路, 非暴力沟通, 活着为了讲述, 奇特的一生, 历史深处的忧虑, 十二幅地图中的世界史, 你一定爱读的极简欧洲史, 未来简史, 最好的告别, 天真的人类学家, 疯狂艺术史:从达芬奇到伦勃朗, 孤独之间, 日本的八个审美意识, 最好的告别, 历史深处的忧虑, 历史深处的忧虑, 魔鬼数学, 活着为了讲述, 夹边沟记事, 一只特立独行的猪, 智识分子, 疯癫与文明, 声律启蒙, 说文解字, 辛丰年音乐笔记, 未来简史, 天真的人类学家, 孤独之间, 诗的八堂课, 一幅画开启的世界, 如何读中国画, 沿着塞纳河到翡冷翠, 蒋公的面子, 疯狂艺术史:从达芬奇到伦勃朗, 孤独之间, 如何读中国画, 雪域求法记, 战略, 再度觉醒, 野蛮大陆, 奥斯维辛, 我是女兵,也是女人, 若非此时,何时?, 疯癫与文明, 袁氏当国, 自由选择, 一幅画开启的世界, 如何看一幅画, 爱你就像爱生命, 永恒的时光之旅, 旅行的艺术, 在漫长的旅途中, 沿着塞纳河到翡冷翠, 无声告白, 少有人走的路, 无声告白, 把时间当作朋友, 钓鱼的男孩, 少有人走的路, 把时间当作朋友, 布鲁克林有棵树, 少有人走的路, 非暴力沟通, 哈佛商学院谈判课, 我们时代的神经症人格, 永恒的时光之旅, 新名字的故事, 醒来的女性, 提问的力量, 职场动物进化手册, 如何说孩子才会听,怎么听孩子才肯说, 永恒的时光之旅, 旅行的艺术, 在漫长的旅途中, 沿着塞纳河到翡冷翠, 亲密关系, 性、生态、灵性, 一念之转, 病者生存, 非暴力沟通, 莉莉和章鱼, 爱得太多的女人, 我有个恋爱想和你谈下, 我们为什么会分手?, 魔鬼聊天术, 求医不如求己, 零起点学中医, 我要内脏变年轻, 黄帝内经·四气调神, 呼吸之间, 瑜伽之光, 非暴力沟通实践篇, 我好-你好, 伦敦, 青海/藏羚羊自助旅行手册, 2011中国自助游全新彩色升级版, 合适, 经济学通识, 自由选择, 大败局, 商业模式新生代, 合适, 经济学通识, 自由选择, 哈佛商学院谈判课, 智能时代, 优势谈判, 大败局, 金融炼金术, 公司理财, 彼得·林奇的成功投资, 金融炼金术, 怎样选择成长股, 炒股的智慧, 引爆点, 街头生意经, 商业模式新生代, 彼得·林奇的成功投资, 怎样选择成长股, 炒股的智慧, 学会花钱, 奥格威谈广告, 蔚蓝诡计, 我们在为什么样的广告买单, 彼得·林奇的成功投资, 怎样选择成长股, 炒股的智慧, 大败局, 规模与范围, 蔚蓝诡计, 时尚:幕后的策动, 编辑人的世界, 极简宇宙史, 花朵的秘密生命, 自私的基因, 未来简史, 智能时代, 信息简史, 上瘾, 科技想要什么, 深入理解计算机系统, 编码的奥秘, Python编程快速上手, 极简宇宙史, 自私的基因, 深入理解计算机系统, 编码的奥秘, 智能时代, 极简宇宙史, 信息简史, 科技想要什么, 信息简史, 随意搜寻
========================================
Cluster 3 details:
--------------------
Key features: ['一个', '为什么', '故事', '女人', '没有']
book in this cluster:
我的前半生, 百年孤独, 月亮和六便士, 斯通纳, 百年孤独, 月亮和六便士, 斯通纳, 百年孤独, 月亮和六便士, 下雨天一个人在家, 民主的细节, 亲爱的安德烈, 百年孤独, 小王子, 國史大綱(上下), 下雨天一个人在家, 白夜行, 不可思议的朋友, 强风吹拂, 怒, 孩子你慢慢来, 小王子, 当世界年纪还小的时候, 蓝熊船长的13条半命, 爱德华的奇妙之旅, 彼得·潘, 似水流年, 不可思议的朋友, 窗边的小豆豆, 我亲爱的甜橙树, 蓝熊船长的13条半命, 当世界年纪还小的时候, 爱德华的奇妙之旅, 彼得·潘, 《噼里啪啦系列》, 月亮和六便士, 百年孤独, 了不起的盖茨比, 简爱, 老人与海, 约翰·克利斯朵夫, 第七天, 没有一条道路是重复的, 红玫瑰与白玫瑰, 金锁记, 小团圆, 尘埃落定, 蒙着眼睛的旅行者, 丙申故事集, 一个陌生女人的来信, 简爱, 老人与海, 双城记, 等待戈多, 故事新编, 一个陌生女人的来信, 一个陌生女子的来信, 恐惧, 一个政治性人物的肖像, 昨日之旅, 茨威格文集, 茨威格小说集, 一个陌生女人的来信, 生活在别处, 玩笑, 庆祝无意义, 告别圆舞曲, 身份, 琴声如诉, 长别离, 劳儿之劫, 直布罗陀水手, 爱, 无耻之徒, 重读, 白夜行, 无人生还, 东方快车谋杀案, 猎豹, 雪人, 不可思议的朋友, 一个人的好天气, 少年巴比伦, 1995-2005夏至未至, 白夜行, 沉睡的人鱼之家, 祈祷落幕时, 单恋, 三体Ⅲ, 三体Ⅱ, 沙丘, 神们自己, 球状闪电, 三生三世 十里桃花, 华胥引(全二册), 那个不为人知的故事, 11处特工皇妃, 他知道风从哪个方向来, 浮生若梦1, 白夜行, 猎豹, 雪人, 怒, 香水, 达·芬奇密码, 夜色人生, 英雄志(全三册), 华胥引(全二册), 異變者1, 他的国, 一座城池, 桃花债, 又一春, 山河表里, 我的前半生, 如果墙会说话, 吃南瓜的人, 白夜行, 东方快车谋杀案, 怒, 夜色人生, 首无·作祟之物, 哭泣的骆驼, 万水千山走遍, 我的宝贝, 倾城, 三生三世 十里桃花, 那个不为人知的故事, 华胥引(全二册), 11处特工皇妃, 天行健(全4册), 彼岸花, 二三事, 告别薇安, 瞬间空白, 1995-2005夏至未至, 临界·爵迹 I, 临界·爵迹 Ⅱ, 爱与痛的边缘, 天亮说晚安, 夏至未至, 爵迹:雾雪零尘, 11处特工皇妃, 庆余年·壹, 醉玲珑(上卷), 新宋·十字1, 侠客行, 东方快车谋杀案, 无人生还, 悬崖山庄奇案, 地下铁, 走向春天的下午, 躲进世界的角落, 微笑的鱼, 三体Ⅱ, 三体Ⅲ, 沙丘, 神们自己, 球状闪电, 索拉里斯星, 仿生人会梦见电子羊吗?, 我偏爱那些不切实际的浪漫, 少年巴比伦, 愿你迷路到我身旁, 那个不为人知的故事, 1995-2005夏至未至, 哈利·波特与混血王子, 神奇动物在哪里, 哈利·波特与凤凰社, 魔戒前传, 我的前半生, 霸王别姬 青蛇, 地下铁, 走向春天的下午, 躲进世界的角落, 微笑的鱼, 哈利·波特与被诅咒的孩子, 哈利·波特与混血王子, 神奇动物在哪里, 哈利·波特与凤凰社, 罪恶生涯, 一个人住的每一天, 一个人旅行2, 人气绘本天后高木直子作品典藏(全6册), 一个人的第一次 第一次一个人旅行, 一个人去跑步, 一个人住第几年?, 一个人漂泊的日子2, 一个人的美食之旅2, 天涯·明月·刀, 楚留香传奇系列, 白玉老虎(上下), 羽·青空之蓝, 镜·织梦者, 剩者为王Ⅱ, 17, 鲤·变老, 誓鸟, 鲤·荷尔蒙, 聋哑时代, 忽而今夏, 我在等,等风等你来, 人类简史, 枪炮、病菌与钢铁, 國史大綱(上下), 大英博物馆世界简史(全3册), 天才在左 疯子在右, 人类简史, 禅与摩托车维修艺术, 人类简史, 北欧,冰与火之地的寻真之旅, 枪炮、病菌与钢铁, 大英博物馆世界简史(全3册), 枪炮、病菌与钢铁, 人类简史, 大英博物馆世界简史(全3册), 设计中的设计, 做衣服, 人类简史, 枪炮、病菌与钢铁, 民主的细节, 北欧,冰与火之地的寻真之旅, 民主的细节, 独裁者手册, 穆斯林的葬礼, 达·芬奇密码, 剧本, 异形全书:经典四部曲终极档案, 独裁者手册, 民主的细节, 上学记, 山居杂忆(插图精装版), 國史大綱(上下), 國史大綱(上下), 人类简史, 北欧,冰与火之地的寻真之旅, 一个无政府主义者的意外死亡, 等待戈多, 莎乐美, 欲望号街车, 自制美学, 亮剑, 魔鬼之师SAS, 零年:1945, 五个人的战争, 奢华之色, 哈耶克文选, 常识, 我的前半生, 一个陌生女人的来信, 平如美棠, 穆斯林的葬礼, 爱情和其他魔鬼, 北欧,冰与火之地的寻真之旅, 岛上书店, 平如美棠, 遇见未知的自己, 把小日子收进手帐里, 我的前半生, 偷影子的人, 所谓会说话,就是会换位思考, 强风吹拂, 富爸爸,穷爸爸, 精进, 滚蛋吧!肿瘤君, 别让将来的你,讨厌现在不理智的自己, 活法, 天才在左 疯子在右, 美国纽约摄影学院摄影教材(上), 被人遗忘的人:中国精神病人生存状况, 直到长出青苔, 我的前半生, 长恨歌, 另一座城, 深度工作, 杜拉拉升职记, 日日之食:家常菜的小秘密, 鸭川食堂, 至味在人间, 亲爱的安德烈, 窗边的小豆豆, 孩子的宇宙, 北欧,冰与火之地的寻真之旅, 遇见未知的自己, 这书能让你戒烟, 乳房, 消失的微生物, 我偏爱那些不切实际的浪漫, 原谅石, 世上另一个我(修订版), 巧手折一折, 如何在爱中修行, 吸引力是这样炼成的, 我把欧洲塞进背包, 沙发旅行, Lonely Planet旅行指南系列:韩国(2013年全新版), 货币战争, 富爸爸,穷爸爸, 无价, 世界上最伟大的推销员, 品牌洗脑, 富爸爸,穷爸爸, 小狗钱钱, 工作前5年,决定你一生的财富, 通向财务自由之路, 广告文案训练手册, 创意, 史丹·温斯坦称傲牛熊市的秘密, 下一个倒下的会不会是华为, 汽车和我, 迪斯尼战争, 绩效致死, 非常营销:娃哈哈--中国成功的实战教案, 创意, 疯传, 会讲故事,让世界听你的, 人类简史, 启示录, 上帝的手术刀, 那些古怪又让人忧心的问题what if?, 启示录, 启示录, 文明之光(第一册), 迷人的材料, 支付战争, MATLAB神经网络30个案例分析
========================================
Cluster 4 details:
--------------------
Key features: ['本书', '出版', '心理学', '全球', '经典']
book in this cluster:
雪落香杉树, 世界的凛冬, 1984, 围城, 1984, 雪落香杉树, 世界的凛冬, 我的天才女友, 1984, 雪落香杉树, 世界的凛冬, 当我谈跑步时我谈些什么, 围城, 世界的凛冬, 围城, 心理学与生活, 认识电影, 冷暴力, 永恒的边缘, 金色梦乡, 当我谈跑步时我谈些什么, 红拂夜奔, 我执, 金瓶梅, 红拂夜奔, 围城, 七缀集, 围城 / 人·兽·鬼, 容安馆札记, 钱钟书选集·散文卷,小说诗歌卷, 金瓶梅, 一个陌生女人的来信, 金色梦乡, 幽灵, 清明上河图密码, 福尔摩斯探案全集(上中下), 明镜之书, 塞拉菲尼抄本, 此间的少年, 何以笙箫默, 何以笙箫默, 三生三世 枕上书, 雪落香杉树, 幽灵, 清明上河图密码, 清明上河图密码4, 明镜之书, 魔戒, 塞拉菲尼抄本, 大哥, 我爱摇滚乐, 金色梦乡, 清明上河图密码4, 何以笙箫默, 此间的少年, 雪落香杉树, 魔戒, 我执, 此间的少年, 世界的凛冬, 心理学与生活, 冷暴力, 自控力, 亲密关系(第5版), 思考,快与慢, 进化心理学, 为什么学生不喜欢上学?, 对伪心理学说不, 维特根斯坦传, 大问题, 学习做一个会老的人, 作为意志和表象的世界, 维特根斯坦传, 天才的编辑, 史蒂夫·乔布斯传, 我心深处, 伍迪·艾伦谈话录, 认识电影, 大都会艺术博物馆指南, 荒野之歌, 认识艺术(全彩插图第8版), 设计心理学, 超越平凡的平面设计, 1984, 1984, 通往奴役之路, 伯罗奔尼撒战争, 北京的城墙与城门, 建构文化研究, 建筑:形式、空间和秩序, 正见, 认识电影, 世界电影史, 电影艺术(插图第8版), 伟大的电影, 伍迪·艾伦谈话录, 我心深处, 数学之美, 什么是数学, 从一到无穷大, 无言的宇宙, 古今数学思想(一), 思考的乐趣, 微积分学教程(第一卷), 数学, 历史的终结及最后之人, 文明的冲突与世界秩序的重建, 伯罗奔尼撒战争, 进化心理学, 作为意志和表象的世界, 哲学的故事, 正见, 庄子, 来自民间的叛逆, 古典风格, 认识电影, 全球通史(第7版 上册), 大问题, 天空的另一半, 维特根斯坦传, 硅谷钢铁侠, 天才的编辑, 梵高传, 陈寅恪的最后20年, 富兰克林自传, 永山裕子的水彩课, 大都会艺术博物馆指南, 阿部智幸的水彩笔记, 永山裕子的水彩课, 水彩入门, 笔记大自然, 名画之谜·希腊神话篇, 大都会艺术博物馆指南, 詹森艺术史(插图第7版), 加德纳艺术通史, 认识艺术(全彩插图第8版), 图说中国绘画史, 正见, 佛陀, 金刚经 心经 坛经, 血战钢锯岭, 西洋世界军事史(全三卷), 世界的凛冬, 大问题, 作为意志和表象的世界, 西方哲学史(上卷), 哲学的故事, 逻辑哲学论, 存在与时间, 叔本华思想随笔, 神祇、陵墓与学者, 与废墟为伴, 通往奴役之路, 无政府、国家和乌托邦, 自由论, 詹森艺术史(插图第7版), 加德纳艺术通史, 永山裕子的水彩课, 梵高传, 亲密关系(第5版), 厨艺的常识, 心理学与生活, 当我谈跑步时我谈些什么, 学习做一个会老的人, 亲密关系(第5版), 高效能人士的七个习惯(精华版), 人性的弱点全集, 自控力, 心理学与生活, 冷暴力, 自控力, 亲密关系(第5版), 进化心理学, 对伪心理学说不, 为什么学生不喜欢上学?, 荒野之歌, 天空的另一半, 爱这个世界, 权力与领导(第5版), 沟通圣经, 内向者沟通圣经, 12个工作的基本, 厨艺的常识, 食帖·真的,烤箱什么都能做, 为什么学生不喜欢上学?, 好妈妈胜过好老师, 大学之路(套装), 孩子,把你的手给我, 生命之书, 与神对话(第一卷), 生命的轨迹, 一味, 男人来自火星 女人来自金星, 爱的五种语言, 男人来自火星 女人来自金星, 亚当夏娃在拂晓, 亲密关系(第5版), 完美关系的秘密, 诫律, 亲密关系(第5版), 沟通圣经, 爱的五种语言, 这样装修省大钱(插图修订版), 通往奴役之路, 认识商业, 策略思维, 高效能人士的七个习惯(精华版), 认识商业, 创新者的窘境, 营销管理, 通往奴役之路, 认识商业, 策略思维, 认识商业, 创新者的窘境, 硅谷钢铁侠, 成为乔布斯, 门口的野蛮人, 手把手教你读财报, 营销管理, 零售的哲学:7-Eleven便利店创始人自述, 创新者的窘境, 重来, 硅谷钢铁侠, 手把手教你读财报, The Copy Book 全球32位顶尖广告文案的写作之道, Neil French, 我的广告生涯&科学的广告, 创意的生成, 手把手教你读财报, 战胜华尔街, 股票大作手操盘术, 编辑力, 展览实践手册, 从一到无穷大, 超越时空, 什么是数学, 数学之美, 对伪心理学说不, 计算机程序的构造和解释, C程序设计语言, Java编程思想 (第4版), C++ Primer 中文版(第 4 版), UNIX环境高级编程, 从一到无穷大, 超越时空, 对伪心理学说不, 什么是数学, 七堂极简物理课, 万万没想到, 数学之美, 设计心理学, 交互设计之路, 设计心理学, 交互设计之路, 计算机程序的构造和解释, 数学之美, C程序设计语言, 数据结构与算法分析, 硅谷钢铁侠, 月亮, 设计心理学, 交互设计之路, 业余无线电通信, 交互设计之路, """笨办法""学Python", 高效程序的奥秘, C程序设计语言
========================================
Cluster 5 details:
--------------------
Key features: ['设计', '用户', '产品', '交互', '体验']
book in this cluster:
纽约无人是客, 素描的诀窍, 简约至上, 版式设计原理, 设计的觉醒, 深泽直人, 平面设计中的网格系统, 认知与设计, 素描的诀窍, 素描的诀窍, 纽约无人是客, 纽约无人是客, 摄影构图与色彩设计, 纽约无人是客, 住宅设计解剖书, 装修设计解剖书, 畅销的原理, 产品经理的第一本书, 简约至上, 点石成金, About Face 3 交互设计精髓, 认知与设计, 破茧成蝶:用户体验设计师的成长之路, 人人都是产品经理, 赢在用户, 设计师要懂心理学, 交互设计沉思录, 触动人心, 瞬间之美, Web表单设计, 简约至上, 点石成金, About Face 3 交互设计精髓, 认知与设计, 破茧成蝶:用户体验设计师的成长之路, 人人都是产品经理, 赢在用户, 设计师要懂心理学, 交互设计沉思录, 触动人心, 瞬间之美, Web表单设计, HTML & CSS设计与构建网站, JavaScript DOM编程艺术, 形式感+:网页视觉设计创意拓展与快速表现, 锦绣蓝图, 点石成金, About Face 3 交互设计精髓, 破茧成蝶:用户体验设计师的成长之路, 赢在用户, 简约至上, 交互设计沉思录, Web表单设计, 最佳设计100细则, 移动应用UI设计模式, 用户体验度量, 形式感+:网页视觉设计创意拓展与快速表现, 用户体验面面观, 写给大家看的设计书, About Face 3 交互设计精髓, 认知与设计, 破茧成蝶:用户体验设计师的成长之路, 赢在用户, 交互设计沉思录, 触动人心, 用户体验草图设计, 在你身边,为你设计, 用户体验面面观, 决胜UX, 设计调研, 移动设计, 亲爱的界面, UCD火花集, 赢在用户, 用户体验草图设计, Web表单设计, 用户体验面面观, 设计沟通十器, UCD火花集, 一目了然, 人机交互:以用户为中心的设计和评估, 就这么简单, 重塑用户体验, 体验设计白书, Matlab神经网络与应用, JavaScript DOM编程艺术, CSS禅意花园
========================================
Cluster 6 details:
--------------------
Key features: ['漫画', 'http', 'com', 'html', 'id']
book in this cluster:
灯塔, 活着本来单纯, 1Q84 BOOK 1, 活着本来单纯, 此生多珍重, 1Q84 BOOK 1, 1Q84 BOOK 2, 1Q84 BOOK 3, 深夜食堂 01, 画的秘密, 方向, 睡魔1:前奏与夜曲, 守望者 上, 我可以咬一口吗, 你今天真好看, 我可以咬一口吗, 画的秘密, 睡魔1:前奏与夜曲, 睡魔2:玩偶之家, 20世紀少年01, 七月与安生, WKW, 灯塔, 方向, 画的秘密, 人间是剧场, WKW, 摄影师, 向前一步, 向前一步, 扛得住,世界就是你的, 深夜食堂 01, 人间是剧场, 精益创业, 从0到1, 重新定义公司, 精益创业, 从0到1, 重新定义公司, 精益创业, 从0到1, 重新定义公司, 万物:创世, 从0到1, 重新定义公司, 精益创业, 万物:创世, Designing Interactions, Designing Interactions, Head First HTML与CSS、XHTML(中文版), 图解HTTP, 从0到1, 重新定义公司, Designing Interactions, Neural Networks and Deep Learning
========================================
Cluster 7 details:
--------------------
Key features: ['小说', '一部', '关于', '法国', '作品']
book in this cluster:
二手时间, 二手时间, 步履不停, 浮生六记, 皮囊, 繁花, 台北人, 一句顶一万句, 刀锋, 人间失格, 我的职业是小说家, 挪威的森林, 火花, 世界尽头与冷酷仙境, 浮生六记, 皮囊, 我的职业是小说家, 世界尽头与冷酷仙境, 挪威的森林, 没有色彩的多崎作和他的巡礼之年, 且听风吟, 大萝卜和难挑的鳄梨, 奇鸟行状录, 最后的精灵, 王尔德童话, 七夜物语, 天蓝色的彼岸, 小毛驴与我, 我的精神家园, 绿毛水怪, 黑铁时代, 黑铁时代, 寻找无双·东宫西宫, 我的精神家园, 绿山墙的安妮, 草房子, 七夜物语, 天蓝色的彼岸, 浮生六记, 牡丹亭, 基督山伯爵, 傲慢与偏见, 荆棘鸟, 查特莱夫人的情人, 悲惨世界(上中下), 罪与罚, 红与黑, 麦琪的礼物, 许三观卖血记, 我没有自己的名字, 张爱玲作品集, 一句顶一万句, 繁花, 小说课, 人情之美, 平原上的摩西, 谈艺录, 钱锺书手稿集•中文笔记, 基督山伯爵, 傲慢与偏见, 悲惨世界(上中下), 红与黑, 麦琪的礼物, 巴黎圣母院, 包法利夫人, 浮生六记, 牡丹亭, 象棋的故事, 情感的迷惘, 蒙田, 不能承受的生命之轻, 小说的艺术, 笑忘录, 无知, 帷幕, 相遇, 雅克和他的主人, 阿涅丝的最后一个下午, 欲望玫瑰, 情人, 小说稗类, 荒人手记, 纽约客, 寂寞的十七岁, 遗产, 封闭式车库, 阿兰的战争, 波丽娜, 一日谈, 地图(人文版), 挪威的森林, 陪安东尼度过漫长岁月, 浪花少年侦探团, 伽利略的苦恼, 海伯利安, 神经漫游者, 封闭式车库, 华氏451, 有匪1, 螺旋之谜, 直到那一天, 有匪1, 天龙八部, 笑傲江湖(全四册), 鹿鼎记(全五册), 剑桥简明金庸武侠史, 有匪3, 金庸师承考, 陆小凤传奇, 欢乐英雄, 多情剑客无情剑(上、中、下), 冰与火之歌(卷一), 二代目归来, 魔法坏女巫, 机器猫哆啦A梦23, 1988:我想和这个世界谈谈, 三重门, 有匪1, 八月未央, 春宴, 大方 No.1, 素年锦时之月棠记, 深白, 梦里花落知多少, 天龙八部, 笑傲江湖(全四册), 鹿鼎记(全五册), 金庸江湖志, 金庸十二钗, 金庸随想录, 金庸师承考, 雪山飞狐, 书剑恩仇录(上下), 剑桥简明金庸武侠史, 金庸散文集, 海伯利安, 神经漫游者, 请你永远记得我, 冰与火之歌(卷一), 魔法坏女巫, 冰与火之歌(卷二), 三十年细说从头 (上下), 迷楼, 哈利•波特(共6册) (精装), 欢乐英雄, 陆小凤传奇, 多情剑客无情剑(上、中、下), 笑红尘, 边城浪子(上下), 武林外史(上下), 镜·神寂, 镜·龙战, 镜·辟天, 鲤·嫉妒, 樱桃之远, 鲤·逃避, 三重门, 会有天使替我爱你, 二手时间, 黎明破晓的世界, 海洋与文明, 社会性动物, 爱的艺术, 爱的艺术, 规训与惩罚, 第二性, 三十年细说从头 (上下), 社会性动物, 二手时间, 渴望风流, 走进建筑师的家, 二手时间, 社会性动物, 美丽新世界, 论美国的民主, 一九八四·动物农场, 旧制度与大革命, 走进建筑师的家, 僧侣与哲学家, 三十年细说从头 (上下), 论美国的民主, 旧制度与大革命, 国家的常识, 巨流河, 人情之美, 三十年细说从头 (上下), 时光列车, 见证, 我坦言我曾历尽沧桑, 山月记, 黎明破晓的世界, 我的精神家园, 规训与惩罚, 僧侣与哲学家, 地下乡愁蓝调, 古尔德读本, 伊莎贝拉, 毛姆传, 安野光雅的十二堂绘画课, 渴望风流, 芭巴拉少校, 现代主义, 艺术通史, 西藏度亡经, 僧侣与哲学家, 特拉法尔加战役, 1944:腾冲之围, 阿兰的战争, 规训与惩罚, 安野光雅的十二堂绘画课, 爱的艺术, 情人, 挪威的森林, 傲慢与偏见, 荆棘鸟, 面纱, 理想的下午, 皮囊, 皮囊, 有匪1, 社会性动物, 爱的艺术, 第二性, 使女的故事, 面纱, 演说之禅, 四季便当, 理想的下午, 爱的艺术, 恋人絮语, 请你永远记得我, 走进世界最美的家, 摩根财团, 摩根财团, 聪明的投资者, 摩根财团, 聪明的投资者, 聪明的投资者, 光变:一个企业及其工业史, 地球之美, 时间简史, 上帝掷骰子吗, 地图(人文版), 时间简史, 上帝掷骰子吗, 万物简史, 地球之美, 用户体验的要素, 用户体验的要素, 用户体验的要素, 用户体验的要素
========================================
Cluster 8 details:
--------------------
Key features: ['中国', '历史', '成长', '艺术', '有时']
book in this cluster:
杀死一只知更鸟, 杀死一只知更鸟, 杀死一只知更鸟, 看见, 平凡的世界(全三部), 北鸢, 白鹿原, 明朝那些事儿(1-9), 倾城之恋, 艺术的故事, 杀死一只知更鸟, 平凡的世界(全三部), 中国历代政治得失, 我口袋里的星辰如沙砾, 青铜时代, 东宫·西宫, 人间词话, 诗词会意:周汝昌评点中华好诗词, 四世同堂, 倾城之恋, 流言, 第一炉香, 怨女, 北鸢, 望春风, 旧文四篇, 阿Q正传, 人间词话, 诗词会意:周汝昌评点中华好诗词, 被背叛的遗嘱, 中国北方的情人, 松风, 我口袋里的星辰如沙砾, 基地, 三体全集, 偏爱你的甜, 明朝那些事儿(1-9), 临高启明, 临高启明, 新宋, 基地, 三体全集, 我口袋里的星辰如沙砾, 松风, 万历十五年, 中国历代政治得失, 明朝那些事儿(1-9), 如果没有今天,明天会不会有昨天?, 如果没有今天,明天会不会有昨天?, 邓小平时代, 艺术的故事, 娱乐至死, 美的历程, 看见, 中国国家治理的制度逻辑, 艺术的故事, 美的历程, 现代艺术150年, 寻路中国, 杀死一只知更鸟, 娱乐至死, 中国历代政治得失, 邓小平时代, 中国建筑史, 华夏意匠, 图像中国建筑史, 中国古代建筑史, 空谷幽兰, 八万四千问, 中国国家治理的制度逻辑, 我的前半生, 万历十五年, 中国历代政治得失, 中国近代史, 中国大历史, 姚著中国史, 中国历代政治得失, 中国文化的深层结构, 中国哲学简史, 人间词话, 中国古代文化常识, 中国文化要义, 经典里的中国, 中国大历史, 李鸿章传, 我的前半生, 隔江山色, 艺术的故事, 现代艺术150年, 隔江山色, 维摩诘经, 布局天下, 隐形军队, 战争改变历史, 如果没有今天,明天会不会有昨天?, 中国近代史, 中国1945, 李鸿章传, 中国近代史, 潮来潮去, 档案中的历史, 美术、神话与祭祀, 宗子维城, 黄泉下的美术, 中国天文考古学, 中国古代物质文化, 中国青铜时代, 唐风吹拂撒马尔罕, 暗流, 何以中国, 中国美术史讲座, 倾城之恋, 寻路中国, 带一本书去巴黎, 如果没有今天,明天会不会有昨天?, 我口袋里的星辰如沙砾, 杀死一只知更鸟, 我口袋里的星辰如沙砾, 火车上的中国人, 我爱这哭不出来的浪漫, 昨天的中国, 记忆的性别, 杀死一只知更鸟, 寻路中国, 带一本书去巴黎, 中国居民膳食指南, 中国古代房内考, 人情、面子与权力的再生产, 100元狂走中国, 中国古镇游, 中央帝国的财政密码, 伟大的博弈, 中央帝国的财政密码, 伟大的博弈, 腾讯传, 伟大的博弈, 巴菲特致股东的信, 史玉柱自述, 腾讯传, 解读基金, 巴菲特致股东的信, 巴菲特致股东的信, 腾讯传, 跌荡一百年(上), 中国的大企业, 电视节目策划笔记, 腾讯传, 文明之光 (第三册), 文明之光(第四册), 文明之光(第二册)
========================================
Cluster 9 details:
--------------------
Key features: ['生活', '社会', '作品', '写作', '本书']
book in this cluster:
鱼王, 霍乱时期的爱情, 鱼王, 霍乱时期的爱情, 飘, 鱼王, 霍乱时期的爱情, 我们仨, 沉默的大多数, 送你一颗子弹, 我们仨, 我为你洒下月光, 撒哈拉的故事, 瓦尔登湖, 沉默的大多数, 文学回忆录(全2册), 送你一颗子弹, 我为你洒下月光, 飘, 智惠子抄, 我们仨, 撒哈拉的故事, 我为你洒下月光, 瓦尔登湖, 生活,是很好玩的, 无比芜杂的心绪, 爱吃沙拉的狮子, 我的孤独是一座花园, 事物的味道,我尝得太早了, 智惠子抄, 夏洛的网, 沉默的大多数, 思维的乐趣, 白银时代, 沉默的大多数, 常识, 退步集, 佛祖在一号线, 思维的乐趣, 野火集, 自由在高处, 给孩子的故事, 夏洛的网, 柑橘与柠檬啊, 陶庵梦忆 西湖梦寻, 古文观止, 唐宋词十七讲, 飘, 兄弟(上), 兄弟, 我们生活在巨大的差距里, 余华作品系列(共12册), 异乡记, 张看(上下), 棋王, 苍老的指甲和宵遁的猫, 阿城精选集, 钱钟书散文, 钱钟书杨绛散文, 飘, 堂吉诃德, 陶庵梦忆 西湖梦寻, 古文观止, 唐宋词十七讲, 人类的群星闪耀时, 昨日的世界, 异端的权利, 杜拉斯谈杜拉斯, 写作, 物质生活, 平静的生活, 毁灭,她说, 外面的世界, 天工开物·栩栩如真, 一個人住第5年, 我怎样毁了我的一生, 生活三部曲:生活的样子, 虚无的十字架, 流星之绊, 永恒的终结, 原来你还在这里, 美国众神, 吉尔莫·德尔·托罗的奇思妙想, PRIDE (下巻) (爆男COMICS), 我所理解的生活, 光明与磊落, 可爱的洪水猛兽, 青春, 很高兴见到你, 所有人问所有人, 像少年啦飞驰, 告白与告别, 杂的文, 韩寒五年文集(上下), 通稿2003, mother, 流金岁月, 走进大文豪的家, 撒哈拉的故事, 梦里花落知多少, 荷西 我爱你, 温柔的夜, 雨季不再来, 稻草人手记, 亲爱的三毛, 送你一匹马, 你是我不及的梦, 闹学记, 我的灵魂骑在纸背上, 小时代2.0虚铜时代, 愿风裁尘, 歌尽桃花, 窃明, 我不是完美小孩, 又寂寞又美好, 幾米創作10年精選, 听幾米唱歌, 遗失了一只猫, 永恒的终结, 停靠,一座城, 我有一切的美妙, 喜宝, 常识, 原来你非不快乐, 我不是完美小孩, 又寂寞又美好, 幾米創作10年精選, 听幾米唱歌, 遗失了一只猫, 一個人住第5年, 一个人漂泊的日子①, 护花铃, 听雪楼系列典藏版(全三册), 血薇, 千秋, 须臾, 万象, 如果声音不记得, 文艺风象·雨天爱好者, 你的怪兽男友, 草样年华, 叫魂, 乌合之众, 失控, 人生的智慧, 理想国, 社会契约论, 人类的群星闪耀时, 昨日的世界, 送你一颗子弹, 文学回忆录(全2册), 乡土中国, 失控, 智惠子抄, 忧郁的热带, 乡土中国, 日本新中产阶级, 叫魂, 狂热分子, 社会学的想像力, 乌合之众, 忧郁的热带, 乡下人的悲歌, 聆听音乐, 何为美好生活:Beams at Home, 乌合之众, 乡土中国, 日本新中产阶级, 狂热分子, 社会学的想像力, 美丽灵魂, 城记, 雕刻时光, 吉尔莫·德尔·托罗的奇思妙想, 社会契约论, 狂热分子, 论自由, 变化社会中的政治秩序, 我们仨, 昨日的世界, 被淹没和被拯救的, 乡下人的悲歌, 中国通史, 沉默的大多数, 失控, 论自由, 古文观止, 聆听音乐, 如果这可以是首歌, 文学回忆录(全2册), 人类的群星闪耀时, 给孩子的故事, 我也有一个梦想, 人类的群星闪耀时, 简·海恩斯的写意水彩, 中央公园西路, 所有我们看不见的光, 像自由一样美丽, 人生的智慧, 理想国, 解体概要, 单向度的人, 近代中国社会的新陈代谢, 帝国夕阳, 从历史中醒来, 论自由, 开放社会及其敌人(全二卷), 自由秩序原理, 自由与繁荣的国度, 法律、立法与自由(第一卷), 自由的伦理, 资本主义与自由, 美国自由的故事, 霍乱时期的爱情, 飘, 智惠子抄, 喜宝, 泛若不系之舟, 撒哈拉的故事, 乖,摸摸头, 最好金龟换酒, 小家,越住越大, 人生的智慧, 我为你洒下月光, 靠谱, 喜宝, 把力气花在你想要的生活上, 异类, 秘密, 乌合之众, 黑白, 家庭日记, 如何让女人免于心碎, 靠谱, 小强升职记, 斜杠创业家, 四季家之味, 给孩子的故事, 孩子:挑战, 情感依附, 泛若不系之舟, 撒哈拉的故事, 乖,摸摸头, 最好金龟换酒, 秘密, 吃货的生物学修养, 喜宝, 情感暴力, haru的橡皮章生活, 性别战争, 卡内基沟通与人际关系, 小家,越住越大, 何为美好生活:Beams at Home, 收纳的艺术, 家, 家事的撫慰(上冊), 家, 住宅读本, 北欧风格小屋, 激荡三十年(上), 大国大城, 行动的勇气, 怪诞行为学, 激荡三十年(下), 靠谱, 激荡三十年(上), 大国大城, 行动的勇气, 怪诞行为学, 激荡三十年(下), 激荡三十年(上), 激荡三十年(下), 行动的勇气, 金融的逻辑, 三双鞋, 中产阶级如何保护自己的财富, 激荡三十年(上), 激荡三十年(下), 失控, 编程珠玑, 编程珠玑
========================================

Process finished with exit code 0

由上面的聚类我们大致可以看出, cluster0 侧重生活, cluster5设计, cluster 8 侧重政治、中国等 ,达到了将相似内容聚集到一起的目标。同时也看到,有些地方不太准,需待优化,比如一些量词需要做些处理等,以及k的数值到底是选择多少为好。

 

参考:Python自然语言处理实践

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

无监督学习K-means文本聚类实践 的相关文章

随机推荐

  • 【JSON 初级】

    概述 前后台数据交换的格式标准 一种优秀的 数据格式 采用键值对的方式 取数据 用键 优势 比XML更小 更快 更容易解析 JSON是存储和交换文本信息的语法 类似XML 工具 网上有校验json数据 并提示错误 将数据转化为json数据
  • 深入理解java虚拟机【并发编程缓存】

    2019独角兽企业重金招聘Python工程师标准 gt gt gt 随着多核CPU的高速发展 为了充分利用硬件的计算资源 操作系统的并发多任务功能正变得越来越重要 但是CPU在进行计算时 还需要从内存读取输出 并 将计算结果存放到内存中 然
  • 【华为OD机试】分苹果(C++ Python Java)2023 B卷

    时间限制 C C 1秒 其他语言 2秒 空间限制 C C 262144K 其他语言524288K 64bit IO Format lld 语言限定 C clang11 C clang 11 Pascal fpc 3 0 2 Java jav
  • 闲聊:自动化到底是干什么的?

    很多人会问 自动化到底是干什么的 也许是因为这个专业所要学习和掌握的知识太庞杂了 以至于自动化被称之为万能胶 干什么都行 却又都不专业 很大一部分同学上到大二大三还不知道自己具体能做什么 迷茫中便选择了转行 希望还在迷茫中的低年级的同学看了
  • C++11变长模板解析(深入理解C++11)

    参考自 深入理解C 11 变长模版 变长函数和变长的模版参数 变长函数 double sum int n 求n个double数据之和 double sum 0 va list args 接受输入数据的数据结构 需声明stdarg h va
  • 3D游戏设计作业9:游戏智能

    坦克对战游戏 AI 设计 游戏截图 1 作业要求 从商店下载游戏 Kawaii Tank 或 其他坦克模型 构建 AI 对战坦克 具体要求 使用 感知 思考 行为 模型 建模 AI 坦克 场景中要放置一些障碍阻挡对手视线 坦克需要放置一个矩
  • python 点名程序(随机点名不重复 可定义名字列表 语音播报 免费下载 多线程打包)

    python点名小程序 含有 调用windows本地语音播报 python多线程打包 等小技巧 软件获取 点击下方地址直接下载压缩包 免费为大家提供 软件获取地址 大家拿了软件别忘了给博主一个免费的赞 谢谢 解压压缩包 里面的MyAPP e
  • 配置和美化Arch Linux

    前面说了如何安装一个最小化的Arch Linux 现在来说说如何配置 配置网络 如果使用有线网络的话 将dhcp服务开机启动 systemctl enable dhcpcd 如果使用无线网络的话 使用wifi menu命令连接网络 如果在使
  • Base64图片上传

    文章目录 1 图片上传样式写法 2 Js写法 1 图片上传样式写法 div class form group div
  • python+OpenCV图像处理(五)图像的阈值分割

    图像的阈值处理 一幅图像包括目标物体 背景还有噪声 要想从多值的数字图像中直接提取出目标物体 常用的方法就是设定一个阈值T 用T将图像的数据分成两部分 大于T的像素群和小于T的像素群 这是研究灰度变换的最特殊的方法 称为图像的二值化 Bin
  • 分号与逗号的区别及举例_顿号与逗号与分号间的区别是什么?

    逗号把句子切分为意群 表示小于分号大于顿号的停顿 而逗号有哪些用法呢 以下是由小编整理关于逗号如何使用的内容 希望大家喜欢 逗号汉语用法句子内部主语与谓语之间如需停顿 用逗号 例如 我们看得见的星星 绝大多数是恒星 句子内部动词与宾语之间如
  • STM32设置为I2C从机模式

    STM32设置为I2C从机模式 目录 STM32设置为I2C从机模式 前言 1 硬件连接 2 软件编程 3 运行测试 3 1 I2C连续写入 3 2 I2C连续读取 3 3 I2C单次读写测试 4 总结 前言 STM32的I2C作为主机的情
  • pentaho安装

    注意 以下图片文字中的org mysql一律改为com mysql 1 pentaho社区版下载地址 https sourceforge net projects pentaho 2 下载以下两个文件 3 biserver ce 6 1 0
  • JMeter 设置请求头信息的详细步骤

    在使用 JMeter 的过程中 我们会遇到需要设置请求头信息的场景 比如 POST 传过去的 Body 数据是 json 格式的 需要填添加头信息 Content Type application json 在 header 中用 toke
  • python中错误Reshape your data either using array.reshape(-1, 1)

    1 错误 Traceback most recent call last File Users yuanbao PycharmProjects EnsembleLearning KNeighbors py line 16 in
  • 数据控制类别(CC1和CC2)——DO-178B/ED-12B学习笔记之七

    数据控制类别 CC1和CC2 DO 178B ED 12B学习笔记之七 为了理解数据控制类别 CC1和CC2 的定义 先看DO 178B的7 3条 原文 Software life cycle data can be assigned to
  • NUC980开源项目27-you should not run configure as root

    上面是我的微信和QQ群 欢迎新朋友的加入 项目码云地址 国内下载速度快 https gitee com jun626 nuc980 open source project 项目github地址 https github com Jun117
  • Shiro实战学习笔记(2)-自定义Realm

    1 自定义realm package org tzb realm import org apache shiro authc AuthenticationException import org apache shiro authc Aut
  • float32精度_模型压缩一半,精度几乎无损,TensorFlow推出半精度浮点量化工具包,还有在线Demo...

    鱼羊 发自 凹非寺 量子位 报道 公众号 QbitAI TensorFlow模型优化工具包又添一员大将 训练后的半精度浮点量化 float16 quantization 工具 有了它 就能在几乎不损失模型精度的情况下 将模型压缩至一半大小
  • 无监督学习K-means文本聚类实践

    无监督学习 Unsupervised Learning 希望能够发现数据本身的规律和模式 与有监督学习相比 无监督不需要对数据进行标记 这样可以节约大量的人力物力成本 某种程度上说 机器学习的终极目标就是无监督学习 从功能上看 无监督学习可