2017-05-25 42 views
-1

我对编程非常陌生,我想知道如何为一个单词创建一个矢量,表示单词和它的邻居是否可以在单词包中找到我有。如何创建一个表示单词特征的矢量

假设,我的词汇列表['star','moon','sun']

和我有一个看起来像这样

['the','sun','is','brighter','than','the','moon','because','the','moon','only','reflects','light','from','the','sun','anyways','I','like','stars','the','best','.'] 

我想创建一个向量每个字文本[0,0,0]这是一个每个零代表词汇表中的相应单词,并且我有一个单词前后一个单词的上下文,该短语中每个单词的上下文向量将如下所示: [0,0,1](context:the sun ) sun [0,0,1](背景:太阳是) 是[0,0,1](背景:太阳明亮) ... 最好[0,0,0](背景:最好。) 。 [0,0,0](背景:最好)

现在我已经没有正在创建的三克的列表,看起来像这样:

[('$','the','sun'),('the','sun','is'),('sun','is','bright')...('the','best','.'),'('best','.','$')'] 

我认为,这样我可以检查是否在每个元组存在在词汇表中的项目,但我不知道我如何从这里继续前进,如果这是正确的做法。

我非常感谢您的帮助! 谢谢!

+0

欢迎来到StackOverflow。请阅读并遵守帮助文档中的发布准则。 [在主题](http://stackoverflow.com/help/on-topic)和[如何提问](http://stackoverflow.com/help/how-to-ask)适用于此处。 StackOverflow不是一个设计,编码,研究或教程服务。 – Prune

回答

0

所以你的问题简化为“如何找到单词列表中的单词的位置?”这是Python index功能,如

vector = [0, 0, 0] 
for pos in range (3): 
    word = trigram[pos] 
    vector[pos] = word_list.index(word) 

有更好的方法在Python做到这一点,但这是破碎成小步骤。在你自己做这件事之前,要非常小心做更多的NLP编程。

如果您要攻击NLP问题,我强烈建议您花一些时间学习编程第一个,与您的项目无关。在线搜索Python教程,学习如何使用文档,并逐步了解在此域中搜索所需的术语。