使用Tensorflow应用n-grams和TF-IDF

使用Tensorflow应用n-grams和TF-IDF,tensorflow,Tensorflow,我一直在尝试迁移我在scikit中编写的代码,并学习使用。scikit学习API非常有用,因为它允许您选择n-gram的粒度(字或字符级别)。 本质上,我有一个名称列表,我想创建一个名称分类模型 我想使用TensorFlow完成两个步骤: 将字符级别的n-grams提取应用于名称列表`范围2的示例:Alan Smith将是['Al','la','an','n','S','Sm','mi','it','th'] 根据上面生成的词汇表应用TF-IDF 我尝试过使用,但似乎唯一的选择是在单词级别使

我一直在尝试迁移我在scikit中编写的代码,并学习使用。scikit学习API非常有用,因为它允许您选择n-gram的粒度(字或字符级别)。 本质上,我有一个
名称
列表,我想创建一个
名称
分类模型

我想使用TensorFlow完成两个步骤:

  • 将字符级别的n-grams提取应用于名称列表`范围2的示例:Alan Smith将是
    ['Al','la','an','n','S','Sm','mi','it','th']

  • 根据上面生成的词汇表应用TF-IDF

  • 我尝试过使用,但似乎唯一的选择是在单词级别使用n-gram。
    任何关于如何完成此任务的见解。

    只需使用列表理解将输入本身更改为字符级别:

    x = 'Alan Smith'
    
    [[b for b in a] for a in x.split()]
    
    Out: [['A', 'l', 'a', 'n'], ['S', 'm', 'i', 't', 'h']]
    
    然后在该输入上使用ngrams功能或手动构建ngrams,如下所示:

    ngrams = [[''.join(b) for b in zip(a,a[1:])] for a in x.split()]
    
    Out: [['Al', 'la', 'an'], ['Sm', 'mi', 'it', 'th']]