簡體   English   中英

使用CRF + 0.58列車NE模型的失敗

[英]The failure in using CRF+0.58 train NE Model

當我使用CRF ++ 0.58對NE和progarm進行建模時出現問題:

“讀取訓練數據:tagger.cpp(399)[feature_index _-> buildFeatures(this)] 0.00s”

  1. 開發環境:
    • 紅帽linux 6.5,gcc 5.0,CRF ++ 0.58
  2. 書面功能模板:
    • 模板
  3. 數據集:
    • Boson_train.txt
    • Boson_test.txt
    • 第一列是單詞,第二列是pos,第三列是NER tagger
  4. 問題:
    • 當我想訓練NER模型時,我輸入此句子“ crf_learn -f 3 -c 4.0模板Boson_train crf_model”,並收到此通知,“正在讀取訓練數據:tagger.cpp(399)[feature_index _-> buildFeatures(this )] 0.00s“。 我聽不懂C ++語言,所以無法解決問題。
  5. 我嘗試的方法:
    • 1.更改數據集的編碼類型。 我使用notepad ++將“沒有BOM的utf-8”更改為“ utf-8”。 沒用
    • 2.將定界符從'\\ t'更改為''(空格)。 沒用
    • 3,我認為模板可能是錯誤的,所以我使用crf ++ 0.58 / example / seg / template進行測試。 有效。 但是此模板很簡單,因此我使用/ example / JapaneseNE / template,它與我的功能模板更相似。 沒用 然后,我檢查JapaneseNE示例。 所以我很困惑。 有沒有人可以幫助我。
  6. 模板

    • U00:%×[-2,0]
    • U01:%×[-1,0]
    • U02:%×[0,0]
    • U03:%×[1,0]
    • U04:%×[2,0]
    • U05:%×[-2,0] /%×[-1,0] /%×[0,0]
    • U06:%×[-1,0] /%×[0,0] /%×[1,0]
    • U07:%×[0,0] /%×[1,0] /%×[2,0]
    • U08:%×[-1,0] /%×[0,0]
    • U09:%×[0,0] /%×[1,0]

    • U10:%×[-2,1] /%×[0,1]

    • U11:%×[-2,1] /%×[1,1]
    • U11:%×[-1,1] /%×[0,1]
    • U12:%×[0,0] /%×[0,1]
    • U13:%×[0,1] /%×[1,1]
    • U14:%×[0,1] /%×[2,1]
    • U15:%×[-1,0] /%×[0,1]
    • U16:%×[-1,0] /%×[-1,1]
    • U17:%×[1,0] /%×[1,1]
    • U18:%×[1,0] /%×[1,1]
    • U19:%×[2,0] /%×[2,1]

    • U20:%×[-1,2]

    • U21:%×[-2,2]
    • U22:%×[0,1] /%×[-1,2]
    • U23:%×[0,1] /%×[-2,2]
    • U24:%×[0,0] /%×[-1,2]
    • U25:%×[0,0] /%×[-2,2]
    • U26:%×[-1,2] /%×[-2,2] /%×[0,1]
    • U27:%×[-2,2] /%×[0,1] /%×[1,1]
    • U28:%×[-1,1] /%×[-1,2] /%×[0,1]
    • U29:%×[-1,2] /%×[0,0] /%×[0,1]
  7. Boson_train
    • 浙江ns B_product_name
    • 在線b I_product_name
    • 杭州ns I_product_name
    • B_time 4 m
    • 月m I_time
    • I_時間25 m
    • 日m I_time
    • 傳出
    • (x出
    • 記者n Out
    • x出
    • x B_person_name
    • 施宇翔nr I_person_name
    • x出
    • 通訊員n B_person_name
    • x出
    • 方英nr B_person_name
    • )x出
    • 毒販n Out
    • 很zg出來
    • “ x出
    • 時髦nr Out
    • ” x出
    • ,x出
    • 用p Out
    • 微信vn B_product_name
    • 交易n
    • 毒品n Out
    • 沒v沒了
    • 料想v Out
    • 警察n B_person_name
    • 也d Out

您的調試方向正確。 問題確實出在您的模板文件上。

您的訓練數據有3列(列0: word ,列1: pos-tag和列2: tag )。

您不能將tag用作功能,但是您的模板文件在許多功能定義中都已引用了該tag (即第2列)(請參閱U20至U29)。 刪除/更正這些內容后,您的培訓應會起作用。

希望這可以幫助 :)

您還可以查看這些視頻教程,以更好地理解模板文件和使用CRF ++培訓NER:

1) https://youtu.be/GJHeTvDkIaE

2) https://youtu.be/Ur5umC4BwN4

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM