标签: frequency

确定特定术语的词频

我是一名非计算机科学专业的学生,​​正在撰写历史论文,涉及确定多个文本中特定术语的频率,然后随着时间的推移绘制这些频率以确定变化和趋势.虽然我已经想出如何确定给定文本文件的单词频率,但我正在处理(相对来说,对我来说)大量文件(> 100),并且为了一致性,我希望限制频率计数中包含的单词到一组特定的术语(有点像"停止列表"的反面)

这应该保持非常简单.最后,我需要的是我处理的每个文本文件的特定单词的频率,最好是电子表格格式(制表符描述文件),这样我就可以使用该数据创建图形和可视化.

我日常使用Linux,使用命令行很舒服,并且喜欢开源解决方案(或者我可以用WINE运行的东西).但这不是一个要求:

我看到两种解决这个问题的方法:

  1. 找到一种方法去除文本文件中的所有单词除了预定义列表,然后从那里进行频率计数,或者:
  2. 找到一种方法,仅使用预定义列表中的术语进行频率计数.

有任何想法吗?

linux text analysis frequency word-frequency

14
推荐指数
1
解决办法
5181
查看次数

C#为什么定时器频率极度偏离?

这两个System.Timers.TimerSystem.Threading.Timer火在离请求的那些相当不同的时间间隔.例如:

new System.Timers.Timer(1000d / 20);
Run Code Online (Sandbox Code Playgroud)

产生一个每秒发射16次而不是20次的计时器.

为了确保太长的事件处理程序没有副作用,我写了这个小测试程序:

int[] frequencies = { 5, 10, 15, 20, 30, 50, 75, 100, 200, 500 };

