我应该在Java中使用哪种数据结构来存储其句子中每个单词的词频以及它在另一个句子中的频率,即成对。每个节点必须有两个自己的频率和一个相邻的句子。对于文档中的每一对句子都必须重复这一点。它用它稍后找出标准余弦相似度。在Java中使用的数据结构
-1
A
回答
1
这是怎样的一个链表:
public class SentenceOccurencies {
// Key is the word, Value the count
public Map<String, Integer> occurrencies = new HashMap<String Integer>();
public SentenceOccurrencies neighbour;
}
随意添加访问器/增变等。
0
倒排索引是信息检索技术的最佳存储。所以你有一个从单词到地图的地图,以及多少次。
因此,对于两句话:
敏捷的棕色狐狸跳过了懒狗。 当狐狸跳起来时,懒狗睡了。
变为:
brown -> {1:1}
dog -> {1:1, 2:1}
fox -> {1:1, 2:1}
jumped -> {1:1, 2:1}
lazy -> {1:1, 2:1}
over -> {1:1}
quick -> {1:1}
slept -> {2:1}
the -> {1:2, 2:2}
while -> {2:1}
然后你可以随便去通过地图和提取所需的信息。这种结构的好处在于,您可以高效地存储多于两个句子!
+0
谢谢!请你详细说明代码或数据结构。而且,在这之后,我如何找到这两句话的标准余弦相似? – user1080383 2012-02-06 11:02:27
+2
我真的认为你应该尝试自己实现这一点,否则你什么都不会学。我已经给了你足够的信息来开始 - 如果你发现你已经做了什么。 – Robert 2012-02-06 11:06:56
相关问题
- 1. 使用java的数据结构
- 2. 数据结构用java
- 3. Java数据结构
- 4. Java数据结构
- 5. 在使用Java流的复杂数据结构中搜索
- 6. 在Java中创建类似于数据结构的结构
- 7. 的Java HasMap数据结构
- 8. 在Java中映射数据结构
- 9. 在Java中创建数据结构
- 10. 在java中实现数据结构
- 11. 在C++中使用Matlab数据结构?
- 12. 如何使用Java/Scala在内存中保存数据结构
- 13. 我应该在Java中使用哪种数据结构?
- 14. 我可以在Java中使用哪种数据结构?
- 15. Java - 利用可用的数据结构或创建新的数据结构
- 16. Java中的等效数据结构?
- 17. Java中的持久数据结构
- 18. Java中的Class Dictionary(数据结构)
- 19. Java中的数据结构和算法
- 20. Java中的分布式数据结构
- 21. 比较java中的结构化数据
- 22. Java中的SortedBiTreeMultimap数据结构?
- 23. 像java中的数据结构树
- 24. Java中的Trie数据结构
- 25. Java中contains()的最快数据结构?
- 26. Java中的复杂数据结构
- 27. 使用内存中的数据结构
- 28. DBMS中使用的数据结构
- 29. Java对象 - 数据结构
- 30. 结构java树型数据
作业吗? – Nishant 2012-02-06 10:18:16
“邻居句子”是什么意思?这是否意味着左边和右边的一句话?或者它意味着比现在的其他任何陈述? – Apurv 2012-02-06 10:40:33
它意味着比现在的每一个其他的陈述! – user1080383 2012-02-06 10:59:37