我编写了自己的Stack类(相关代码见下文).在next()-方法我不得不投current.item来Item,但我不知道为什么.current.item应该已经是的类型,Item因此铸造不应该是必要的 - 但如果我不投,它会出错.
public class Stack<Item> implements Iterable<Item> {
private class Node {
Item item;
Node next;
}
private Node first= null;
public Iterator<Item> iterator() { return new StackIterator(); }
private class StackIterator<Item> implements Iterator<Item> {
private Node current = first;
public Item next(){
Item item = (Item)current.item;
current = current.next;
return item;
}
}
}
Run Code Online (Sandbox Code Playgroud) 重新编写:
我有一份计算机科学相关文件.我想提取特定于域的关键字.例如JAVA,C#,HTML,OOP,UML,Unity等.我一直在寻找类似牛津计算机词典的来源,但是他们的API还没有启动和运行.我也尝试过Webopedia用于计算机科学术语,但是那个并不是包容性的和更新的(例如它不包括我的文档中的某些单词,如F#),或者在维基百科的情况下,所有术语都没有列在一起.是否有更具包容性的来源或适当的方法来提取这些关键字?我正在使用Python和NLTK.例如,tf-idf没有帮助,因为一些特定于域的单词几乎在所有文档中都很常见,因此这些单词不会得到很高的评价.我认为如果我可以使用POS标签会有所帮助,但我不确定哪种选择最适合我的应用程序.以下面的字符串为例:
"JavaScript,JSON和AJAX中的专家级功能,以及对JQuery等JavaScript框架的深入了解"在这里,我想提取这些词:['JavaScript','JSON','AJAX','Frameworks','JQuery ']但是当我使用NLTK的POS标记搜索名词时,我也得到'水平','能力','知识'...... 谢谢你的帮助.
我正在构建一个推荐系统,根据他们的商品购买历史,我可以预测每个用户的最佳商品。我有 userIDs 和 itemIDs 以及 userID 购买了多少 itemID。我有数百万用户和数以千计的产品。并非所有产品都被购买(有些产品还没有人购买)。由于用户和项目很大,我不想使用单热向量。我正在使用 pytorch,我想创建和训练嵌入,以便我可以对每个用户-项目对进行预测。我跟着本教程https://pytorch.org/tutorials/beginner/nlp/word_embeddings_tutorial.html. 如果准确假设正在训练嵌入层,那么我是通过 model.parameters() 方法检索学习的权重还是应该使用 embedding.data.weight 选项?