小编ari*_*riy的帖子

NER天真的算法

我从来没有真正处理NLP但是对NER有一个想法,这个想法不应该有效,并且在一个案例中表现得非常好.我不明白为什么它有效,为什么它不起作用或天气可以延长.

这个想法是通过以下方式提取故事中主要人物的名字:

  1. 为每个单词构建一个字典
  2. 在每个单词中填写一个列表,其中包含文本旁边显示的单词
  3. 为每个单词查找具有列表最大相关性的单词(意味着单词在文本中的使用方式相似)
  4. 鉴于故事中一个角色的名字,就像它一样使用的词也应该是(Bogus,这是不应该工作但是因为我从未处理过NLP,直到今天早上我才开始这天的天真)

我在爱丽丝梦游仙境上运行了过于简单的代码(附在下面),其中"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)

python nlp

4
推荐指数
1
解决办法
387
查看次数

标签 统计

nlp ×1

python ×1