我发现一些在线代码可以帮助我完成我正在做的项目,问题是它使用了2个参数,其中一个是自己的。我不知道如何使用这样的功能,如果有人可以解释如何,我将非常感激。
这是代码
#code found online
def common_contexts(self, words, num=20):
"""
Find contexts where the specified words appear; list
most frequent common contexts first.
:param word: The word used to seed the similarity search
:type word: str
:param num: The number of words to generate (default=20)
:type num: int
:seealso: ContextIndex.common_contexts()
"""
if '_word_context_index' not in self.__dict__:
#print('Building word-context index...')
self._word_context_index = ContextIndex(self.tokens,
key=lambda s:s.lower())
try:
fd = self._word_context_index.common_contexts(words, True)
if not fd:
print("No common contexts were found")
else:
ranked_contexts = [w for w, _ in fd.most_common(num)]
print(tokenwrap(w1+"_"+w2 for w1,w2 in ranked_contexts))
except ValueError as e:
print(e)
#How I tried to call it, lines[1] is an array containing words
df=common_contexts(lines[1])
print(df)
我只是想查看输出,以便我可以判断是否可以在我的项目中使用此代码
答案 0 :(得分:3)
这是方法。您正在查看source code for nltk.text
,这是ContextIndex.common_contexts()
。
您需要创建ContextIndex
类的实例,然后调用该方法:
ci = ContextIndex(tokens)
df = ci.common_contexts(lines[1])
然后common_contexts
绑定到ci
实例。然后调用该方法会导致 Python 为self
参数提供值;调用该方法的实例。