Java 查找YouTube视频中提到的单词的单词搜索
我正在尝试为视频列表实现一个趋势主题分析器。这相当于在标题和描述中索引单词用法。同样要注意和提及的是,我想要它在所有标点符号的位置 包含在“单词”中的“闪烁”与“闪烁”不同,它统计一个单词在标题和描述中多次出现的次数 我正在开发的应用程序基本上基于一个命令行应用程序,该应用程序可以检测Intelli j java上的YouTube趋势主题 我有一些代码是我创建的,但不确定如何为我的应用程序实现或执行这些代码 以下是代码:Java 查找YouTube视频中提到的单词的单词搜索,java,list,intellij-idea,set,youtube-data-api,Java,List,Intellij Idea,Set,Youtube Data Api,我正在尝试为视频列表实现一个趋势主题分析器。这相当于在标题和描述中索引单词用法。同样要注意和提及的是,我想要它在所有标点符号的位置 包含在“单词”中的“闪烁”与“闪烁”不同,它统计一个单词在标题和描述中多次出现的次数 我正在开发的应用程序基本上基于一个命令行应用程序,该应用程序可以检测Intelli j java上的YouTube趋势主题 我有一些代码是我创建的,但不确定如何为我的应用程序实现或执行这些代码 以下是代码: SomeCollection words (this could be a
SomeCollection words (this could be a set, list, map, etc)
for each video
for each word in video(title and description)
if (word is in words)
increment count for word in words
else
add word to words and set count to 1
end
associate video with word
end
end
我知道您需要集合框架中的类,如列表、映射和集合来实现这样的算法,但我不太确定如何实现。我能在这方面得到一些帮助吗?首先,问题的标题与内容有所不同,单词搜索与查找趋势主题有所不同 如果是趋势主题分析器 我得到的是,你需要实现某种搜索引擎,但没有正向索引 一般的观点是,首先将标题和描述连接起来,并拆分这个巨大的字符串(以获取单词),然后对每个视频执行此操作,然后删除所有的停止词(如A、the、was等),你可以很容易地找到所有的停止词列表,然后你必须为每个词找到根词,这是你将要存储在map(或list或任何东西,尽管map是最好的选择之一)-这一步是通过词干和柠檬化来实现的,您可以找到许多库来自动化这些任务。这是最初的文字处理,现在达到了目标 您将在初始字处理后获得的所有字(根)列成一个列表
Now you should be having:
-> dictionary : (all the root words of your dataset)
with probable datatype of list
-> freq_map : a map that maps word to its total
frequency in dictionary.
Iterate through all words in word dictionary
if word not in freq_map:
add it in freq_map
add it in nested map, map_f ( show below )
if current video_id not in map_f:
add it in in map_f with
freq in it
else:
increment frequency
else:
increment its frequency in freq_map
if current video_id not in map_f:
add it in in map_f with
freq in it
else:
increment frequency
完成所有这些操作后,您将得到反向索引,如下图所示:
{
'word1' : {
{'video1_id':word_freq},{'video2_id':word_freq}
} ,
'word2' : {
{'video1_id':word_freq},{'video2_id':word_freq}
},
.
.
}
您将在csv或JSON文件中存储map_f(解析JSON更容易),或者您可以使用
Java中的任何对象序列化方法
Scenarios :
your trending topic has to be one word topic -> above approach suffice.
topic could be multi word -> If you are not concerned about high accuracy then
still above method suffice.
如果这是你脑海中的想法,那么请继续阅读本网站:
希望能有帮助
若您想保持单词在标题和描述中的原样,只需不使用根查找步骤。
如果您想将单词在标题和描述中的出现分开,那么只需在地图中嵌套的第三级中使用如下内容:
'video1_id':{0:word_freq, 1:word_freq}
0 and 1 being the flags for location of word in either title or description.
SomeCollection单词
这是固定的单词列表吗?或者在程序执行期间它会改变吗?