我从来没有真正处理NLP但是对NER有一个想法,这个想法不应该有效,并且在一个案例中表现得非常好.我不明白为什么它有效,为什么它不起作用或天气可以延长.
这个想法是通过以下方式提取故事中主要人物的名字:
我在爱丽丝梦游仙境上运行了过于简单的代码(附在下面),其中"Alice"返回:
21 ['老鼠','纬度','威廉','兔子','渡渡鸟','狮鹫','螃蟹','女王','公爵夫人','步兵','黑豹','卡特彼勒', '心','国王','比尔','鸽子','猫','帽匠','野兔','海龟','睡鼠']
虽然它过滤大写单词(并且接收"Alice"作为要聚集的单词),但最初有大约500个大写单词,并且就主要字符而言它仍然很有用.
虽然它给出了有趣的结果,但它与其他角色和其他故事的效果并不理想.
不知道这个想法是否可用,可扩展,或者为什么它在"爱丽丝"这个故事中完全有效?
谢谢!
#English Name recognition
import re
import sys
import random
from string import upper
def mimic_dict(filename):
dict = {}
f = open(filename)
text = f.read()
f.close()
prev = ""
words = text.split()
for word in words:
m = re.search("\w+",word)
if m == None:
continue
word = m.group()
if not prev in dict:
dict[prev] = [word]
else :
dict[prev] = dict[prev] + [word]
prev …Run Code Online (Sandbox Code Playgroud)