// Test System.Timers.Timer
foreach (int frequency in frequencies)
{
    int count = 0;

    // Initialize timer
    System.Timers.Timer timer = new System.Timers.Timer(1000d / frequency);
    timer.Elapsed += delegate { Interlocked.Increment(ref count); };

    // Count for 10 seconds
    DateTime start = DateTime.Now;
    timer.Enabled = true;
    while (DateTime.Now < start + TimeSpan.FromSeconds(10))
        Thread.Sleep(10);
    timer.Enabled = false;

    // Calculate …
Run Code Online (Sandbox Code Playgroud)

c# timer frequency deviation

14
推荐指数
3
解决办法
8269
查看次数

iOS FFT Accerelate.framework在播放期间绘制频谱

更新2016-03-15

请看一下这个项目:https://github.com/ooper-shlab/aurioTouch2.0-Swift.它已被移植到Swift并包含您正在寻找的每个答案,如果你在这里.


我做了很多研究,并学到了很多关于FFT和Accelerate Framework的知识.但经过几天的实验,我有点沮丧.

我想在图表中播放期间显示音频文件的频谱.对于每个时间间隔,它应该在X轴上通过FFT计算的每个频率(在我的情况下为512个值)显示Y轴上的数值(由红色条显示).

输出应如下所示: 在此输入图像描述

我用1024个样本填充缓冲区,仅为开头提取左侧通道.然后我做所有这些FFT的东西.

到目前为止,这是我的代码:

设置一些变量

- (void)setupVars  
{  
    maxSamples = 1024;

    log2n = log2f(maxSamples);  
    n = 1 << log2n;  

    stride = 1;  
    nOver2 = maxSamples/2;  

    A.realp = (float *) malloc(nOver2 * sizeof(float));  
    A.imagp = (float *) malloc(nOver2 * sizeof(float));  
    memset(A.imagp, 0, nOver2 * sizeof(float));

    obtainedReal = (float *) malloc(n * sizeof(float));  
    originalReal = (float *) malloc(n * sizeof(float));

    setupReal = vDSP_create_fftsetup(log2n, FFT_RADIX2);  
}
Run Code Online (Sandbox Code Playgroud)

做FFT.FrequencyArray只是一个包含512个浮点值的数据结构.

- (FrequencyArry)performFastFourierTransformForSampleData:(SInt16*)sampleData andSampleRate:(UInt16)sampleRate   
{  
    NSLog(@"log2n %i n %i, …
Run Code Online (Sandbox Code Playgroud)

fft frequency spectrum ios

14
推荐指数
1
解决办法
6925
查看次数

在MATLAB中根据信号数据确定频率

我有来自传感器的数据,我需要找到它的频率.它看起来fft()似乎是要走的路,但MATLAB文档只显示如何获得频率图,我不知道该怎么做.

这是我的数据:

在此输入图像描述

matlab signal-processing frequency noise

14
推荐指数
1
解决办法
6万
查看次数

NLTK令牌化 - 更快的方式?

我有一个方法,它接受一个String参数,并使用NLTK将字符串分解为句子,然后分成单词.然后,它将每个单词转换为小写,最后创建每个单词频率的字典.

import nltk
from collections import Counter

def freq(string):
    f = Counter()
    sentence_list = nltk.tokenize.sent_tokenize(string)
    for sentence in sentence_list:
        words = nltk.word_tokenize(sentence)
        words = [word.lower() for word in words]
        for word in words:
            f[word] += 1
    return f
Run Code Online (Sandbox Code Playgroud)

我应该进一步优化上面的代码,以加快预处理时间,并且不确定如何这样做.返回值显然应该与上面的完全相同,所以我希望使用nltk虽然没有明确要求这样做.

有什么方法可以加快上面的代码?谢谢.

python frequency tokenize time-complexity nltk

14
推荐指数
2
解决办法
1万
查看次数

绘制加权频率矩阵

这个问题与我之前提出的两个不同的问题有关:

1)重现频率矩阵图

2)为累积图添加95%置信区间

我希望在R中重现这个情节:boringmatrix

我已经做到这一点,使用图形下面的代码:的multiplot

#Set the number of bets and number of trials and % lines
numbet <- 36 
numtri <- 1000 
#Fill a matrix where the rows are the cumulative bets and the columns are the trials
xcum <- matrix(NA, nrow=numbet, ncol=numtri)
for (i in 1:numtri) {
x <- sample(c(0,1), numbet, prob=c(5/6,1/6), replace = TRUE)
xcum[,i] <- cumsum(x)/(1:numbet)
}
#Plot the trials as transparent lines so you can see the build up
matplot(xcum, type="l", xlab="Number of …
Run Code Online (Sandbox Code Playgroud)

r probability frequency matrix weighted

13
推荐指数
1
解决办法
955
查看次数

Python - 查找文本文件中单词列表的单词频率

我正在努力加快我的项目计算单词频率.我有360多个文本文件,我需要获得单词总数和来自另一个单词列表的每个单词出现的次数.我知道如何使用单个文本文件执行此操作.

>>> import nltk
>>> import os
>>> os.chdir("C:\Users\Cameron\Desktop\PDF-to-txt")
>>> filename="1976.03.txt"
>>> textfile=open(filename,"r")
>>> inputString=textfile.read()
>>> word_list=re.split('\s+',file(filename).read().lower())
>>> print 'Words in text:', len(word_list)
#spits out number of words in the textfile
>>> word_list.count('inflation')
#spits out number of times 'inflation' occurs in the textfile
>>>word_list.count('jobs')
>>>word_list.count('output')
Run Code Online (Sandbox Code Playgroud)

让"通货膨胀","就业","产出"的个人频率变得过于繁琐.我可以将这些单词放入列表中,同时查找列表中所有单词的频率吗?基本上用Python.

示例:而不是:

>>> word_list.count('inflation')
3
>>> word_list.count('jobs')
5
>>> word_list.count('output')
1
Run Code Online (Sandbox Code Playgroud)

我想这样做(我知道这不是真正的代码,这是我要求帮助的):

>>> list1='inflation', 'jobs', 'output'
>>>word_list.count(list1)
'inflation', 'jobs', 'output'
3, 5, 1
Run Code Online (Sandbox Code Playgroud)

我的单词列表将有10-20个术语,所以我需要能够将Python指向单词列表以获得计数.如果输出能够复制+粘贴到excel电子表格中,并且单词为列,频率为行,那也很好

例:

inflation, jobs, output
3, 5, 1
Run Code Online (Sandbox Code Playgroud)

最后,任何人都可以帮助自动化所有文本文件吗?我想我只是将Python指向文件夹,它可以从新列表中为每个360+文本文件计算上述字数.看起来很简单,但我有点卡住了.有帮助吗?

像这样的输出会很棒:Filename1通胀,工作,输出3,5,1 …

python text frequency

13
推荐指数
2
解决办法
5万
查看次数

在python中按频率排序列表

有没有办法(在python中),我可以按频率对列表进行排序?

例如,

[1,2,3,4,3,3,3,6,7,1,1,9,3,2]
Run Code Online (Sandbox Code Playgroud)

上面的列表将按其值的频率顺序排序,以创建以下列表,其中频率最高的项目位于前面:

[3,3,3,3,3,1,1,1,2,2,4,6,7,9]
Run Code Online (Sandbox Code Playgroud)

python indexing list frequency

13
推荐指数
2
解决办法
2万
查看次数

计算熵

我已经尝试了几个小时来计算熵,我知道我错过了什么.希望有人在这里可以给我一个想法!

编辑:我认为我的公式错了!

码:

 info <- function(CLASS.FREQ){
      freq.class <- CLASS.FREQ
      info <- 0
      for(i in 1:length(freq.class)){
        if(freq.class[[i]] != 0){ # zero check in class
          entropy <- -sum(freq.class[[i]] * log2(freq.class[[i]]))  #I calculate the entropy for each class i here
        }else{ 
          entropy <- 0
        } 
        info <- info + entropy # sum up entropy from all classes
      }
      return(info)
    }
Run Code Online (Sandbox Code Playgroud)

我希望我的帖子很清楚,因为这是我第一次在这里发帖.

这是我的数据集:

buys <- c("no", "no", "yes", "yes", "yes", "no", "yes", "no", "yes", "yes", "yes", "yes", "yes", "no")

credit <- c("fair", "excellent", "fair", …
Run Code Online (Sandbox Code Playgroud)

r frequency entropy

13
推荐指数
1
解决办法
2万
查看次数

制作一个字符串频率表

我正在尝试制作许多字符串的汇总表.我的数据如下:

x<-c("a", "a", "b", "c", "c", "c", "d")
Run Code Online (Sandbox Code Playgroud)

我如何一次分析每个字符串的重现?理想情况下,生成这样的频率表(我认为很容易按频率降低排序):

"a" 2
"b" 1
"c" 3
"d" 1
Run Code Online (Sandbox Code Playgroud)

analysis r frequency

12
推荐指数
2
解决办法
1万
查看次数