爱意满满的作品展示区。
enenaaa

尝试让程序看懂小说,并能按内容检索。

  •  1
     
  •   enenaaa · Apr 24, 2017 · 6528 views
    This topic created in 3333 days ago, the information mentioned may be changed or developed.

    目标是挖掘小说里的各种角色、剧情关系,在此基础上提供内容搜索,以及小说评点服务。 不过这些还太远了,目前只简单提取了人物关系链。

    https://www.boyunso.com/book/61872

    这个是选了较好的结果,大部分情况下错漏还有点明显。

    42 replies    2017-04-25 15:28:39 +08:00
    yongzhong
        1
    yongzhong  
       Apr 24, 2017
    通过词频来判断是否是人名吗?关系是通过介词?
    jyf
        2
    jyf  
       Apr 24, 2017
    不知道这个提取规则是什么 如何人肉去校验?
    hydyy
        3
    hydyy  
       Apr 24, 2017
    不错不错
    enenaaa
        4
    enenaaa  
    OP
       Apr 24, 2017   ❤️ 1
    @yongzhong
    @jyf
    人名判断用两种方式:
    1 、在分词时通过姓氏分出人名。
    2 、在语义分析阶段,通过特定句式判定。例如:张三说道:。。。, 就判断“张三”可能是人名,这种方式能找出非规则的人名,比如择天记里的天海姓氏。
    在前面的基础上,再通过词频和特定词筛掉候选人名。

    关系提取是一个是通过完整的关系句式判定,例如:张三作为李四的父亲。还有一个是通过上下文做推测, 目前准确率还不高。

    校验方式上,我还没做太多工作,主要靠人肉抽检样本。
    isvara
        5
    isvara  
       Apr 24, 2017
    用的什么处理的?
    lrxiao
        6
    lrxiao  
       Apr 24, 2017
    有意思
    jyf
        7
    jyf  
       Apr 24, 2017
    我主要是指第二种分析 因为句式很多 也未必是 xxx 说道这种 而你也不可能全列出来 所以我很感兴趣怎么自动弄出这种句式 另外有的说到 未必是有关系 大概你现在的人与人的关系就是 A 提到过 B 这样吧?
    Jackeriss
        8
    Jackeriss  
       Apr 24, 2017   ❤️ 1
    怎么解决一个人物有多个名字的问题呢?比如伏地魔又叫神秘人,其实原名是汤姆·里德尔。这种情况,这个人物关系图会把他们当成不同的人吧?
    hotStrip
        9
    hotStrip  
       Apr 24, 2017
    我觉得以后程序批量输出小说的话,马上就可以输出天蚕土豆和唐家三少这类小说。
    no13bus
        10
    no13bus  
       Apr 24, 2017
    这个用的是啥 js 库呢
    enenaaa
        11
    enenaaa  
    OP
       Apr 24, 2017
    @jyf
    @isvara

    基于上下文的关系推断,我做得不够深入,思路大体是:
    1 、在段内推断主语,宾语。例如:宁江提着宝剑,跑了过来,笑道: xxx 。 这 3 个分句的主语是同一个。
    2 、通过关系代词筛选段落。例如:宁小梦挽着哥哥的手臂。这个句子存在推断关系的可能。
    3 、在 1 和 2 的基础上,检索附近文本中的主语、宾语和特定语义, 判断出是否存在关系。

    可以看到,这个方法有准确性的问题。

    另外, 分析的前一步, 是分词和语义格式化。
    我首先创建词汇表、句法表、语义表,将句子格式化为已知语义的句法结构。 例如:你好 -> 招呼语义。 妹妹打我->主语是妹妹,谓语是打,宾语是我的指向动作语义。

    这个方式当然不能识别所有的句子, 对于一般的小说文本,目前识别率在 5%~10%之间。
    enenaaa
        12
    enenaaa  
    OP
       Apr 24, 2017
    @Jackeriss 是有这个问题, 我也没想到好的办法。也许关系链准确后, 可以通过人物关系消除。
    enenaaa
        13
    enenaaa  
    OP
       Apr 24, 2017
    @no13bus 百度的 echarts
    imn1
        14
    imn1  
       Apr 24, 2017   ❤️ 2
    无论准确率如何,我都觉得这个项目很有意思
    无论这个项目多有意思,我还是持怀疑态度看待

    其实,
    人与人之间的关系是相当复杂的,很多不能用语言文字描述
    但是,当人们以语言文字介绍一些关系时,却是用简化的方式介绍,实际分类很少,看看自己的 SNS 分组就知道,不至于有几百个组别吧?
    你可以从这个思路着眼,不要只想着“提取”,也可以用“排除”,从粗分类排除,再按细分类排除,加强准确率
    需要很多逻辑判断,几乎是一个语义分析的 AI bot 了,语义——逻辑库应该是重点

    例如:
    男性-->亲戚-->母亲家族-->长辈-->母亲的平辈-->舅舅
    男性-->工作-->长辈-->经理-->上司

    另外
    1.还要用多因素分析,如上面引入其他人(母亲)的关系辅助
    2.多重关系,如家族生意,既是亲戚,也是工作关系等等
    3.关系是双向的,例如逻辑出现“舅舅”,当然要同时得到“外甥”,不能单向推导

    总的来说,相当难,不过这第一个吃螃蟹,我是持支持态度,希望能持久做下去
    lcatt
        15
    lcatt  
       Apr 24, 2017
    目前检索速度很快,是只读取了一部分文字么?
    graetdk
        16
    graetdk  
       Apr 24, 2017
    赞啊,我对这个也很感兴趣,可以加我微信: Z3JlYXRkaw== (Base64 编码)
    enenaaa
        17
    enenaaa  
    OP
       Apr 24, 2017
    @lcatt 不是文本检索,而是通过关键字检索。 分析时生成人名、归类新词,输出关键字列表。在我机器上, 分析一本 2.5m 的小说大约需要 10 秒, 比较慢。
    lcatt
        18
    lcatt  
       Apr 24, 2017
    @enenaaa 我试了下,发现: 1.有些重要的角色没检索出, 2.出现了一些莫名的角色和关联,比如“马背上”。。。,以及很多只出现了几章的配角,所以才问是不是只读取了一部分内容而不是基于全本小说的。
    enenaaa
        19
    enenaaa  
    OP
       Apr 24, 2017
    @lcatt 嗯, 是只分析了前 250 章的内容。
    人名消歧也还存在问题,上一个版本纯粹的归类算法更严重, 这个版本好了不少 。还在改进中。
    jyf
        20
    jyf  
       Apr 24, 2017   ❤️ 1
    @enenaaa 这个关系推断我建议你多找网友训练 最后让他自己学习到这些
    solobat
        21
    solobat  
       Apr 24, 2017
    收藏了,希望越来越好
    enenaaa
        22
    enenaaa  
    OP
       Apr 24, 2017
    @jyf 你是说用 RNN , LSTM 之类的深度学习算法来建立特征吗, 我感觉这种方式工作量太大了,短期内很难有什么结果。
    xiubin
        23
    xiubin  
       Apr 24, 2017
    择天记 中 苟寒食和荀梅 是怎么发生关系的?
    https://www.boyunso.com/book/103392
    zzk819166453
        24
    zzk819166453  
       Apr 24, 2017 via Android
    很有意思😁
    jyf
        25
    jyf  
       Apr 24, 2017   ❤️ 1
    @enenaaa 那倒用不着神经网络 纯粹是贝叶斯那一套就行了 如果你只关心词性在句子中的排列问题 这个量并不大 也不复杂
    hzwei
        26
    hzwei  
       Apr 24, 2017
    哈哈哈,很有意思
    artandlol
        27
    artandlol  
       Apr 25, 2017 via Android
    这个不错
    红楼梦 百年孤独 家春秋 。。。
    WildCat
        28
    WildCat  
       Apr 25, 2017
    不错,赞一个!
    yuluofanchen
        29
    yuluofanchen  
       Apr 25, 2017 via iPhone
    记得有类似的,是读的三国。然后做成网站了。
    hythyt9898
        30
    hythyt9898  
       Apr 25, 2017
    试了下《大主宰》《天神诀》,貌似女主都识别不出来
    ahkxhyl
        31
    ahkxhyl  
       Apr 25, 2017
    https://www.boyunso.com/book/27817 貌似不太准吧? 关键词 大主宰
    ahkxhyl
        32
    ahkxhyl  
       Apr 25, 2017
    Rice
        33
    Rice  
       Apr 25, 2017
    有些意思,但是不准
    Troevil
        34
    Troevil  
       Apr 25, 2017
    想想那些反转剧,角色身份变换的.... 醉了
    enenaaa
        35
    enenaaa  
    OP
       Apr 25, 2017
    @xiubin 亲昵关系是用肢体接触动作判定的, 所以。。
    RUstKkin
        36
    RUstKkin  
       Apr 25, 2017
    wordvector 有用吗
    RUstKkin
        37
    RUstKkin  
       Apr 25, 2017
    避孕套头像。。。
    demo
        38
    demo  
       Apr 25, 2017
    看了一下,是只取了前面部分章节。
    enenaaa
        39
    enenaaa  
    OP
       Apr 25, 2017
    @RUstKkin 没有, 完全没有使用神经网络。 我希望分析是建立在稳定可信的基础上, 所以放弃了词向量。好在我也不是想要个通用的程序。
    ifaii
        40
    ifaii  
       Apr 25, 2017 via iPhone
    这个有意思
    SingeeKing
        41
    SingeeKing  
    PRO
       Apr 25, 2017
    校花的贴身高手

    vh2h
        42
    vh2h  
       Apr 25, 2017
    准不准是另外一个事儿~

    歪个楼~

    推荐下你喜欢的网络小说。谢谢
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   5716 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 106ms · UTC 03:23 · PVG 11:23 · LAX 20:23 · JFK 23:23
    ♥ Do have faith in what you're doing.