2017-11-15 1 views
0

다음은 특정 단어를 분석하고 추출하는 데 필요한 여러 줄의 두 가지 예입니다.목록의 키워드와 파이썬의 단어 줄 맞추기

[40.748330000000003, -73.878609999999995] 6 2011-08-28 19:52:47 Sometimes I wish my life was a movie; #unreal I hate the fact I feel lonely surrounded by so many ppl 


[37.786221300000001, -122.1965002] 6 2011-08-28 19:55:26 I wish I could lay up with the love of my life And watch cartoons all day. 

좌표와 숫자가

사건이 존재하는 방법 각 트윗 라인에있는 단어의 많은 발견하는 키워드를 무시하는 목록 : 또한

['hate', 1] 
['hurt', 1] 
['hurting', 1] 
['like', 5] 
['lonely', 1] 
['love', 10] 

그리고, 각 트윗 라인에있는 키워드의 합계 (예 : [ 'love', ])를 찾으십시오. 문장

'I hate to feel lonely at times' 

혐오 = 1 외로운 = 1 대한 감정 값의 합계 예

는 2 그리고없이 동일하다. 줄의 단어 중 하나입니다.

나는 목록 방법으로 목록을 사용하려고 시도하고 심지어 각 문장과 키워드를 통해 가려고했지만, 그 때문에 효과가 없습니다. 짹짹과 키워드의 몇 가지이며 루프 형식을 사용하여 값을 찾아야합니다.

미리 통찰력을 알아보십시오 !! :)

내 코드 :

try: 
    KeywordFileName=input('Input keyword file name: ') 
    KeywordFile = open(KeywordFileName, 'r') 
except FileNotFoundError: 
    print('The file you entered does not exist or is not in the directory') 
    exit() 
KeyLine = KeywordFile.readline() 
while KeyLine != '': 
    if list != []: 
     KeyLine = KeywordFile.readline() 
     KeyLine = KeyLine.rstrip() 
     list = KeyLine.split(',') 
     list[1] = int(list[1]) 
     print(list) 
    else: 
     break 

try: 
    TweetFileName = input('Input Tweet file name: ') 
    TweetFile = open(TweetFileName, 'r') 
except FileNotFoundError: 
    print('The file you entered does not exist or is not in the directory') 
    exit() 

TweetLine = TweetFile.readline() 
while TweetLine != '': 
    TweetLine = TweetFile.readline() 
    TweetLine = TweetLine.rstrip() 
+0

코드를 게시하십시오. –

+0

내 코드를 추가했습니다. –

답변

1

당신은 단어를 추출 샘플 문자열에 그들 각각의 발생 수를 계산하는 토크 나이를 사용하는 간단한 정규 표현식을 사용할 수 있습니다.

from nltk.tokenize import word_tokenize 
import collections 
import re 

str = '[40.748330000000003, -73.878609999999995] 6 2011-08-28 19:52:47 Sometimes I wish my life was a movie; #unreal I hate the fact I feel lonely surrounded by so many ppl' 
num_regex = re.compile(r"[+-]?\d+(?:\.\d+)?") 
str = num_regex.sub('',str) 
words = word_tokenize(str) 
final_list = collections.Counter(words) 
print final_list 
관련 문제