我得到单词对,然后创建节点链接图。
要使我的节点链接图工作,我的对需要以这种格式出现
graph = ('one','two'),('two','three'),('three','one')
我在使用NTLK进行配对或我如何阅读文件时出错了
f = open("test.txt","r")
string = f.read()
tokens = nltk.word_tokenize(string)
pairs = [ " ".join(pair) for pair in nltk.bigrams(tokens)]
print (pairs)
#['one two', 'two three', 'three one']
这里只是尝试以不同的方式进行,但现在它正逐字符地读取文件
f = open("test.txt","r")
string = f.read()
a = nltk.bigrams(string)
print (list(a))
#[('o', 'n'), ('n', 'e'), ('e', ' '), (' ', 't'), ('t', 'w'), ('w', 'o'), ('o', ' '), (' ', 't'), ('t', 'h'), ('h', 'r'), ('r', 'e'), ('e', 'e'), ('e', ' '), (' ', 'o'), ('o', 'n'), ('n', 'e')]
现在尝试逐字阅读文件
with open('test.txt','r') as f:
for line in f:
for word in line.split(" "):
print (word)
但现在这是在一个单独的行上逐字逐句地进行,所以现在我得到了
#[('o', 'n'), ('n', 'e')]
答案 0 :(得分:0)
你的第一个解决方案已经结束了。 为什么加入?
这是一个解决问题的例子
import nltk
test = "one two tree four"
test_token = nltk.word_tokenize(test)
print(test_token)
bgram= nltk.bigrams(test_token)
print(list(bgram))
产生
['one', 'two', 'tree', 'four']
[('one', 'two'), ('two', 'tree'), ('tree', 'four')]