文字中的单词位置

时间:2016-11-30 10:59:32

标签: python nltk

Python的NLTK包有一个函数色散图,它显示了文本中所选单词的位置。如果可以用python计算出这种色散的数值量?例如。我想测量天气这个词" money"是在文本中传播还是集中在一章?

1 个答案:

答案 0 :(得分:1)

我相信有多个指标可用于量化您定义的内容,作为一个单词在文本正文中的信息量。

方法

由于您提及章节和文本作为您希望评估的级别,因此基本方法将是相同的:

  1. 将给定文本分成章节
  2. 在章节和文本级别评估模型
  3. 比较章节和文本级别的评估
  4. 如果比较超过阈值,您可以声称它具有意义或信息量。根据模型,可以使用两个级别的其他指标。

    模型

    可以使用几种型号。

    原始计数

    单词的原始计数可用于章节和文本级别。可以使用百分比阈值来确定作为文本的代表的主题。

    例如,如果num_word_per_chapter/num_all_words_per_chapter > threshold和/或num_word_per_text/num_all_words_text > threshold,您可以声明它具有代表性。这可能是一个很好的基线。它本质上是一种类似bag-of-words的技术。

    向量空间模型

    Vector space models用于信息检索和分布语义。他们通常使用稀疏的计数向量或TF-IDF。将两个矢量与余弦相似性进行比较。更近的矢量具有更小的角度,被认为是“更相似”。

    您可以为文本正文创建章节项矩阵和平均余弦相似度指标。如果您声明的average_cos_sim > threshold可以提供更多信息。

    示例和难点

    这是一个带有NLTK的good example of VSM。这可能是一些开始进行一些测试的好地方。

    我预见的困难是:

    • 章节拆分
    • 查找信息阈值

    我目前无法为您提供更实用的基于代码的答案,但我希望这会为您提供一些选择。